Unverified Commit 5b4edd82 authored by Alex Gaynor's avatar Alex Gaynor Committed by GitHub
Browse files

Merge pull request #2124 from botovq/libressl-390

Upcoming API changes in LibreSSL 3.9
parents ec2a8c41 4d83202c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -62,6 +62,9 @@ pub fn get(openssl_version: Option<u64>, libressl_version: Option<u64>) -> Vec<&
        if libressl_version >= 0x3_08_02_00_0 {
            cfgs.push("libressl382");
        }
        if libressl_version >= 0x3_09_00_00_0 {
            cfgs.push("libressl390");
        }
    } else {
        let openssl_version = openssl_version.unwrap();

+1 −3
Original line number Diff line number Diff line
@@ -703,11 +703,9 @@ const_ptr_api! {
    extern "C" {
        pub fn X509_PURPOSE_get_by_sname(sname: #[const_ptr_if(any(ossl110, libressl280))] c_char) -> c_int;
        pub fn X509_PURPOSE_get_id(purpose: #[const_ptr_if(any(ossl110, libressl280))] X509_PURPOSE) -> c_int;
        pub fn X509_PURPOSE_get0(idx: c_int) -> #[const_ptr_if(libressl390)] X509_PURPOSE;
    }
}
extern "C" {
    pub fn X509_PURPOSE_get0(idx: c_int) -> *mut X509_PURPOSE;
}

extern "C" {
    pub fn X509_ATTRIBUTE_new() -> *mut X509_ATTRIBUTE;
+1 −0
Original line number Diff line number Diff line
@@ -84,6 +84,7 @@ const_ptr_api! {
}

extern "C" {
    #[cfg(not(libressl390))]
    pub fn X509V3_EXT_add_alias(nid_to: c_int, nid_from: c_int) -> c_int;
    pub fn X509V3_EXT_d2i(ext: *mut X509_EXTENSION) -> *mut c_void;
    pub fn X509V3_EXT_i2d(ext_nid: c_int, crit: c_int, ext: *mut c_void) -> *mut X509_EXTENSION;
+3 −0
Original line number Diff line number Diff line
@@ -72,6 +72,9 @@ fn main() {
        if version >= 0x3_08_02_00_0 {
            println!("cargo:rustc-cfg=libressl382");
        }
        if version >= 0x3_09_00_00_0 {
            println!("cargo:rustc-cfg=libressl390");
        }
    }

    if let Ok(vars) = env::var("DEP_OPENSSL_CONF") {
+1 −0
Original line number Diff line number Diff line
@@ -1018,6 +1018,7 @@ impl X509Extension {
    /// # Safety
    ///
    /// This method modifies global state without locking and therefore is not thread safe
    #[cfg(not(libressl390))]
    #[corresponds(X509V3_EXT_add_alias)]
    #[deprecated(
        note = "Use x509::extension types or new_from_der and then this is not necessary",