Vortex SASL: SASL profile support and related functions


Defines

#define VORTEX_SASL_ANONYMOUS   "http://iana.org/beep/SASL/ANONYMOUS"
 ANONYMOUS profile identification to be used at vortex_sasl_start_auth or vortex_sasl_accept_negociation.
#define VORTEX_SASL_CRAM_MD5   "http://iana.org/beep/SASL/CRAM-MD5"
 CRAM-MD5 profile identification to be used at vortex_sasl_start_auth or vortex_sasl_accept_negociation.
#define VORTEX_SASL_DIGEST_MD5   "http://iana.org/beep/SASL/DIGEST-MD5"
 DIGEST-MD5 profile identification to be used at vortex_sasl_start_auth or vortex_sasl_accept_negociation.
#define VORTEX_SASL_EXTERNAL   "http://iana.org/beep/SASL/EXTERNAL"
 EXTERNAL profile identification to be used at vortex_sasl_start_auth or vortex_sasl_accept_negociation.
#define VORTEX_SASL_GSSAPI   "http://iana.org/beep/SASL/GASSAPI"
 GSSAPI profile identification to be used at vortex_sasl_start_auth or vortex_sasl_accept_negociation.
#define VORTEX_SASL_KERBEROS_V4   "http://iana.org/beep/SASL/KERBEROS_V4"
 KERBEROS_V4 profile identification to be used at vortex_sasl_start_auth or vortex_sasl_accept_negociation.
#define VORTEX_SASL_PLAIN   "http://iana.org/beep/SASL/PLAIN"
 PLAIN profile identification to be used at vortex_sasl_start_auth or vortex_sasl_accept_negociation.

Enumerations

enum  VortexSaslProperties {
  VORTEX_SASL_AUTH_ID = 1, VORTEX_SASL_AUTHORIZATION_ID = 2, VORTEX_SASL_PASSWORD = 3, VORTEX_SASL_REALM = 4,
  VORTEX_SASL_ANONYMOUS_TOKEN = 5
}
 Set of properties to be used to configure client authentication. More...

Functions

gboolean vortex_sasl_accept_negociation (gchar *mech)
 Allows to configure current Vortex Library process to accept incoming SASL negotiations.
gchar * vortex_sasl_get_propertie (VortexConnection *connection, VortexSaslProperties prop)
 Allows to get current SASL properties from the given connection.
gboolean vortex_sasl_is_authenticated (VortexConnection *connection)
 Allows to check if the given connection have been successfully authenticated.
gboolean vortex_sasl_is_enabled ()
 Allows to check and initialize SASL support for Vortex Library.
void vortex_sasl_set_anonymous_validation (VortexSaslAuthAnonymous auth_handler)
 Allows to set current auth validation handler for the the SASL ANONYMOUS profile.
void vortex_sasl_set_cram_md5_validation (VortexSaslAuthCramMd5 auth_handler)
 Allows to set the validation handler to be used while authenticating CRAM-MD5 SASL profile.
void vortex_sasl_set_digest_md5_validation (VortexSaslAuthDigestMd5 auth_handler)
 Allows to set current auth validation handler for the the SASL DIGEST-MD5 profile.
void vortex_sasl_set_external_validation (VortexSaslAuthExternal auth_handler)
 Allows to set current auth validation handler for the the SASL EXTERNAL profile.
void vortex_sasl_set_plain_validation (VortexSaslAuthPlain auth_handler)
 Allows to set the validation handler to be used while authenticating PLAIN SASL profile.
gboolean vortex_sasl_set_propertie (VortexConnection *connection, VortexSaslProperties prop, gchar *value, GDestroyNotify value_destroy)
 Allows to configure SASL properties used for the SASL authentication process.
void vortex_sasl_start_auth (VortexConnection *connection, gchar *profile, VortexSaslAuthNotify process_status, gpointer user_data)
 Begin SASL authentication process using the selected profile.
void vortex_sasl_start_auth_sync (VortexConnection *connection, gchar *profile, VortexStatus *status, gchar **status_message)
 Perform SASL negotiation in a synchronous mode (blocking the caller until process finish).