Cargo Features
portable-rustls has no features set by default.
[dependencies]
portable-rustls = { version = "0.0.2", features = ["aws-lc-rs", "aws_lc_rs", "brotli", "custom-provider", "logging", "std", "prefer-post-quantum", "read_buf", "ring", "tls12", "zlib", "hashbrown"] }
- aws-lc-rs prefer-post-quantum? = aws_lc_rs
-
ALIAS - FAVORED OVER
aws_lc_rs
FEATURE NAME IN THIS FORK - aws_lc_rs aws-lc-rs?
-
Enables aws-lc-rs, aws_lc_rs of rustls-webpki ^0.102.8
Affects
crypto::aws_lc_rs
… - brotli = std
-
Enables brotli and brotli-decompressor
- custom-provider
- logging = log
-
[FIPS REMOVED FROM THIS FORK] fips = ...
- std brotli? read_buf?
-
Enables std of once_cell, rustls-pki-types, and rustls-webpki ^0.102.8
once_cell:
REQUIRED for no-std (with recent update to avoid any potential surprises with no atomic ptr support, etc.) NOTE: While it would be possible to use
once_cell
withcritical-section
feature, which would enable usingonce_cell::sync::OnceCell
instead ofonce_cell::race::OnceBox
, this does not seem to have so much benefit as the likelihood of multiple threads attempting to set the default crypto provider at the same time seems extremely low. Usingonce_cell::sync::OnceCell
would let the losing thread to see the winning value in the error result fromcrypto::CryptoProvider::set_default()
, which does not seem worth using thecritical-section
feature with its no-std installation requirements. TODO: specifyonce_cell
version in single place - as RECENTLY UPDATED in upstream RUSTLS (It may be best to specify theonce_cell
features here, as may be needed for updates moving forward.)Affects
compress::CompressionCacheInner
,ticketer::TicketRotator
,time_provider::DefaultTimeProvider
,portable-rustls::ticketer
… - prefer-post-quantum = aws-lc-rs
- read_buf = rustversion, std
- ring
-
Enables ring, ring of rustls-webpki ^0.102.8
Affects
crypto::ring
… - tls12
-
Affects
client_conn::ClientConfig.require_ems
,crypto::tls12
,server_conn::ServerConfig.require_ems
,versions::TLS12
… - zlib
-
Enables zlib-rs
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.