[package]
name = "rustls"
version = "0.24.0-dev.0"
edition = "2021"
rust-version = "1.83"
license = "Apache-2.0 OR ISC OR MIT"
readme = "../README.md"
description = "Rustls is a modern TLS library written in Rust."
homepage = "https://github.com/rustls/rustls"
repository = "https://github.com/rustls/rustls"
categories = ["network-programming", "cryptography"]
autobenches = false
autotests = false
exclude = ["src/testdata", "tests/**"]
[features]
default = ["log", "std", "webpki"]
brotli = ["dep:brotli", "dep:brotli-decompressor", "std"]
log = ["dep:log"]
std = ["pki-types/std", "once_cell/std"]
webpki = ["dep:webpki"]
zlib = ["dep:zlib-rs"]
[dependencies]
brotli = { workspace = true, optional = true }
brotli-decompressor = { workspace = true, optional = true }
hashbrown = { workspace = true, optional = true }
log = { workspace = true, optional = true }
once_cell = { workspace = true }
subtle = { workspace = true }
webpki = { workspace = true, optional = true }
pki-types = { workspace = true }
zeroize = { workspace = true }
zlib-rs = { workspace = true, optional = true }
[dev-dependencies]
bencher = { workspace = true }
env_logger = { workspace = true }
log = { workspace = true }
macro_rules_attribute = { workspace = true }
rcgen = { workspace = true }
rustls-test = { workspace = true, default-features = false }
time = { workspace = true }
webpki-roots = { workspace = true }
[target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64"))'.dev-dependencies]
graviola = { workspace = true }
[[example]]
name = "test_ca"
path = "examples/internal/test_ca.rs"
[package.metadata.docs.rs]
features = ["brotli", "hashbrown", "log", "std", "zlib"]
rustdoc-args = ["--cfg", "rustls_docsrs"]
[package.metadata.cargo_check_external_types]
allowed_external_types = [
"rustls_pki_types",
"rustls_pki_types::*",
]
[package.metadata.cargo-semver-checks.lints]
enum_no_repr_variant_discriminant_changed = "warn"
[lints]
workspace = true