Skip to main content

Module gopher

Module gopher 

Source
Expand description

Gopher (RFC 1436) server.

One connection, one selector line, one reply, then the server closes — which is what RFC 1436 specifies (“the server sends the requested item and then closes the connection”) and what every real client needs, because a Gopher reply carries no length. curl reads until EOF and exits 28 if the server does not hang up. WHOIS in this repo keeps reading instead and documents the resulting hang as a known non-conformance; src/server/gopher/CLAUDE.md explains why this one does not repeat it.

Modules§

actions
Gopher (RFC 1436) protocol actions.

Structs§

GopherServer

Constants§

MAX_REQUEST_BYTES
A selector line longer than this is not a Gopher request. RFC 1436 puts no limit on it, but an unbounded read is a memory hole reachable by anyone who can open a socket.