Class SaslConnection.

Inherits Connection. Inherited by IMAP, ManageSieve, POP and SMTP.

A connection that can engage in a SASL negotiation.

SaslConnection::SaslConnection( int fd, Type type )

Creates an Inactive type connection using fd.

Reimplements Connection::Connection().

void SaslConnection::close()

This reimplementation logs the connection in the connections table and cancels any other queries still running.

If the connection is closed as part of server shutdown, then it's probably too late to execute a new Query. We're tolerant of that.

Reimplements Connection::close().

void SaslConnection::recordAuthenticationFailure()

Used to count authentication failures for logging and statistics.

void SaslConnection::recordSyntaxError()

Used to count protocol syntax errors for logging and statistics.

void SaslConnection::sendChallenge( const EString & s )

= 0

This virtual function must be defined by SaslConnection subclasses. It is called by a SaslMechanism to send the challenge s, and is responsible for enqueue()ing a correctly-encoded version of it.

void SaslConnection::setUser( User * user, const EString & mechanism )

Informs this Connection that user has been authenticated using the named mechanism. After a call to this function, user() will return the specified user.

uint SaslConnection::syntaxErrors()

Returns the number of syntax errors seen so far.

User * SaslConnection::user() const

Returns a pointer to the authenticated User for this Connection, or 0 if a user has not yet been authenticated.


Obligatory virtual destructor.

Reimplements Connection::~Connection().

This web page based on source code belonging to The Archiveopteryx Developers. All rights reserved.