Inherits SaslConnection. Inherited by POPS.
This class implements a POP3 server.
The Post Office Protocol is defined by RFC 1939, and updated by RFC 1957 (which doesn't say much) and RFC 2449, which defines CAPA and other extensions. RFC 1734 defines an AUTH command for SASL authentication support, and RFC 2595 defines STARTTLS for POP3.
Creates a POP3 server for the fd s, and sends the initial banner.
This is used by PopCommand::user() to reset "sawUser" if a previous USER command failed. This is needed so that subsequent USER commands are not incorrectly rejected.
Returns the challenge sent at the beginning of this connection for use with APOP authentication.
Sends s as a negative -ERR response.
Records that message uid should be deleted when the POP server goes into Update state.
This is not written anywhere; the deletion state is kept in RAM only. If the client breaks the connection off, we don't delete.
Returns a pointer to the Message object with UID uid, or 0 if there isn't any.
Sends s as a positive +OK response.
Parses POP3 client commands.
The POP server maintains a list of commands received from the client and processes them one at a time in the order they were received. This function executes the first command in the list, or if the first command has completed, removes it and executes the next one.
It should be called when a new command has been created (i.e., by POP::parse()) or when a running command finishes.
Returns this POP server's Session object, or 0 if none has been specified with setSession.
Records the Message objects needed for this Pop session. Each of the Message objects is presumed to know its database ID, and may know more. m is a map from UID to Message objects.
Reserves the input stream for processing by cmd, which may be 0 to indicate that the input should be processed as usual. Used by AUTH to parse non-command input.
Reserves the input stream to inhibit parsing if r is true. If r is false, then the server processes input as usual. Used by STLS to inhibit parsing.
Sets this POP server's Session object to s.
Sets this server's state to s, which may be one of Authorization, Transaction, or Update (as defined in POP3::State).
If the state is set to Update, DELE actions are initiated. setState() returns immediately.
Returns the server's current state.
This web page based on source code belonging to The Archiveopteryx Developers. All rights reserved.