Cargo Features
[dependencies]
rsasl = { version = "2.2.0", 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, 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 = std
-
Compile-time mechanism selection
Enable
SCRAM-SHA-1
andSCRAM-SHA-1-PLUS
Enables base64, digest, hmac, pbkdf2, rand, sha1, and stringprep
Affects
client::ScramSha1Client
,server::ScramSha1Server
,mechanisms::scram
… - scram-sha-2 default = std
-
Enable
SCRAM-*
andSCRAM-*-PLUS
mechanisms usingSHA-2
, i.e.SHA-256
andSHA-512
Enables base64, digest, hmac, pbkdf2, rand, sha2, and stringprep
Affects
client::ScramSha256Client
,client::ScramSha512Client
,server::ScramSha256Server
,server::ScramSha512Server
,mechanisms::scram
… - anonymous default = std
-
Enable
ANONYMOUS
Affects
mechanisms::anonymous
… - external default = std
-
Enable
EXTERNAL
Affects
mechanisms::external
… - plain default = std
-
Enable
PLAIN
Enables stringprep
Affects
mechanisms::plain
… - login default = std
-
Enable
LOGIN
Affects
mechanisms::login
… - xoauth2 default = std
-
Enable
XOAUTH2
Affects
mechanisms::xoauth2
… - oauthbearer default = serde_json, std
-
Enable the OAuth2 based
OAUTHBEARER
Enables serde
Affects
mechanisms::oauthbearer
… - gssapi default = std
-
Enable the KerberosV5 mechanism
GSSAPI
Enables bitflags and libgssapi ^0.7.2
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 = 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
crateEnables base64
- 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 = std
-
Enables the static registry using
linkme
Enables 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 core2 and serde_json
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.
- 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_json oauthbearer std?