Merge branch 'next' of ssh://down.oryx.com/oryx/aox into next
[aox:aox.git] / sasl / anonymous.cpp
1 // Copyright 2009 The Archiveopteryx Developers <info@aox.org>
2
3 /*! \class Anonymous anonymous.h
4     Implements anonymous SASL authentication (RFC 2245)
5
6     We issue an empty challenge and accept an email address in response.
7     The authentication succeeds if a user named "anonymous" exists. The
8     email address is logged.
9 */
10
11 #include "anonymous.h"
12
13
14 /*! Creates an anonymous SASL authentication object on behalf of \a c */
15
16 Anonymous::Anonymous( EventHandler *c )
17     : SaslMechanism( c, SaslMechanism::Anonymous )
18 {
19     setState( AwaitingInitialResponse );
20 }
21
22
23 void Anonymous::parseResponse( const EString &r )
24 {
25     log( "Anonymous login from '"+r+"'", Log::Debug );
26     setState( Authenticating );
27     setLogin( "anonymous" );
28     setSecret( "" );
29     execute();
30 }
31
32
33 void Anonymous::verify()
34 {
35     setState( Succeeded );
36 }