mirror of
https://github.com/rustls/rustls.git
synced 2026-10-28 17:56:30 +08:00
148 lines
4.1 KiB
TOML
148 lines
4.1 KiB
TOML
[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" }
|