SASL_CANON_USER_T(3SASL) Simple Authentication Security Layer Library Functions


NAME


sasl_canon_user_t - the canon user callback

SYNOPSIS


cc [ flag ... ] file ... -lsasl [ library ... ]
#include <sasl/sasl.h>

int sasl_canon_user_t(sasl_conn_t *conn, void *context, const char *user,
unsigned ulen, unsigned flags, const char *user_realm, char *out_user,
unsigned *out_umax, unsigned *out_ulen);


DESCRIPTION


The sasl_canon_user_t() interface is the callback function for an
application-supplied user canonical function. This function is subject to
the requirements of all canonical functions. It must copy the result into
the output buffers, but the output buffers and the input buffers can be
the same.

PARAMETERS


conn
The SASL connection context.


context
The context from the callback record.


user
User name. The form of user is not canonical.


ulen
Length of user. The form of ulen is not canonical.


flags
One of the following values, or a bitwise OR of both:

SASL_CU_AUTHID
Indicates the authentication ID is
canonical


SASL_CU_AUTHZID
Indicates the authorization ID is
canonical


user_realm
Realm of authentication.


out_user
The output buffer for the user name.


out_max
The maximum length for the user name.


out_len
The actual length for the user name.


RETURN VALUES


Like other SASL callback functions, sasl_canon_user_t() returns an
integer that corresponds to a SASL error code. See <sasl.h> for a
complete list of SASL error codes.

ERRORS


SASL_OK
The call to sasl_canon_user_t() was successful.


See sasl_errors(3SASL) for information on SASL error codes.

ATTRIBUTES


See attributes(5) for descriptions of the following attributes:


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Evolving |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+

SEE ALSO


sasl_errors(3SASL), sasl_server_new(3SASL), attributes(5)


October 27, 2003 SASL_CANON_USER_T(3SASL)