1 // Copyright 2009 The Archiveopteryx Developers <info@aox.org>
6 /*! \class SaslLogin sasllogin.h
7 Implement SASL LOGIN authentication.
9 LOGIN is a non-standard SASL authentication mechanism, described in
10 the now-abandoned draft-murchison-sasl-login-*.txt
12 We issue the standard "User Name" and "Password" challenges, not the
13 permitted alternative "Username:" and "Password:".
15 (This class is not named just "Login" because of the IMAP command of
20 /*! Creates a new SaslLogin object on behalf of \a c. */
22 SaslLogin::SaslLogin( EventHandler * c )
23 : SaslMechanism( c, SaslMechanism::Login )
28 EString SaslLogin::challenge()
30 if ( login().isEmpty() )
37 void SaslLogin::parseResponse( const EString &s )
39 if ( login().isEmpty() ) {
45 setState( IssuingChallenge );
50 setState( Authenticating );