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

Merge pull request #2064 from botovq/libressl-sha3

Enable SHA-3 for LibreSSL 3.8.0
parents f58467ba 01cc521c
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -53,6 +53,9 @@ pub fn get(openssl_version: Option<u64>, libressl_version: Option<u64>) -> Vec<&
        if libressl_version >= 0x3_07_00_00_0 {
            cfgs.push("libressl370");
        }
        if libressl_version >= 0x3_08_00_00_0 {
            cfgs.push("libressl380");
        }
        if libressl_version >= 0x3_08_01_00_0 {
            cfgs.push("libressl381");
        }
+4 −4
Original line number Diff line number Diff line
@@ -294,13 +294,13 @@ extern "C" {
    pub fn EVP_sha256() -> *const EVP_MD;
    pub fn EVP_sha384() -> *const EVP_MD;
    pub fn EVP_sha512() -> *const EVP_MD;
    #[cfg(ossl111)]
    #[cfg(any(ossl111, libressl380))]
    pub fn EVP_sha3_224() -> *const EVP_MD;
    #[cfg(ossl111)]
    #[cfg(any(ossl111, libressl380))]
    pub fn EVP_sha3_256() -> *const EVP_MD;
    #[cfg(ossl111)]
    #[cfg(any(ossl111, libressl380))]
    pub fn EVP_sha3_384() -> *const EVP_MD;
    #[cfg(ossl111)]
    #[cfg(any(ossl111, libressl380))]
    pub fn EVP_sha3_512() -> *const EVP_MD;
    #[cfg(ossl111)]
    pub fn EVP_shake128() -> *const EVP_MD;
+8 −0
Original line number Diff line number Diff line
@@ -976,12 +976,20 @@ pub const NID_sm4_ctr: c_int = 1139;
pub const NID_sm4_ctr: c_int = 979;
#[cfg(ossl111)]
pub const NID_sha3_224: c_int = 1096;
#[cfg(libressl380)]
pub const NID_sha3_224: c_int = 1031;
#[cfg(ossl111)]
pub const NID_sha3_256: c_int = 1097;
#[cfg(libressl380)]
pub const NID_sha3_256: c_int = 1032;
#[cfg(ossl111)]
pub const NID_sha3_384: c_int = 1098;
#[cfg(libressl380)]
pub const NID_sha3_384: c_int = 1033;
#[cfg(ossl111)]
pub const NID_sha3_512: c_int = 1099;
#[cfg(libressl380)]
pub const NID_sha3_512: c_int = 1034;
#[cfg(ossl111)]
pub const NID_shake128: c_int = 1100;
#[cfg(ossl111)]
+3 −0
Original line number Diff line number Diff line
@@ -66,6 +66,9 @@ fn main() {
        if version >= 0x3_07_00_00_0 {
            println!("cargo:rustc-cfg=libressl370");
        }
        if version >= 0x3_08_00_00_0 {
            println!("cargo:rustc-cfg=libressl380");
        }
    }

    if let Ok(vars) = env::var("DEP_OPENSSL_CONF") {
+8 −8
Original line number Diff line number Diff line
@@ -127,22 +127,22 @@ impl MessageDigest {
        unsafe { MessageDigest(ffi::EVP_sha512()) }
    }

    #[cfg(ossl111)]
    #[cfg(any(ossl111, libressl380))]
    pub fn sha3_224() -> MessageDigest {
        unsafe { MessageDigest(ffi::EVP_sha3_224()) }
    }

    #[cfg(ossl111)]
    #[cfg(any(ossl111, libressl380))]
    pub fn sha3_256() -> MessageDigest {
        unsafe { MessageDigest(ffi::EVP_sha3_256()) }
    }

    #[cfg(ossl111)]
    #[cfg(any(ossl111, libressl380))]
    pub fn sha3_384() -> MessageDigest {
        unsafe { MessageDigest(ffi::EVP_sha3_384()) }
    }

    #[cfg(ossl111)]
    #[cfg(any(ossl111, libressl380))]
    pub fn sha3_512() -> MessageDigest {
        unsafe { MessageDigest(ffi::EVP_sha3_512()) }
    }
@@ -624,7 +624,7 @@ mod tests {
        );
    }

    #[cfg(ossl111)]
    #[cfg(any(ossl111, libressl380))]
    #[test]
    fn test_sha3_224() {
        let tests = [(
@@ -644,7 +644,7 @@ mod tests {
        );
    }

    #[cfg(ossl111)]
    #[cfg(any(ossl111, libressl380))]
    #[test]
    fn test_sha3_256() {
        let tests = [(
@@ -664,7 +664,7 @@ mod tests {
        );
    }

    #[cfg(ossl111)]
    #[cfg(any(ossl111, libressl380))]
    #[test]
    fn test_sha3_384() {
        let tests = [("416c6c20796f75722062617365206172652062656c6f6e6720746f207573",
@@ -684,7 +684,7 @@ mod tests {
        );
    }

    #[cfg(ossl111)]
    #[cfg(any(ossl111, libressl380))]
    #[test]
    fn test_sha3_512() {
        let tests = [("416c6c20796f75722062617365206172652062656c6f6e6720746f207573",
Loading