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

# sasl\_setpass(3)

Check a plaintext password

## NAME

sasl\_setpass - Check a plaintext password

## SYNOPSIS

```
#include <sasl/sasl.h>
int sasl_setpass(sasl_conn_t *conn,
		       const char *user,
		       const char *pass, unsigned passlen,
                  const char *oldpass, unsigned oldpasslen,
                  unsigned flags)
```

## DESCRIPTION

**sasl\_setpass** will set passwords in the sasldb, and trigger the setpass callbacks for all available mechanisms.

*user* is the username to set the password for.

*pass* and *passlen* are the password to set and its length

*oldpass* and *oldpasslen* are the old password & its length (and are optional)

*flags* Are flags including SASL\_SET\_CREATE and SASL\_SET\_DISABLE (to cause the creating of nonexistent accounts and the disabling of an account, respectively)

## NOTES

*oldpass* and *oldpasslen* are unused in the Cyrus SASL implementation, though are passed on to any mechanisms that may require them.

## RETURN VALUE

Returns SASL\_OK on success. SASL error code on failure.

## CONFORMING TO

RFC 4422

## SEE ALSO

[sasl(3)](/sasl/3.md), [sasl\_errors(3)](/sasl_errors/3.md), [sasl\_checkpass(3)](/sasl_checkpass/3.md)
