Cargo Features

[dependencies]
rustls = { version = "0.23.17", default-features = false, features = ["std", "logging", "aws_lc_rs", "aws-lc-rs", "brotli", "ring", "custom-provider", "tls12", "read_buf", "fips", "zlib", "hashbrown"] }
default = aws_lc_rs, logging, std, tls12

These default features are set whenever rustls is added without default-features = false somewhere in the dependency tree.

std default brotli? read_buf?

Enables std of once_cell, rustls-pki-types, and rustls-webpki

once_cell:

remove once our MSRV is >= 1.70

Affects compress::CompressionCacheInner, ticketer::TicketRotator, time_provider::DefaultTimeProvider, rustls::ticketer

logging default = log
aws_lc_rs default aws-lc-rs? fips?

Enables aws-lc-rs, aws_lc_rs of rustls-webpki

Affects crypto::aws_lc_rs, crypto::default_fips_provider

aws-lc-rs = aws_lc_rs

Alias because Cargo features commonly use -

brotli = std

Enables brotli and brotli-decompressor

brotli-decompressor:

4.0.1 required for panic fix

ring

Enables ring, ring of rustls-webpki

Affects crypto::ring

custom-provider
tls12 default

Affects client_conn::ClientConfig.require_ems, crypto::tls12, server_conn::ServerConfig.require_ems, versions::TLS12

read_buf = rustversion, std
fips = aws_lc_rs

Enables fips of optional aws-lc-rs

aws-lc-rs:

require FIPS

Affects crypto::default_fips_provider

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 rustls::ticketer

log logging
rustversion build read_buf?