---
name: "sasl_canon_user_t"
section: "3"
platform: "macos"
package: "passwordserver_sasl"
version: "215"
release: "macOS 26.5"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/sasl_canon_user_t"
---

# sasl\_canon\_user\_t(3)

Plaintext Password Verification Callback

## NAME

sasl\_server\_userdb\_checkpass\_t - Plaintext Password Verification Callback

## SYNOPSIS

```
#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

**sasl\_canon\_user\_t** Is the callback for an application-supplied user canonicalization function. This function is subject to the requirements that all user canonicalization functions are: It must copy the result into the output buffers, but the output buffers and the input buffers may be the same.

*context* context from the callback record

*user* and *ulen* Un-canonicalized username (and length)

*flags* Either SASL\_CU\_AUTHID (indicating the authentication ID is being canonicalized) or SASL\_CU\_AUTHZID (indicating the authorization ID is to be canonicalized) or a bitwise OR of the the two.

*user\_realm* Realm of authentication.

*out\_user* and *out\_umax* and *out\_ulen* The output buffer, max length, and actual length for the username.

## RETURN VALUE

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

## SEE ALSO

[sasl(3)](/sasl/3.md), [sasl\_callbacks(3)](/sasl_callbacks/3.md), [sasl\_errors(3)](/sasl_errors/3.md)
