diff --git a/openssl-sys/build/cfgs.rs b/openssl-sys/build/cfgs.rs index 91cb734c3..e4b6a4d91 100644 --- a/openssl-sys/build/cfgs.rs +++ b/openssl-sys/build/cfgs.rs @@ -65,6 +65,9 @@ pub fn get(openssl_version: Option, libressl_version: Option) -> Vec<& if libressl_version >= 0x3_09_00_00_0 { cfgs.push("libressl390"); } + if libressl_version >= 0x4_00_00_00_0 { + cfgs.push("libressl400"); + } } else { let openssl_version = openssl_version.unwrap(); diff --git a/openssl-sys/src/handwritten/x509.rs b/openssl-sys/src/handwritten/x509.rs index 7642dcd3b..0bb682764 100644 --- a/openssl-sys/src/handwritten/x509.rs +++ b/openssl-sys/src/handwritten/x509.rs @@ -1,10 +1,16 @@ use super::super::*; use libc::*; -#[repr(C)] -pub struct X509_VAL { - pub notBefore: *mut ASN1_TIME, - pub notAfter: *mut ASN1_TIME, +cfg_if! { + if #[cfg(libressl400)] { + pub enum X509_VAL {} + } else { + #[repr(C)] + pub struct X509_VAL { + pub notBefore: *mut ASN1_TIME, + pub notAfter: *mut ASN1_TIME, + } + } } pub enum X509_NAME_ENTRY {}