| 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 | |