---
name: "sasl_server_init"
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_server_init"
---

# sasl\_server\_init(3)

Cyrus SASL documentation

## NAME

sasl\_server\_init - Cyrus SASL documentation

## SYNOPSIS

```
#include <sasl/sasl.h>
int sasl_server_init(const sasl_callback_t *callbacks,
                     const char *appname);
```

## DESCRIPTION

- **int sasl\_server\_init(const sasl\_callback\_t \*callbacks,**

  - **const char \*appname);**

  **sasl\_server\_init()** initializes SASL.  It  must  be  called before  any  calls to sasl\_server\_start, and only once per process.  This call initializes all SASL mechanism drivers (e.g.  authentication mechanisms). These are usually found in the /usr/lib/sasl2 directory but the directory  may  be overridden  with the SASL\_PATH environment variable (or at compile time).

  - **Parameters**

    - •

      **callbacks** – specifies the base callbacks for all client connections. See the *[sasl\_callbacks(3)](/sasl_callbacks/3.md)* man page for more information.

    - •

      **appname** – is the name of the application.  It  is  used to find the default configuration file.

## 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 either be handled or the authentication session should be quit.

## SEE ALSO

*RFC 4422*,:saslman:*[sasl(3)](/sasl/3.md)*, *[sasl\_callbacks(3)](/sasl_callbacks/3.md)*, *[sasl\_server\_new(3)](/sasl_server_new/3.md)*, *[sasl\_server\_start(3)](/sasl_server_start/3.md)*, *[sasl\_server\_step(3)](/sasl_server_step/3.md)*, *[sasl\_errors(3)](/sasl_errors/3.md)*

## AUTHOR

The Cyrus Team

## COPYRIGHT

1993-2016, The Cyrus Team
