- Home
- Cyrus IMAP
- Download
- Contribute

# sasl_server_userdb_checkpass_t - Plaintext Password Verification Callback

## Synopsis

    #include <sasl/sasl.h>

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

## Description

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

  sasl_server_userdb_checkpass_t() is used to verify a plaintext password against the callback supplier’s user database. This is to allow additional ways to encode the userPassword property.

  Parameters:

  - conn – is the SASL connection context
  - 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 – property context to fill in with userPassword

## 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_callbacks(3) sasl_errors(3), sasl_server_userdb_setpass_t(3)