From e01fbac4b3c98fca47c9b16d58aed329dd4d72b6 Mon Sep 17 00:00:00 2001 From: Charlie Li Date: Mon, 19 Dec 2022 19:55:29 -0500 Subject: [PATCH 1/2] openssl-sys: add LibreSSL 3.6.0 to cfgs --- openssl-sys/build/cfgs.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/openssl-sys/build/cfgs.rs b/openssl-sys/build/cfgs.rs index 6e1e5286a1..d925d90ad7 100644 --- a/openssl-sys/build/cfgs.rs +++ b/openssl-sys/build/cfgs.rs @@ -43,6 +43,9 @@ pub fn get(openssl_version: Option, libressl_version: Option) -> Vec<& if libressl_version >= 0x3_05_00_00_0 { cfgs.push("libressl350"); } + if libressl_version >= 0x3_06_00_00_0 { + cfgs.push("libressl360"); + } if libressl_version >= 0x3_07_00_00_0 { cfgs.push("libressl370"); } From 0d8d5022583bb585b6cfe028c344113ecf1b77bc Mon Sep 17 00:00:00 2001 From: Charlie Li Date: Mon, 19 Dec 2022 19:57:58 -0500 Subject: [PATCH 2/2] Expose EVP_PKEY_security_bits for LibreSSL 3.6.0 and later --- openssl-sys/src/handwritten/evp.rs | 2 +- openssl/src/pkey.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/openssl-sys/src/handwritten/evp.rs b/openssl-sys/src/handwritten/evp.rs index 8bc9675ecd..5ee017f7d1 100644 --- a/openssl-sys/src/handwritten/evp.rs +++ b/openssl-sys/src/handwritten/evp.rs @@ -427,7 +427,7 @@ cfg_if! { const_ptr_api! { extern "C" { pub fn EVP_PKEY_bits(key: #[const_ptr_if(any(ossl110, libressl280))] EVP_PKEY) -> c_int; - #[cfg(ossl110)] + #[cfg(any(ossl110, libressl360))] pub fn EVP_PKEY_security_bits(pkey: #[const_ptr_if(any(ossl110, libressl280))] EVP_PKEY) -> c_int; } } diff --git a/openssl/src/pkey.rs b/openssl/src/pkey.rs index 1d2e68aea8..2039e7e908 100644 --- a/openssl/src/pkey.rs +++ b/openssl/src/pkey.rs @@ -233,7 +233,7 @@ where /// ///Bits of security is defined in NIST SP800-57. #[corresponds(EVP_PKEY_security_bits)] - #[cfg(ossl110)] + #[cfg(any(ossl110, libressl360))] pub fn security_bits(&self) -> u32 { unsafe { ffi::EVP_PKEY_security_bits(self.as_ptr()) as u32 } } @@ -1028,7 +1028,7 @@ mod tests { } #[test] - #[cfg(ossl110)] + #[cfg(any(ossl110, libressl360))] fn test_security_bits() { let group = crate::ec::EcGroup::from_curve_name(crate::nid::Nid::SECP521R1).unwrap(); let ec_key = EcKey::generate(&group).unwrap();