1 | [package] |
2 | name = "rustls" |
3 | version = "0.23.26" |
4 | edition = "2021" |
5 | rust-version = "1.71" |
6 | license = "Apache-2.0 OR ISC OR MIT" |
7 | readme = "../README.md" |
8 | description = "Rustls is a modern TLS library written in Rust." |
9 | homepage = "https://github.com/rustls/rustls" |
10 | repository = "https://github.com/rustls/rustls" |
11 | categories = ["network-programming" , "cryptography" ] |
12 | autobenches = false |
13 | autotests = false |
14 | exclude = ["src/testdata" , "tests/**" ] |
15 | build = "build.rs" |
16 | |
17 | [features] |
18 | default = ["aws_lc_rs" , "logging" , "std" , "tls12" ] |
19 | |
20 | aws-lc-rs = ["aws_lc_rs" ] # Alias because Cargo features commonly use `-` |
21 | aws_lc_rs = ["dep:aws-lc-rs" , "webpki/aws-lc-rs" , "aws-lc-rs/aws-lc-sys" , "aws-lc-rs/prebuilt-nasm" ] |
22 | brotli = ["dep:brotli" , "dep:brotli-decompressor" , "std" ] |
23 | custom-provider = [] |
24 | fips = ["aws_lc_rs" , "aws-lc-rs?/fips" , "webpki/aws-lc-rs-fips" ] |
25 | logging = ["log" ] |
26 | prefer-post-quantum = ["aws_lc_rs" ] |
27 | read_buf = ["rustversion" , "std" ] |
28 | ring = ["dep:ring" , "webpki/ring" ] |
29 | std = ["webpki/std" , "pki-types/std" , "once_cell/std" ] |
30 | tls12 = [] |
31 | zlib = ["dep:zlib-rs" ] |
32 | |
33 | [build-dependencies] |
34 | rustversion = { version = "1.0.6" , optional = true } |
35 | |
36 | [dependencies] |
37 | aws-lc-rs = { workspace = true, optional = true } |
38 | brotli = { workspace = true, optional = true } |
39 | brotli-decompressor = { workspace = true, optional = true } |
40 | hashbrown = { workspace = true, optional = true } |
41 | log = { workspace = true, optional = true } |
42 | # only required for no-std |
43 | once_cell = { workspace = true } |
44 | ring = { workspace = true, optional = true } |
45 | subtle = { workspace = true } |
46 | webpki = { workspace = true } |
47 | pki-types = { workspace = true } |
48 | zeroize = { workspace = true } |
49 | zlib-rs = { workspace = true, optional = true } |
50 | |
51 | [dev-dependencies] |
52 | base64 = { workspace = true } |
53 | bencher = { workspace = true } |
54 | env_logger = { workspace = true } |
55 | hex = { workspace = true } |
56 | log = { workspace = true } |
57 | macro_rules_attribute = { workspace = true } |
58 | num-bigint = { workspace = true } |
59 | rcgen = { workspace = true } |
60 | serde = { workspace = true } |
61 | serde_json = { workspace = true } |
62 | time = { workspace = true } |
63 | webpki-roots = { workspace = true } |
64 | x509-parser = { workspace = true } |
65 | |
66 | [[bench]] |
67 | name = "benchmarks" |
68 | path = "benches/benchmarks.rs" |
69 | harness = false |
70 | required-features = ["ring" ] |
71 | |
72 | [[example]] |
73 | name = "test_ca" |
74 | path = "examples/internal/test_ca.rs" |
75 | |
76 | [[test]] |
77 | name = "api" |
78 | path = "tests/runners/api.rs" |
79 | |
80 | [[test]] |
81 | name = "api_ffdhe" |
82 | path = "tests/runners/api_ffdhe.rs" |
83 | required-features = ["tls12" ] |
84 | |
85 | [[test]] |
86 | name = "bogo" |
87 | path = "tests/bogo.rs" |
88 | |
89 | [[test]] |
90 | name = "client_cert_verifier" |
91 | path = "tests/runners/client_cert_verifier.rs" |
92 | |
93 | [[test]] |
94 | name = "ech" |
95 | path = "tests/ech.rs" |
96 | |
97 | [[test]] |
98 | name = "key_log_file_env" |
99 | path = "tests/runners/key_log_file_env.rs" |
100 | |
101 | [[test]] |
102 | name = "process_provider" |
103 | path = "tests/process_provider.rs" |
104 | |
105 | [[test]] |
106 | name = "server_cert_verifier" |
107 | path = "tests/runners/server_cert_verifier.rs" |
108 | |
109 | [[test]] |
110 | name = "unbuffered" |
111 | path = "tests/runners/unbuffered.rs" |
112 | |
113 | [package.metadata.docs.rs] |
114 | # all non-default features except fips (cannot build on docs.rs environment) |
115 | features = ["read_buf" , "ring" ] |
116 | rustdoc-args = ["--cfg" , "docsrs" ] |
117 | |
118 | [package.metadata.cargo_check_external_types] |
119 | allowed_external_types = [ |
120 | # --- |
121 | "rustls_pki_types" , |
122 | "rustls_pki_types::*" , |
123 | ] |
124 | |
125 | [package.metadata.cargo-semver-checks.lints] |
126 | enum_no_repr_variant_discriminant_changed = "warn" |
127 | |
128 | [lints.rust] |
129 | unexpected_cfgs = { level = "warn" , check-cfg = ["cfg(bench)" , "cfg(coverage_nightly)" , "cfg(read_buf)" ] } |
130 | |