Commit 59890925 authored by Alex Gaynor's avatar Alex Gaynor
Browse files

Expose ChaCha20 on LibreSSL

parent 9db259a1
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -370,7 +370,7 @@ extern "C" {
    pub fn EVP_aes_256_wrap() -> *const EVP_CIPHER;
    #[cfg(ossl110)]
    pub fn EVP_aes_256_wrap_pad() -> *const EVP_CIPHER;
    #[cfg(all(ossl110, not(osslconf = "OPENSSL_NO_CHACHA")))]
    #[cfg(all(any(ossl110, libressl310), not(osslconf = "OPENSSL_NO_CHACHA")))]
    pub fn EVP_chacha20() -> *const EVP_CIPHER;
    #[cfg(all(any(ossl110, libressl360), not(osslconf = "OPENSSL_NO_CHACHA")))]
    pub fn EVP_chacha20_poly1305() -> *const EVP_CIPHER;
+1 −1
Original line number Diff line number Diff line
@@ -453,7 +453,7 @@ impl Cipher {
        unsafe { CipherRef::from_ptr(ffi::EVP_idea_cbc() as *mut _) }
    }

    #[cfg(all(ossl110, not(osslconf = "OPENSSL_NO_CHACHA")))]
    #[cfg(all(any(ossl110, libressl310), not(osslconf = "OPENSSL_NO_CHACHA")))]
    pub fn chacha20() -> &'static CipherRef {
        unsafe { CipherRef::from_ptr(ffi::EVP_chacha20() as *mut _) }
    }
+2 −2
Original line number Diff line number Diff line
@@ -383,7 +383,7 @@ impl Cipher {
    }

    /// Requires OpenSSL 1.1.0 or newer.
    #[cfg(all(ossl110, not(osslconf = "OPENSSL_NO_CHACHA")))]
    #[cfg(all(any(ossl110, libressl310), not(osslconf = "OPENSSL_NO_CHACHA")))]
    pub fn chacha20() -> Cipher {
        unsafe { Cipher(ffi::EVP_chacha20()) }
    }
@@ -1592,7 +1592,7 @@ mod tests {
    }

    #[test]
    #[cfg(ossl110)]
    #[cfg(any(ossl110, libressl310))]
    fn test_chacha20() {
        let key = "0000000000000000000000000000000000000000000000000000000000000000";
        let iv = "00000000000000000000000000000000";