aboutsummaryrefslogtreecommitdiff
path: root/devel/uv/files/patch-cargo-crates_openssl-probe-0.1.6_src_lib.rs
diff options
context:
space:
mode:
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.rs50
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()