diff options
| author | Nicolas Clapies <nclapies@entrouvert.com> | 2005-02-24 16:38:46 +0000 |
|---|---|---|
| committer | Nicolas Clapies <nclapies@entrouvert.com> | 2005-02-24 16:38:46 +0000 |
| commit | d5c84febbb9863fb833bf3a6f25ba1b5c105d75c (patch) | |
| tree | b08a4a7c4ea8df47990b72ff4c13469303694d13 /lasso/id-wsf/authentication.h | |
| parent | 492e69a25a33c6acd51671ae934e734ff9148578 (diff) | |
| download | lasso-d5c84febbb9863fb833bf3a6f25ba1b5c105d75c.tar.gz lasso-d5c84febbb9863fb833bf3a6f25ba1b5c105d75c.tar.xz lasso-d5c84febbb9863fb833bf3a6f25ba1b5c105d75c.zip | |
Added support of cyrus libsasl in id-wsf authentication service.
Diffstat (limited to 'lasso/id-wsf/authentication.h')
| -rw-r--r-- | lasso/id-wsf/authentication.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/lasso/id-wsf/authentication.h b/lasso/id-wsf/authentication.h index dbc770a6..c99d7811 100644 --- a/lasso/id-wsf/authentication.h +++ b/lasso/id-wsf/authentication.h @@ -30,6 +30,8 @@ extern "C" { #endif /* __cplusplus */ +#include <sasl.h> + #include <lasso/id-wsf/wsf_profile.h> #include <lasso/xml/disco_description.h> @@ -48,9 +50,19 @@ typedef struct _LassoAuthentication LassoAuthentication; typedef struct _LassoAuthenticationClass LassoAuthenticationClass; typedef struct _LassoAuthenticationPrivate LassoAuthenticationPrivate; +typedef enum { + LASSO_SASL_OK = SASL_OK, /* 0 */ + LASSO_SASL_CONTINUE = SASL_CONTINUE, /* 1 */ + LASSO_SASL_INTERACT = SASL_INTERACT, /* 2 */ +} LassoSaslType; + struct _LassoAuthentication { LassoWsfProfile parent; + /* The SASL context kept for the life of the connection */ + sasl_conn_t *connection; /* FIXME : implement dispose method to release the connection */ + sasl_interact_t **client_interact; + /*< private >*/ LassoAuthenticationPrivate *private_data; }; @@ -63,9 +75,16 @@ LASSO_EXPORT GType lasso_authentication_get_type(void); LASSO_EXPORT LassoAuthentication* lasso_authentication_new(LassoServer *server); +LASSO_EXPORT gint lasso_authentication_client_start(LassoAuthentication *authentication); + +LASSO_EXPORT gint lasso_authentication_client_step(LassoAuthentication *authentication); + +LASSO_EXPORT char *lasso_authentication_get_mechanism_list(LassoAuthentication *authentication); + LASSO_EXPORT gint lasso_authentication_init_request(LassoAuthentication *authentication, LassoDiscoDescription *description, - const gchar *mechanism); + const char *mechanisms, + sasl_callback_t *callbacks); LASSO_EXPORT gint lasso_authentication_process_request_msg(LassoAuthentication *authentication, const gchar *soap_msg); @@ -73,6 +92,10 @@ LASSO_EXPORT gint lasso_authentication_process_request_msg(LassoAuthentication * LASSO_EXPORT gint lasso_authentication_process_response_msg(LassoAuthentication *authentication, const gchar *soap_msg); +LASSO_EXPORT gint lasso_authentication_server_start(LassoAuthentication *authentication); + +LASSO_EXPORT gint lasso_authentication_server_step(LassoAuthentication *authentication); + #ifdef __cplusplus } #endif /* __cplusplus */ |
