Add webpki roots for reqwest clients. (fixes #296)

This commit is contained in:
dasha_uwu
2026-02-11 03:17:06 +05:00
committed by Jason Volk
parent 2e19a30ff2
commit 87faf818ff
5 changed files with 15 additions and 1 deletions

2
Cargo.lock generated
View File

@@ -5229,6 +5229,7 @@ dependencies = [
"tuwunel_macros",
"tuwunel_router",
"tuwunel_service",
"webpki-root-certs",
]
[[package]]
@@ -5448,6 +5449,7 @@ dependencies = [
"tuwunel_database",
"url",
"webpage",
"webpki-root-certs",
]
[[package]]

View File

@@ -566,6 +566,9 @@ features = ["serde"]
version = "2.0"
default-features = false
[workspace.dependencies.webpki-root-certs]
version = "1.0"
#
# Patches
#

View File

@@ -233,6 +233,7 @@ tracing-opentelemetry.optional = true
tracing-opentelemetry.workspace = true
tracing-subscriber.workspace = true
tracing.workspace = true
webpki-root-certs.workspace = true
[dev-dependencies]
criterion.workspace = true

View File

@@ -120,6 +120,7 @@ tracing.workspace = true
url.workspace = true
webpage.workspace = true
webpage.optional = true
webpki-root-certs.workspace = true
blurhash.workspace = true
blurhash.optional = true
tuwunel-core.workspace = true

View File

@@ -4,7 +4,7 @@ use std::{
};
use ipaddress::IPAddress;
use reqwest::{dns::Resolve, redirect};
use reqwest::{Certificate, dns::Resolve, redirect};
use tuwunel_core::{Config, Result, either::Either, err, implement, trace};
use crate::{service, services::OnceServices};
@@ -141,6 +141,13 @@ fn base(config: &Config) -> Result<reqwest::ClientBuilder> {
.user_agent(tuwunel_core::version::user_agent())
.redirect(redirect::Policy::limited(6))
.danger_accept_invalid_certs(config.allow_invalid_tls_certificates)
.tls_certs_merge(
webpki_root_certs::TLS_SERVER_ROOT_CERTS
.iter()
.map(|der| {
Certificate::from_der(der).expect("certificate must be valid der encoding")
}),
)
.connection_verbose(cfg!(debug_assertions));
#[cfg(feature = "gzip_compression")]