Files
rustls/Cargo.toml

148 lines
4.1 KiB
TOML
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[workspace]
members = [
# Bogo test shim
"bogo",
# CI benchmarks
"ci-bench",
# Network-based tests
"connect-tests",
# tests and example code
"examples",
# Tests that require OpenSSL
"openssl-tests",
# the main library and tests
"rustls",
# AWS-LC based crypto provider
"rustls-aws-lc-rs",
# the ring crypto provider
"rustls-ring",
# common code for testing the core crate
"rustls-test",
# benchmarking tool
"rustls-bench",
# experimental post-quantum algorithm support
"rustls-post-quantum",
# rustls cryptography provider integration tests
"rustls-provider-test",
# rustls cryptography provider for fuzzing
"rustls-fuzzing-provider",
# utility code
"rustls-util",
]
## Deliberately not included in `members`:
exclude = [
# `cargo fuzz` integration (requires nightly)
"fuzz",
]
default-members = [
# ---
"examples",
"rustls",
"rustls-aws-lc-rs",
"rustls-ring",
"rustls-test",
]
resolver = "2"
[workspace.package]
edition = "2024"
[workspace.dependencies]
anyhow = "1.0.73"
asn1 = "0.24"
async-trait = "0.1.74"
aws-lc-rs = { version = "1.18", default-features = false }
base64 = "0.23"
bencher = "0.1.5"
brotli = { version = "9", default-features = false, features = ["std"] }
brotli-decompressor = "6.0.0"
byteorder = "1.4.3"
clap = { version = "4.3.21", features = ["derive", "env"] }
crabgrind = "0.3"
criterion = "0.8"
graviola = "0.4"
hashbrown = { version = "0.17", default-features = false, features = ["default-hasher", "inline-more"] }
hex = "0.4"
hickory-resolver = { version = "0.26", features = ["https-aws-lc-rs", "webpki-roots"] }
itertools = "0.15"
macro_rules_attribute = "0.2"
mio = { version = "1", features = ["net", "os-poll"] }
num-bigint = "0.5.0"
openssl = "0.10"
pki-types = { package = "rustls-pki-types", version = "1.15", features = ["alloc"] }
rayon = "1.7"
rcgen = { version = "0.14.10", features = ["pem", "aws_lc_rs"], default-features = false }
regex = "1"
ring = "0.17"
rustc-hash = "2"
rustls-fuzzing-provider = { path = "rustls-fuzzing-provider/" }
rustls-graviola = { version = "0.4" }
rustls-test = { path = "rustls-test/", default-features = false }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
subtle = { version = "2.5.0", default-features = false }
time = { version = "0.3.6", default-features = false }
tikv-jemallocator = "0.7"
tokio = { version = "1.34", features = ["io-util", "macros", "net", "rt"] }
tracing = { version = "0.1", default-features = false }
tracing-subscriber = { version = "0.3", default-features = false, features = ["ansi", "env-filter", "fmt", "std"] }
webpki = { package = "rustls-webpki", version = "=0.104.0-alpha.7", features = [
"alloc",
], default-features = false }
webpki-roots = "1"
x509-parser = "0.18"
zeroize = "1.8"
zlib-rs = "0.6"
[profile.bench]
codegen-units = 1
lto = true
[workspace.lints.clippy]
alloc_instead_of_core = "warn"
cloned_instead_of_copied = "warn"
manual_let_else = "warn"
needless_bitwise_bool = "warn"
needless_collect = "warn"
needless_pass_by_ref_mut = "warn"
or_fun_call = "warn"
redundant_clone = "warn"
std_instead_of_core = "warn"
upper_case_acronyms = "warn"
use_self = "warn"
# Relax these clippy lints:
# - too_many_arguments: some things just need a lot of state, wrapping it
# doesn't necessarily make it easier to follow what's going on
too_many_arguments = "allow"
# - new_without_default: for internal constructors, the indirection is not
# helpful
new_without_default = "allow"
# - double_must_use: async-trait expands async methods to Pin<Box<dyn Future>>,
# which is already must_use, and also emits a bare #[must_use]. Nightly
# clippy 1.99+ flags that combination; not actionable on our source.
double_must_use = "allow"
[workspace.lints.rust]
elided_lifetimes_in_paths = "warn"
trivial_numeric_casts = "warn"
unexpected_cfgs = { level = "warn", check-cfg = [
"cfg(bench)",
"cfg(coverage_nightly)",
"cfg(rustls_docsrs)",
] }
unnameable_types = "warn"
unreachable_pub = "warn"
unused_extern_crates = "warn"
unused_import_braces = "warn"
unused_qualifications = "warn"
# ensure all our tests are against the local copy, never
# against the latest _published_ copy.
[patch.crates-io]
rustls = { path = "rustls" }