callback.c File Reference

#include "internal.h"

Go to the source code of this file.

Functions

void gsasl_callback_set (Gsasl *ctx, Gsasl_callback_function cb)
int gsasl_callback (Gsasl *ctx, Gsasl_session *sctx, Gsasl_property prop)
void gsasl_callback_hook_set (Gsasl *ctx, void *hook)
void * gsasl_callback_hook_get (Gsasl *ctx)
void gsasl_session_hook_set (Gsasl_session *sctx, void *hook)
void * gsasl_session_hook_get (Gsasl_session *sctx)


Function Documentation

int gsasl_callback ( Gsasl ctx,
Gsasl_session sctx,
Gsasl_property  prop 
)

gsasl_callback:

Parameters:
ctx handle received from gsasl_init(), may be NULL to derive it from .
sctx session handle.
prop enumerated value of Gsasl_property type.
Invoke the application callback. The value indicate what the callback is expected to do. For example, for GSASL_ANONYMOUS_TOKEN, the function is expected to invoke gsasl_property_set(SCTX, GSASL_ANONYMOUS_TOKEN, "token") where "token" is the anonymous token the application wishes the SASL mechanism to use. See the manual for the meaning of all parameters.

Note that if no callback has been set by the application, but the obsolete callback interface has been used, this function will translate the old callback interface into the new. This interface should be sufficient to invoke all callbacks, both new and old.

Return value: Returns whatever the application callback return, or GSASL_NO_CALLBACK if no application was known.

Since: 0.2.0

Definition at line 75 of file callback.c.

References Gsasl_session::anonymous_token, Gsasl_session::authid, Gsasl_session::authzid, Gsasl::cb, Gsasl_session::ctx, GSASL_NO_CALLBACK, GSASL_OK, GSASL_PASSWORD, gsasl_property_set(), gsasl_property_set_raw(), gsasl_server_callback_anonymous_get(), gsasl_server_callback_external_get(), gsasl_server_callback_gssapi_get(), gsasl_server_callback_retrieve_get(), gsasl_server_callback_securid_get(), gsasl_server_callback_validate_get(), GSASL_SUGGESTED_PIN, GSASL_VALIDATE_ANONYMOUS, GSASL_VALIDATE_EXTERNAL, GSASL_VALIDATE_GSSAPI, GSASL_VALIDATE_SECURID, GSASL_VALIDATE_SIMPLE, Gsasl_session::gssapi_display_name, Gsasl_session::hostname, Gsasl_session::passcode, Gsasl_session::password, and Gsasl_session::pin.

Referenced by _gsasl_anonymous_server_step(), _gsasl_digest_md5_client_step(), _gsasl_external_server_step(), _gsasl_gssapi_server_step(), _gsasl_login_server_step(), _gsasl_plain_server_step(), _gsasl_securid_server_step(), and gsasl_property_get().

void* gsasl_callback_hook_get ( Gsasl ctx  ) 

gsasl_callback_hook_get:

Parameters:
ctx libgsasl handle.
Retrieve application specific data from libgsasl handle.

The application data is set using gsasl_callback_hook_set(). This is normally used by the application to maintain a global state between the main program and callbacks.

Return value: Returns the application specific data, or NULL.

Since: 0.2.0

Definition at line 206 of file callback.c.

References Gsasl::application_hook.

void gsasl_callback_hook_set ( Gsasl ctx,
void *  hook 
)

gsasl_callback_hook_set:

Parameters:
ctx libgsasl handle.
hook opaque pointer to application specific data.
Store application specific data in the libgsasl handle.

The application data can be later (for instance, inside a callback) be retrieved by calling gsasl_callback_hook_get(). This is normally used by the application to maintain a global state between the main program and callbacks.

Since: 0.2.0

Definition at line 186 of file callback.c.

References Gsasl::application_hook.

void gsasl_callback_set ( Gsasl ctx,
Gsasl_callback_function  cb 
)

gsasl_callback_set:

Parameters:
ctx handle received from gsasl_init().
cb pointer to function implemented by application.
Store the pointer to the application provided callback in the library handle. The callback will be used, via gsasl_callback(), by mechanisms to discover various parameters (such as username and passwords). The callback function will be called with a Gsasl_property value indicating the requested behaviour. For example, for GSASL_ANONYMOUS_TOKEN, the function is expected to invoke gsasl_property_set(CTX, GSASL_ANONYMOUS_TOKEN, "token") where "token" is the anonymous token the application wishes the SASL mechanism to use. See the manual for the meaning of all parameters.

Since: 0.2.0

Definition at line 44 of file callback.c.

References Gsasl::cb.

void* gsasl_session_hook_get ( Gsasl_session sctx  ) 

gsasl_session_hook_get:

Parameters:
sctx libgsasl session handle.
Retrieve application specific data from libgsasl session handle.

The application data is set using gsasl_callback_hook_set(). This is normally used by the application to maintain a per-session state between the main program and callbacks.

Return value: Returns the application specific data, or NULL.

Since: 0.2.14

Definition at line 246 of file callback.c.

References Gsasl_session::application_hook.

void gsasl_session_hook_set ( Gsasl_session sctx,
void *  hook 
)

gsasl_session_hook_set:

Parameters:
sctx libgsasl session handle.
hook opaque pointer to application specific data.
Store application specific data in the libgsasl session handle.

The application data can be later (for instance, inside a callback) be retrieved by calling gsasl_session_hook_get(). This is normally used by the application to maintain a per-session state between the main program and callbacks.

Since: 0.2.14

Definition at line 226 of file callback.c.

References Gsasl_session::application_hook.


Generated on Tue Aug 22 12:06:07 2006 for gsasl by  doxygen 1.4.7