13 releases (5 stable)

1.4.1 Sep 20, 2021
1.4.0 Sep 9, 2021
1.0.1 Apr 8, 2021
0.2.4 Jan 12, 2021
0.1.1 Apr 28, 2020

#54 in Authentication

49 downloads per month

MIT license

160KB
4K SLoC

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.

Dependencies

~110KB