diff options
Diffstat (limited to 'devel/uv/files/patch-cargo-crates_openssl-probe-0.1.6_src_lib.rs')
| -rw-r--r-- | devel/uv/files/patch-cargo-crates_openssl-probe-0.1.6_src_lib.rs | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/devel/uv/files/patch-cargo-crates_openssl-probe-0.1.6_src_lib.rs b/devel/uv/files/patch-cargo-crates_openssl-probe-0.1.6_src_lib.rs new file mode 100644 index 000000000000..e51f27bc248a --- /dev/null +++ b/devel/uv/files/patch-cargo-crates_openssl-probe-0.1.6_src_lib.rs @@ -0,0 +1,50 @@ +--- cargo-crates/openssl-probe-0.1.6/src/lib.rs ++++ cargo-crates/openssl-probe-0.1.6/src/lib.rs +@@ -26,6 +26,7 @@ pub fn find_certs_dirs() -> Vec<PathBuf> { + /// found. + /// + /// This will only search known system locations. ++#[cfg(not(target_os = "freebsd"))] + pub fn candidate_cert_dirs() -> impl Iterator<Item = &'static Path> { + // see http://gagravarr.org/writing/openssl-certs/others.shtml + [ +@@ -52,6 +53,19 @@ pub fn candidate_cert_dirs() -> impl Iterator<Item = &'static Path> { + .map(Path::new) + .filter(|p| p.exists()) + } ++#[cfg(target_os = "freebsd")] ++pub fn candidate_cert_dirs() -> impl Iterator<Item = &'static Path> { ++ // see manpage of certctl(8): https://man.freebsd.org/cgi/man.cgi?query=certctl&sektion=8 ++ // see security/openssl* ports ++ [ ++ "/etc/ssl", ++ "/usr/local/etc/ssl", ++ "/usr/local/openssl", ++ ] ++ .iter() ++ .map(Path::new) ++ .filter(|p| p.exists()) ++} + + /// Deprecated as this isn't sound, use [`init_openssl_env_vars`] instead. + #[doc(hidden)] +@@ -169,6 +183,7 @@ pub fn probe() -> ProbeResult { + for certs_dir in candidate_cert_dirs() { + // cert.pem looks to be an openssl 1.0.1 thing, while + // certs/ca-certificates.crt appears to be a 0.9.8 thing ++ #[cfg(not(target_os = "freebsd"))] + let cert_filenames = [ + "cert.pem", + "certs.pem", +@@ -181,6 +196,11 @@ pub fn probe() -> ProbeResult { + "CARootCertificates.pem", + "tls-ca-bundle.pem", + ]; ++ #[cfg(target_os = "freebsd")] ++ let cert_filenames = [ ++ "cert.pem", ++ "ca-root-nss.crt", ++ ]; + if result.cert_file.is_none() { + result.cert_file = cert_filenames + .iter() |
