Next: , Previous: , Up: Introduction   [Contents][Index]


1.4 Requirements

The GNU SASL library does not have any required external dependencies, but some optional features are enabled if you have a specific external library.

LibNTLM

The NTLM mechanism requires the library LibNTLM, https://www.nongnu.org/libntlm/.

GSS-API

The GSSAPI and GS2-KRB5 mechanisms requires a GSS-API library, see GNU GSS (https://www.gnu.org/software/gss/). Libgssglue, MIT Kerberos, and Heimdal are also supported. You are encouraged to try Libgssglue (https://blog.josefsson.org/2022/07/14/towards-pluggable-gss-api-modules/).

LibIDN

Processing of non-ASCII usernames and passwords requires the SASLprep implementation in LibIDN (https://www.gnu.org/software/libidn/). This is needed for full conformance with the latest SASL protocol drafts, but is optional in the library for improved portability.

Libgcrypt

The GNU SASL library ships with its own cryptographic implementation, but it can use the one in libgcrypt (https://www.gnupg.org/) instead, if it is available. This is typically useful for desktop machines which have libgcrypt installed.

The command-line interface to GNU SASL requires a POSIX or Windows platform for network connectivity. The command-line tool can make use of GnuTLS (https://www.gnutls.org/) to support the STARTTLS modes of IMAP and SMTP, but GnuTLS is not required.

Note that the library does not need a POSIX platform or network connectivity.