---
name: "sasl_setpass"
section: "3"
platform: "linux"
package: "libsasl2-dev"
version: "2.1.28+dfsg1-9"
release: "Debian 13 (Trixie)"
platforms: ["linux", "macos"]
url: "https://new.carta.tech/sasl_setpass"
---

# sasl\_setpass(3)

Cyrus SASL documentation

## NAME

sasl\_setpass - Cyrus SASL documentation

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

- **int sasl\_setpass(sasl\_conn\_t \*conn,**

  - **const char \*user,**

  - **const char \*pass, unsigned passlen,**

  - **const char \*oldpass, unsigned oldpasslen,**

  - **unsigned flags)**

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

  - **Parameters**

    - •

      **conn** – is the SASL connection context

    - •

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

    - •

      **pass** – the password to set

    - •

      **passlen** – length of the password to set (*pass*)

    - •

      **oldpass** – optional. The old password.

    - •

      **oldpasslen** – optional. The old password length.

    - •

      **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)

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

## 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/3.md)*, *[sasl\_errors(3)](/sasl_errors/3.md)*, *[sasl\_checkpass(3)](/sasl_checkpass/3.md)*

## AUTHOR

The Cyrus Team

## COPYRIGHT

1993-2016, The Cyrus Team
