# &package_name; Reference Manual

for &package_string;. The latest version of this documentation can be found on-line at &package_url;reference/.

## &package_name; Reference Manual

GNU SASL is an implementation of the Simple Authentication and Security Layer (SASL) framework and a few common SASL mechanisms. SASL is used by network servers (e.g., IMAP, SMTP, XMPP) to request authentication from clients, and in clients to authenticate against servers.

GNU SASL consists of a C library (libgsasl), a command-line application (gsasl), and a manual. The library supports the ANONYMOUS, CRAM-MD5, DIGEST-MD5, EXTERNAL, GS2-KRB5, GSSAPI, LOGIN, NTLM, OPENID20, PLAIN, SCRAM-SHA-1, SCRAM-SHA-1-PLUS, SCRAM-SHA-256, SCRAM-SHA-256-PLUS, SAML20, and SECURID mechanisms.

The design of the library and the intended interaction between applications and the library through the official API is shown in .

Illustration of separation between application and individual mechanism

The operation of an application using the library can best be understood in terms of a flow chart diagram, as shown in . The details on how the actual negotiation are carried out are illustrated in .

High-level control flow of SASL application

Low-level control flow of SASL application

API Index

Index of deprecated API

Index of new API in 0.2.0

Index of new API in 0.2.2

Index of new API in 0.2.3

Index of new API in 0.2.14

Index of new API in 0.2.19

Index of new API in 0.2.28

Index of new API in 0.2.29

Index of new API in 1.1

Index of new API in 1.10

Index of new API in 2.0.0