# sasl_server_userdb_setpass_t - UserDB Plaintext Password Setting Callback

## Synopsis

    #include <sasl/sasl.h>

    int sasl_server_userdb_setpass_t(sasl_conn_t *conn,
                                     void *context,
                                     const char *user,
                                     const char *pass,
                                     unsigned passlen,
                                     struct propctx *propctx,
                                     unsigned flags)

## Description

int sasl_server_userdb_setpass_t(sasl_conn_t *conn,
void *context,
const char *user,
const char *pass,
unsigned passlen,
struct propctx *propctx,
unsigned flags)

  sasl_server_userdb_setpass_t is used to store or change a plaintext password in the callback‐supplier’s user database.

  Parameters:

    - conn – is the SASL connection

    - context – context from the callback record

    - user – NUL terminated user name with user@realm syntax

    - pass – password to check (may not be NUL terminated)

    - passlen – length of the password

    - propctx – Auxilliary Properties (not stored)

    - flags – These are the same flags that are passed to sasl_setpass(3), and are documented on that man page.

## Return Value

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

Other return codes indicate errors and should be handled.

## See Also

RFC 4422,:saslman:sasl(3), sasl_errors(3) sasl_callbacks(3), sasl_server_userdb_checkpass_t(3), sasl_setpass(3)