SASLSession Class Reference

An SASL client session. More...

Inheritance diagram for SASLSession:
Inheritance graph
[legend]
Collaboration diagram for SASLSession:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ~SASLSession ()
 SASLSession (const string &serviceName, ref< SASLContext > ctx, ref< authenticator > auth, ref< SASLMechanism > mech)
void init ()
ref< authenticatorgetAuthenticator ()
ref< SASLMechanismgetMechanism ()
ref< SASLContextgetContext ()
bool evaluateChallenge (const byte_t *challenge, const int challengeLen, byte_t **response, int *responseLen)
ref< net::socketgetSecuredSocket (ref< net::socket > sok)
const string getServiceName () const

Detailed Description

An SASL client session.


Constructor & Destructor Documentation

~SASLSession (  ) 
SASLSession ( const string serviceName,
ref< SASLContext ctx,
ref< authenticator auth,
ref< SASLMechanism mech 
)

Construct a new SASL session.

Parameters:
serviceName name of the service using this session
ctx SASL context
auth authenticator to use for this session
mech SASL mechanism

Member Function Documentation

bool evaluateChallenge ( const byte_t challenge,
const int  challengeLen,
byte_t **  response,
int *  responseLen 
)

Perform one step of SASL authentication.

Accept data from the server (challenge), process it and return data to be returned in response to the server.

Parameters:
challenge challenge sent from the server
challengeLen length of challenge
response response to send to the server (allocated by this function, free with delete[])
responseLen length of response buffer
Returns:
true if authentication terminated successfully, or false if the authentication process should continue
Exceptions:
exceptions::sasl_exception if an error occured during authentication (in this case, the values in 'response' and 'responseLen' are undetermined)
ref< authenticator > getAuthenticator (  ) 

Return the authenticator used for this session.

This is the authenticator which has been previously set with a call to setAuthenticator().

Returns:
authenticator object
ref< SASLContext > getContext (  ) 

Return the SASL context.

Returns:
SASL context
ref< SASLMechanism > getMechanism (  ) 

Return the mechanism used for this session.

Returns:
SASL mechanism
ref< net::socket > getSecuredSocket ( ref< net::socket sok  ) 

Return a socket in which transmitted data is integrity and/or privacy protected, depending on the QOP (Quality of Protection) negotiated during the SASL authentication.

Parameters:
sok socket to wrap
Returns:
secured socket
const string getServiceName (  )  const

Return the name of the service which is using this SASL session (eg.

"imap"). This value should be returned by the authenticator when INFO_SERVICE is requested.

Returns:
service name
void init (  ) 

Initialize this SASL session.

This must be called before calling any other method on this object (except accessors).


The documentation for this class was generated from the following files:

Generated by  doxygen 1.6.2