# &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 abstraction.

### 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 controlflow. The details on how the actual negotiation are carried out are illustrated in controlflow2.

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