Cargo Features
[dependencies]
rsasl = { version = "2.0.1", default-features = false, features = ["scram-sha-1", "scram-sha-2", "anonymous", "external", "plain", "login", "xoauth2", "oauthbearer", "gssapi", "provider", "provider_base64", "config_builder", "registry_static", "testutils", "unstable_custom_mechanism", "std", "document-features"] }
- default = anonymous, config_builder, external, gssapi, login, oauthbearer, plain, registry_static, scram-sha-1, scram-sha-2, xoauth2
-
These default features are set whenever
rsasl
is added without
somewhere in the dependency tree.default-features = false - scram-sha-1 default = base64, digest, hmac, pbkdf2, rand, sha-1, std, stringprep
-
Compile-time mechanism selection
Enable
SCRAM-SHA-1
andSCRAM-SHA-1-PLUS
Affects
client::ScramSha1Client
,server::ScramSha1Server
,mechanisms::scram
… - scram-sha-2 default = base64, digest, hmac, pbkdf2, rand, sha2, std, stringprep
-
Enable
SCRAM-*
andSCRAM-*-PLUS
mechanisms usingSHA-2
, i.e.SHA-256
andSHA-512
Affects
client::ScramSha256Client
,server::ScramSha256Server
,mechanisms::scram
… - anonymous default = std
-
Enable
ANONYMOUS
Affects
mechanisms::anonymous
… - external default = std
-
Enable
EXTERNAL
Affects
mechanisms::external
… - plain default = std, stringprep
-
Enable
PLAIN
Affects
mechanisms::plain
… - login default = std
-
Enable
LOGIN
Affects
mechanisms::login
… - xoauth2 default = std
-
Enable
XOAUTH2
Affects
mechanisms::xoauth2
… - oauthbearer default = serde, serde_json, std
-
Enable the OAuth2 based
OAUTHBEARER
Affects
mechanisms::oauthbearer
… - gssapi default = bitflags, libgssapi, std
-
Enable the KerberosV5 mechanism
GSSAPI
Affects
mechanisms::gssapi
… - provider provider_base64? = std
-
Provider flags
These flags are relevant for crates that want to use rsasl as authentication provider, i.e. crates implementing network protocols
Enable provider mode
This feature enables all the required code for providers, e.g. code surrounding
Session
- provider_base64 = base64, provider, std
-
Enable transparent Base64 wrapping for provider mode
This enables the
step64
method to wrap a call tostep
in base64-encoding. Adds a dependency on thebase64
crate - config_builder default testutils? = std
-
# Supplier flags
These flags are relevant for crates that want to use rsasl as supplier, i.e. applications and libraries making use of protocol implementations with rsasl support
Enable the ConfigBuilder - registry_static default = linkme, std
-
Enables the static registry using
linkme
- testutils = config_builder, std
-
# Misc flags
Other miscellanious flags
Enable utilities for testing authentication and SASL handling - unstable_custom_mechanism = std
-
Enable adding custom mechanisms.
**NOTE: This flag indicates an opt-out of SemVer stability guarantees**
The code for adding mechanism from other crates has not stabilized yet and is subject to *breaking* changes even in a minor release.Affects
rsasl::mechanism
,rsasl::registry
… - std anonymous config_builder external gssapi login oauthbearer plain provider? provider_base64? registry_static scram-sha-1 scram-sha-2 testutils? unstable_custom_mechanism? xoauth2
-
Enable use of libstd
If this flag is not set, rsasl is marked !\[no_std\]. However, currently this flag will *always* be enabled as core parts of rsasl depend on the stdlib.Enables std of acid_io and serde_json
acid_io:
An #[no_std]-enabled version of std::io.
Affects
error::MechanismError
…
Features from optional dependencies
In crates that don't use the dep:
syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- base64 provider_base64? scram-sha-1 scram-sha-2
-
Enables base64 ^0.13
- rand scram-sha-1 scram-sha-2
- hmac scram-sha-1 scram-sha-2
- digest scram-sha-1 scram-sha-2
- sha-1 scram-sha-1
- sha2 scram-sha-2
- pbkdf2 scram-sha-1 scram-sha-2
-
Enables pbkdf2 ^0.10
- stringprep plain scram-sha-1 scram-sha-2
- linkme registry_static
-
Enables linkme ^0.2
- document-features implicit feature
-
Enables document-features
document-features:
Extract documentation for the feature flags from comments in Cargo.toml
Affects
rsasl::docs.features
… - serde oauthbearer
- serde_json oauthbearer std?
- libgssapi gssapi
-
Enables libgssapi ^0.6
- bitflags gssapi
-
Enables bitflags ^1