Skip to content

Commit 0ca006e

Browse files
committed
devel/uv: Make the selected TLS provider use the system default truststore
uv uses openssl_probe::probe() transitively which unfortunately discovers the wrong truststore sources resulting in certificate validation errors even if certctl(8) manages everything nicely. The selected provider might be OpenSSL from the system, vendored OpenSSL, rustls or maybe something else. Upstream issues: * rustls/openssl-probe#37 * rust-lang/git2-rs#1130 Reference: 0780826 Reviewed by: yuri (maintainer), mikael (rust maintainer) MFH: 2025Q4
1 parent 2b25880 commit 0ca006e

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

devel/uv/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
PORTNAME= uv
22
DISTVERSION= 0.9.6
3+
PORTREVISION= 1
34
CATEGORIES= devel
45

56
MAINTAINER= [email protected]
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
--- cargo-crates/openssl-probe-0.1.6/src/lib.rs
2+
+++ cargo-crates/openssl-probe-0.1.6/src/lib.rs
3+
@@ -26,6 +26,7 @@ pub fn find_certs_dirs() -> Vec<PathBuf> {
4+
/// found.
5+
///
6+
/// This will only search known system locations.
7+
+#[cfg(not(target_os = "freebsd"))]
8+
pub fn candidate_cert_dirs() -> impl Iterator<Item = &'static Path> {
9+
// see http://gagravarr.org/writing/openssl-certs/others.shtml
10+
[
11+
@@ -52,6 +53,16 @@ pub fn candidate_cert_dirs() -> impl Iterator<Item = &'static Path> {
12+
.map(Path::new)
13+
.filter(|p| p.exists())
14+
}
15+
+#[cfg(target_os = "freebsd")]
16+
+pub fn candidate_cert_dirs() -> impl Iterator<Item = &'static Path> {
17+
+ [
18+
+ "/etc/ssl",
19+
+ "/usr/local/etc/ssl",
20+
+ ]
21+
+ .iter()
22+
+ .map(Path::new)
23+
+ .filter(|p| p.exists())
24+
+}
25+
26+
/// Deprecated as this isn't sound, use [`init_openssl_env_vars`] instead.
27+
#[doc(hidden)]

0 commit comments

Comments
 (0)