Skip to content

Commit e1a0cfb

Browse files
committed
feat!: support disabling of webpki-roots dependency
Add Cargo features rustls-tls-manual-roots and rustls-tls-webpki-roots. The latter is the default enabled feature.
1 parent 29789e3 commit e1a0cfb

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

Cargo.toml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ serde = { version = "1.0.137", features = ["derive"] }
2121
ring = { version = "0.17.0", features = ["std"] }
2222
base64 = "0.22"
2323
log = "0.4.17"
24-
webpki-roots = "0.26"
24+
webpki-roots = { version = "0.26", optional = true }
2525
pem = "3.0"
2626
thiserror = "2.0"
2727
x509-parser = "0.16"
@@ -34,9 +34,7 @@ tokio = { version = "1.20.1", default-features = false }
3434
tokio-rustls = { version = "0.26", default-features = false, features = [
3535
"tls12",
3636
] }
37-
reqwest = { version = "0.12", default-features = false, features = [
38-
"rustls-tls",
39-
] }
37+
reqwest = { version = "0.12", default-features = false }
4038

4139
# Axum
4240
axum-server = { version = "0.7", features = ["tokio-rustls"], optional = true }
@@ -68,9 +66,12 @@ all-features = true
6866
rustdoc-args = ["--cfg", "doc_auto_cfg"]
6967

7068
[features]
71-
default = []
69+
default = ["rustls-tls-webpki-roots"]
7270
axum = ["dep:axum-server"]
7371

72+
rustls-tls-manual-roots = ["reqwest/rustls-tls-manual-roots"]
73+
rustls-tls-webpki-roots = ["dep:webpki-roots", "reqwest/rustls-tls-webpki-roots"]
74+
7475
[[example]]
7576
name = "low_level_axum"
7677
required-features = ["axum"]

src/config.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ use std::convert::Infallible;
88
use std::fmt::Debug;
99
use std::sync::Arc;
1010
use tokio::io::{AsyncRead, AsyncWrite};
11-
use webpki_roots::TLS_SERVER_ROOTS;
1211

1312
/// Configuration for an ACME resolver.
1413
///
@@ -49,9 +48,11 @@ impl AcmeConfig<Infallible, Infallible> {
4948
/// ```
5049
///
5150
pub fn new(domains: impl IntoIterator<Item = impl AsRef<str>>) -> Self {
51+
#[allow(unused_mut)]
5252
let mut root_store = RootCertStore::empty();
53+
#[cfg(feature = "rustls-tls-webpki-roots")]
5354
root_store.extend(
54-
TLS_SERVER_ROOTS
55+
webpki_roots::TLS_SERVER_ROOTS
5556
.iter()
5657
.map(|ta| rustls::pki_types::TrustAnchor {
5758
subject: ta.subject.clone(),

0 commit comments

Comments
 (0)