[package]
edition = "2021"
rust-version = "1.83"
name = "rustls"
version = "0.24.0-dev.0"
build = false
exclude = [
"src/testdata",
"tests/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rustls is a modern TLS library written in Rust."
homepage = "https://github.com/rustls/rustls"
readme = "README.md"
categories = [
"network-programming",
"cryptography",
]
license = "Apache-2.0 OR ISC OR MIT"
repository = "https://github.com/rustls/rustls"
[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"
[features]
brotli = [
"dep:brotli",
"dep:brotli-decompressor",
"std",
]
default = [
"log",
"std",
"webpki",
]
log = ["dep:log"]
std = [
"pki-types/std",
"once_cell/std",
]
webpki = ["dep:webpki"]
zlib = ["dep:zlib-rs"]
[lib]
name = "rustls"
path = "src/lib.rs"
[[example]]
name = "test_ca"
path = "examples/internal/test_ca.rs"
[dependencies.brotli]
version = "8"
features = ["std"]
optional = true
default-features = false
[dependencies.brotli-decompressor]
version = "5.0.0"
optional = true
[dependencies.hashbrown]
version = "0.16"
features = [
"default-hasher",
"inline-more",
]
optional = true
default-features = false
[dependencies.log]
version = "0.4.8"
optional = true
[dependencies.once_cell]
version = "1.16"
features = [
"alloc",
"race",
]
default-features = false
[dependencies.pki-types]
version = "1.14"
features = ["alloc"]
package = "rustls-pki-types"
[dependencies.subtle]
version = "2.5.0"
default-features = false
[dependencies.webpki]
version = "=0.104.0-alpha.2"
features = ["alloc"]
optional = true
default-features = false
package = "rustls-webpki"
[dependencies.zeroize]
version = "1.8"
[dependencies.zlib-rs]
version = "0.6"
optional = true
[dev-dependencies.bencher]
version = "0.1.5"
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.log]
version = "0.4.8"
[dev-dependencies.macro_rules_attribute]
version = "0.2"
[dev-dependencies.rcgen]
version = "0.14.4"
features = [
"pem",
"aws_lc_rs",
]
default-features = false
[dev-dependencies.time]
version = "0.3.6"
default-features = false
[dev-dependencies.webpki-roots]
version = "1"
[target.'cfg(any(target_arch = "aarch64", target_arch = "x86_64"))'.dev-dependencies.graviola]
version = "0.3"
[lints.clippy]
alloc_instead_of_core = "warn"
cloned_instead_of_copied = "warn"
manual_let_else = "warn"
needless_collect = "warn"
needless_pass_by_ref_mut = "warn"
new_without_default = "allow"
or_fun_call = "warn"
redundant_clone = "warn"
std_instead_of_core = "warn"
too_many_arguments = "allow"
upper_case_acronyms = "warn"
use_self = "warn"
[lints.rust]
elided_lifetimes_in_paths = "warn"
trivial_numeric_casts = "warn"
unnameable_types = "warn"
unreachable_pub = "warn"
unused_extern_crates = "warn"
unused_import_braces = "warn"
unused_qualifications = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(bench)",
"cfg(coverage_nightly)",
"cfg(rustls_docsrs)",
]