gsasl  1.10.0
About: GNU SASL is an implementation of the Simple Authentication and Security Layer (SASL). Development version.
  Fossies Dox: gsasl-1.10.0.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

callback.c File Reference
#include "internal.h"
Include dependency graph for callback.c:

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

◆ gsasl_callback()

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

gsasl_callback: @ctx: handle received from gsasl_init(), may be NULL to derive it from @sctx. @sctx: session handle. @prop: enumerated value of Gsasl_property type.

Invoke the application callback. The @prop 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 returns, or GSASL_NO_CALLBACK if no application was known.

Since: 0.2.0

Definition at line 75 of file callback.c.

References _gsasl_obsolete_callback(), Gsasl::cb, Gsasl_session::ctx, GSASL_NO_CALLBACK, and NULL.

Referenced by _gsasl_anonymous_server_step(), _gsasl_digest_md5_client_step(), _gsasl_external_server_step(), _gsasl_gs2_server_step(), _gsasl_gssapi_server_step(), _gsasl_login_server_step(), _gsasl_openid20_client_step(), _gsasl_openid20_server_step(), _gsasl_plain_server_step(), _gsasl_saml20_client_step(), _gsasl_saml20_server_step(), _gsasl_securid_server_step(), and gsasl_property_get().

◆ gsasl_callback_hook_get()

void* gsasl_callback_hook_get ( Gsasl ctx)

gsasl_callback_hook_get: @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 128 of file callback.c.

References Gsasl::application_hook.

◆ gsasl_callback_hook_set()

void gsasl_callback_hook_set ( Gsasl ctx,
void *  hook 
)

gsasl_callback_hook_set: @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 108 of file callback.c.

References Gsasl::application_hook.

◆ gsasl_callback_set()

void gsasl_callback_set ( Gsasl ctx,
Gsasl_callback_function  cb 
)

gsasl_callback_set: @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.

Referenced by main().

◆ gsasl_session_hook_get()

void* gsasl_session_hook_get ( Gsasl_session sctx)

gsasl_session_hook_get: @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 168 of file callback.c.

References Gsasl_session::application_hook.

◆ gsasl_session_hook_set()

void gsasl_session_hook_set ( Gsasl_session sctx,
void *  hook 
)

gsasl_session_hook_set: @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 148 of file callback.c.

References Gsasl_session::application_hook.