CamelSasl

CamelSasl

Synopsis

                    CamelSasl;
GByteArray *        camel_sasl_challenge                (CamelSasl *sasl,
                                                         GByteArray *token,
                                                         CamelException *ex);
gchar *             camel_sasl_challenge_base64         (CamelSasl *sasl,
                                                         const gchar *token,
                                                         CamelException *ex);
CamelSasl *         camel_sasl_new                      (const gchar *service_name,
                                                         const gchar *mechanism,
                                                         CamelService *service);
gboolean            camel_sasl_get_authenticated        (CamelSasl *sasl);
void                camel_sasl_set_authenticated        (CamelSasl *sasl,
                                                         gboolean authenticated);
const gchar *       camel_sasl_get_mechanism            (CamelSasl *sasl);
CamelService *      camel_sasl_get_service              (CamelSasl *sasl);
const gchar *       camel_sasl_get_service_name         (CamelSasl *sasl);
GList *             camel_sasl_authtype_list            (gboolean include_plain);
CamelServiceAuthType * camel_sasl_authtype              (const gchar *mechanism);

Object Hierarchy

  GObject
   +----CamelObject
         +----CamelSasl
               +----CamelSaslAnonymous
               +----CamelSaslCramMd5
               +----CamelSaslDigestMd5
               +----CamelSaslGssapi
               +----CamelSaslLogin
               +----CamelSaslNTLM
               +----CamelSaslPlain
               +----CamelSaslPOPB4SMTP

Properties

  "authenticated"            gboolean              : Read / Write
  "mechanism"                gchar*                : Read / Write / Construct Only
  "service"                  CamelService*         : Read / Write / Construct Only
  "service-name"             gchar*                : Read / Write / Construct Only

Description

Details

CamelSasl

typedef struct _CamelSasl CamelSasl;


camel_sasl_challenge ()

GByteArray *        camel_sasl_challenge                (CamelSasl *sasl,
                                                         GByteArray *token,
                                                         CamelException *ex);

If token is NULL, generate the initial SASL message to send to the server. (This will be NULL if the client doesn't initiate the exchange.) Otherwise, token is a challenge from the server, and the return value is the response.

sasl :

a CamelSasl object

token :

a token, or NULL

ex :

a CamelException

Returns :

the SASL response or NULL. If an error occurred, ex will also be set.

camel_sasl_challenge_base64 ()

gchar *             camel_sasl_challenge_base64         (CamelSasl *sasl,
                                                         const gchar *token,
                                                         CamelException *ex);

As with camel_sasl_challenge, but the challenge token and the response are both base64-encoded.

sasl :

a CamelSasl object

token :

a base64-encoded token

ex :

a CamelException

Returns :

the base64 encoded challenge string

camel_sasl_new ()

CamelSasl *         camel_sasl_new                      (const gchar *service_name,
                                                         const gchar *mechanism,
                                                         CamelService *service);

service_name :

the SASL service name

mechanism :

the SASL mechanism

service :

the CamelService that will be using this SASL

Returns :

a new CamelSasl object for the given service_name, mechanism, and service, or NULL if the mechanism is not supported.

camel_sasl_get_authenticated ()

gboolean            camel_sasl_get_authenticated        (CamelSasl *sasl);

sasl :

a CamelSasl object

Returns :

whether or not sasl has successfully authenticated the user. This will be TRUE after it returns the last needed response. The caller must still pass that information on to the server and verify that it has accepted it.

camel_sasl_set_authenticated ()

void                camel_sasl_set_authenticated        (CamelSasl *sasl,
                                                         gboolean authenticated);

sasl :

a CamelSasl

authenticated :

whether we have successfully authenticated

Since 3.0


camel_sasl_get_mechanism ()

const gchar *       camel_sasl_get_mechanism            (CamelSasl *sasl);

sasl :

a CamelSasl

Returns :

Since 3.0


camel_sasl_get_service ()

CamelService *      camel_sasl_get_service              (CamelSasl *sasl);

sasl :

a CamelSasl

Returns :

Since 3.0


camel_sasl_get_service_name ()

const gchar *       camel_sasl_get_service_name         (CamelSasl *sasl);

sasl :

a CamelSasl

Returns :

Since 3.0


camel_sasl_authtype_list ()

GList *             camel_sasl_authtype_list            (gboolean include_plain);

include_plain :

whether or not to include the PLAIN mechanism

Returns :

a GList of SASL-supported authtypes. The caller must free the list, but not the contents.

camel_sasl_authtype ()

CamelServiceAuthType * camel_sasl_authtype              (const gchar *mechanism);

mechanism :

the SASL mechanism to get an authtype for

Returns :

a CamelServiceAuthType for the given mechanism, if it is supported.

Property Details

The "authenticated" property

  "authenticated"            gboolean              : Read / Write

Default value: FALSE


The "mechanism" property

  "mechanism"                gchar*                : Read / Write / Construct Only

Default value: NULL


The "service" property

  "service"                  CamelService*         : Read / Write / Construct Only


The "service-name" property

  "service-name"             gchar*                : Read / Write / Construct Only

Default value: NULL