summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDivy Srivastava <dj.srivastava23@gmail.com>2023-10-31 04:55:46 -0700
committerGitHub <noreply@github.com>2023-10-31 12:55:46 +0100
commitba6bd444b60606f96dd7b2edb1b14aeae22b5016 (patch)
treee34ca91e46e72bc52deb250904c6402e6372dc8a
parentf62e22a6998bc4d0e2b2fc3df8d6a81aac264e7a (diff)
perf: use deno_native_certs crate (#18072)
Fixes #18071 Replace `rustls_native_certs` which links to Security framework. https://github.com/denoland/deno_native_certs uses dlopen to lazy load when needed.
-rw-r--r--Cargo.lock15
-rw-r--r--cli/args/mod.rs2
-rw-r--r--ext/tls/Cargo.toml2
-rw-r--r--ext/tls/lib.rs2
4 files changed, 17 insertions, 4 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 138d0cd4a..2ab101267 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1484,6 +1484,19 @@ dependencies = [
]
[[package]]
+name = "deno_native_certs"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f9c7c5a7f03be0fccb523765d76aa6758760f3163459ce777ba3979596db0998"
+dependencies = [
+ "dlopen",
+ "dlopen_derive",
+ "once_cell",
+ "rustls-native-certs",
+ "rustls-pemfile",
+]
+
+[[package]]
name = "deno_net"
version = "0.113.0"
dependencies = [
@@ -1687,9 +1700,9 @@ name = "deno_tls"
version = "0.108.0"
dependencies = [
"deno_core",
+ "deno_native_certs",
"once_cell",
"rustls",
- "rustls-native-certs",
"rustls-pemfile",
"rustls-webpki",
"serde",
diff --git a/cli/args/mod.rs b/cli/args/mod.rs
index 96f4e9a74..94eaf2a3e 100644
--- a/cli/args/mod.rs
+++ b/cli/args/mod.rs
@@ -45,9 +45,9 @@ use deno_core::serde_json;
use deno_core::url::Url;
use deno_runtime::colors;
use deno_runtime::deno_node::PackageJson;
+use deno_runtime::deno_tls::deno_native_certs::load_native_certs;
use deno_runtime::deno_tls::rustls;
use deno_runtime::deno_tls::rustls::RootCertStore;
-use deno_runtime::deno_tls::rustls_native_certs::load_native_certs;
use deno_runtime::deno_tls::rustls_pemfile;
use deno_runtime::deno_tls::webpki_roots;
use deno_runtime::inspector_server::InspectorServer;
diff --git a/ext/tls/Cargo.toml b/ext/tls/Cargo.toml
index 6d56dfd49..8184e97a3 100644
--- a/ext/tls/Cargo.toml
+++ b/ext/tls/Cargo.toml
@@ -15,9 +15,9 @@ path = "lib.rs"
[dependencies]
deno_core.workspace = true
+deno_native_certs = "0.1.1"
once_cell.workspace = true
rustls = { workspace = true, features = ["dangerous_configuration"] }
-rustls-native-certs.workspace = true
rustls-pemfile.workspace = true
rustls-webpki.workspace = true
serde.workspace = true
diff --git a/ext/tls/lib.rs b/ext/tls/lib.rs
index 78ad243c1..323946601 100644
--- a/ext/tls/lib.rs
+++ b/ext/tls/lib.rs
@@ -1,7 +1,7 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
+pub use deno_native_certs;
pub use rustls;
-pub use rustls_native_certs;
pub use rustls_pemfile;
pub use webpki;
pub use webpki_roots;