SYNOPSIS

#include <sasl/sasl.h>

DESCRIPTION

sasl_callbacks are used when the application needs some information from the application. Common reasons are getting for getting usernames and passwords. A client MUST specify what callbacks they support in the sasl_client/server_init() or sasl_client/server_new() calls. If an authentication mechanism needs a callback that the application does not state it supports it cannot be used.

If a callback has an id parameter that should be checked to make sure you are giving the appropriate value.

If an application is using the client side of the library functions to handle the callbacks are not necessary. Instead the application may deal with callbacks via SASL_INTERACT's. See sasl_client_start/step() for more information.

The list of callbacks follows:

Common Callbacks

sasl_getopt_t

Get an option value

sasl_log_t

Log message handler

sasl_getpath_t

Get path to search for plugins (e.g. SASL mechanisms)

sasl_verifyfile_t

Verify files for use by SASL

sasl_canon_user_t

Username canonicalization function.

Client-only Callbacks

sasl_getsimple_t

Get user/language list

sasl_getsecret_t

Get authentication secret

sasl_chalprompt_t

Display challenge and prompt for response

sasl_getrealm_t

Get the realm for authentication

Server-only Callbacks

sasl_authorize_t

Authorize policy callback

sasl_server_userdb_checkpass_t

verify plaintext password

sasl_server_userdb_setpass_t

set plaintext password

sasl_getconfpath_t

Get path to search for SASL configuration file (server side only). New in SASL 2.1.22.

RETURN VALUE

SASL callback functions should return SASL return codes. See sasl.h for a complete list. SASL_OK typically indicates success.

CONFORMING TO

RFC 4422

RELATED TO sasl_callbacks…