SASL in Rust

![Latest Version] ![docs] ![maintenance]

rsasl is an implementation of the Simple Authentication and Security Layer — SASL.

Currently it uses gsasl-sys which are bindings to GNU gsasl, that however may change in the future.

Since it links to gsasl rsasl can provide a large number of mechanisms: - EXTERNAL - ANONYMOUS - PLAIN - LOGIN - CRAM-MD5 - DIGEST-MD5 - SCRAM-SHA-1 - SCRAM-SHA-256 - NTLM - SECURID - GSSAPI - GS2-KRB5 - SAML20 - OPENID20 - KERBEROS_V5

Alternatives

Please see sasl-rs for a pure Rust SASL implementation. It provides less Mechanisms but does not need unsafe like rsasl does due to it's FFI-bindings and does not rely on an old (albeit well written) C library.

Examples

You can find a few examples on GitHub.

Stability & Development

rsasl is currently in stable maintenance mode. While there are no plans to extend this crate with additional features or mechanism, issues and especially security-related bugs will be responded to and fixed quickly.

If you have need for additional features in this crate do open an issue on GitHub but be aware that we may not have time to implement it.