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 with critical-section feature, which would enable using once_cell::sync::OnceCell instead of once_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. Using once_cell::sync::OnceCell would let the losing thread to see the winning value in the error result from crypto::CryptoProvider::set_default(), which does not seem worth using the critical-section feature with its no-std installation requirements. TODO: specify once_cell version in single place - as RECENTLY UPDATED in upstream RUSTLS (It may be best to specify the once_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.

hashbrown implicit feature

Enables hashbrown

hashbrown:

A Rust port of Google's SwissTable hash map

Affects portable-rustls::ticketer

log logging?
rustversion build read_buf?