# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.71"
name = "rustls"
version = "0.23.27"
build = "build.rs"
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.cargo-semver-checks.lints]
enum_no_repr_variant_discriminant_changed = "warn"

[package.metadata.cargo_check_external_types]
allowed_external_types = [
    "rustls_pki_types",
    "rustls_pki_types::*",
]

[package.metadata.docs.rs]
features = [
    "read_buf",
    "ring",
]
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
aws-lc-rs = ["aws_lc_rs"]
aws_lc_rs = [
    "dep:aws-lc-rs",
    "webpki/aws-lc-rs",
    "aws-lc-rs/aws-lc-sys",
    "aws-lc-rs/prebuilt-nasm",
]
brotli = [
    "dep:brotli",
    "dep:brotli-decompressor",
    "std",
]
custom-provider = []
default = [
    "aws_lc_rs",
    "logging",
    "prefer-post-quantum",
    "std",
    "tls12",
]
fips = [
    "aws_lc_rs",
    "aws-lc-rs?/fips",
    "webpki/aws-lc-rs-fips",
]
logging = ["log"]
prefer-post-quantum = ["aws_lc_rs"]
read_buf = [
    "rustversion",
    "std",
]
ring = [
    "dep:ring",
    "webpki/ring",
]
std = [
    "webpki/std",
    "pki-types/std",
    "once_cell/std",
]
tls12 = []
zlib = ["dep:zlib-rs"]

[lib]
name = "rustls"
path = "src/lib.rs"

[[example]]
name = "test_ca"
path = "examples/internal/test_ca.rs"

[[bench]]
name = "benchmarks"
path = "benches/benchmarks.rs"
harness = false
required-features = ["ring"]

[dependencies.aws-lc-rs]
version = "1.12"
optional = true
default-features = false

[dependencies.brotli]
version = "8"
features = ["std"]
optional = true
default-features = false

[dependencies.brotli-decompressor]
version = "5.0.0"
optional = true

[dependencies.hashbrown]
version = "0.15"
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.11"
features = ["alloc"]
package = "rustls-pki-types"

[dependencies.ring]
version = "0.17"
optional = true

[dependencies.subtle]
version = "2.5.0"
default-features = false

[dependencies.webpki]
version = "0.103.4"
features = ["alloc"]
default-features = false
package = "rustls-webpki"

[dependencies.zeroize]
version = "1.7"

[dependencies.zlib-rs]
version = "0.5"
optional = true

[dev-dependencies.base64]
version = "0.22"

[dev-dependencies.bencher]
version = "0.1.5"

[dev-dependencies.env_logger]
version = "0.11"

[dev-dependencies.hex]
version = "0.4"

[dev-dependencies.log]
version = "0.4.8"

[dev-dependencies.macro_rules_attribute]
version = "0.2"

[dev-dependencies.num-bigint]
version = "0.4.4"

[dev-dependencies.rcgen]
version = "0.13"
features = [
    "pem",
    "aws_lc_rs",
]
default-features = false

[dev-dependencies.serde]
version = "1"
features = ["derive"]

[dev-dependencies.serde_json]
version = "1"

[dev-dependencies.time]
version = "0.3.6"
default-features = false

[dev-dependencies.webpki-roots]
version = "0.26"

[dev-dependencies.x509-parser]
version = "0.17"

[build-dependencies.rustversion]
version = "1.0.6"
optional = true

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
    "cfg(bench)",
    "cfg(coverage_nightly)",
    "cfg(read_buf)",
]
