Skip to content

Commit cf89b70

Browse files
committed
devel/uv: Make the 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. 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 cf89b70

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)