Loading openssl-sys/src/evp.rs +1 −1 Original line number Diff line number Diff line Loading @@ -66,7 +66,7 @@ extern "C" { data: *const c_void, count: size_t, md: *mut c_uchar, size: *mut c_int, size: *mut c_uint, ) -> c_int; pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, typ: *const EVP_MD) -> c_int; pub fn EVP_DigestFinal(ctx: *mut EVP_MD_CTX, res: *mut u8, n: *mut u32) -> c_int; Loading openssl-sys/src/sha.rs +76 −23 Original line number Diff line number Diff line Loading @@ -32,12 +32,11 @@ cfg_if! { cfg_if! { if #[cfg(ossl300)] { macro_rules! digest { ($name:ident) => { pub unsafe fn $name(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar { // Ideally we'd macro define these, but that crashes ctest :( pub unsafe fn SHA1(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar { if EVP_Q_digest( ptr::null_mut(), concat!(stringify!($name), "\0").as_ptr() as *const c_char, "SHA1\0".as_ptr() as *const c_char, ptr::null(), d as *const c_void, n, Loading @@ -49,10 +48,6 @@ cfg_if! { ptr::null_mut() } } } } digest!(SHA1); } else { extern "C" { pub fn SHA1(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar; Loading Loading @@ -86,8 +81,37 @@ cfg_if! { cfg_if! { if #[cfg(ossl300)] { digest!(SHA224); digest!(SHA256); pub unsafe fn SHA224(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar { if EVP_Q_digest( ptr::null_mut(), "SHA224\0".as_ptr() as *const c_char, ptr::null(), d as *const c_void, n, md, ptr::null_mut(), ) != 0 { md } else { ptr::null_mut() } } pub unsafe fn SHA256(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar { if EVP_Q_digest( ptr::null_mut(), "SHA256\0".as_ptr() as *const c_char, ptr::null(), d as *const c_void, n, md, ptr::null_mut(), ) != 0 { md } else { ptr::null_mut() } } } else { extern "C" { pub fn SHA224(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar; Loading Loading @@ -125,8 +149,37 @@ cfg_if! { cfg_if! { if #[cfg(ossl300)] { digest!(SHA384); digest!(SHA512); pub unsafe fn SHA384(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar { if EVP_Q_digest( ptr::null_mut(), "SHA384\0".as_ptr() as *const c_char, ptr::null(), d as *const c_void, n, md, ptr::null_mut(), ) != 0 { md } else { ptr::null_mut() } } pub unsafe fn SHA512(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar { if EVP_Q_digest( ptr::null_mut(), "SHA512\0".as_ptr() as *const c_char, ptr::null(), d as *const c_void, n, md, ptr::null_mut(), ) != 0 { md } else { ptr::null_mut() } } } else { extern "C" { pub fn SHA384(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar; Loading Loading
openssl-sys/src/evp.rs +1 −1 Original line number Diff line number Diff line Loading @@ -66,7 +66,7 @@ extern "C" { data: *const c_void, count: size_t, md: *mut c_uchar, size: *mut c_int, size: *mut c_uint, ) -> c_int; pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, typ: *const EVP_MD) -> c_int; pub fn EVP_DigestFinal(ctx: *mut EVP_MD_CTX, res: *mut u8, n: *mut u32) -> c_int; Loading
openssl-sys/src/sha.rs +76 −23 Original line number Diff line number Diff line Loading @@ -32,12 +32,11 @@ cfg_if! { cfg_if! { if #[cfg(ossl300)] { macro_rules! digest { ($name:ident) => { pub unsafe fn $name(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar { // Ideally we'd macro define these, but that crashes ctest :( pub unsafe fn SHA1(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar { if EVP_Q_digest( ptr::null_mut(), concat!(stringify!($name), "\0").as_ptr() as *const c_char, "SHA1\0".as_ptr() as *const c_char, ptr::null(), d as *const c_void, n, Loading @@ -49,10 +48,6 @@ cfg_if! { ptr::null_mut() } } } } digest!(SHA1); } else { extern "C" { pub fn SHA1(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar; Loading Loading @@ -86,8 +81,37 @@ cfg_if! { cfg_if! { if #[cfg(ossl300)] { digest!(SHA224); digest!(SHA256); pub unsafe fn SHA224(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar { if EVP_Q_digest( ptr::null_mut(), "SHA224\0".as_ptr() as *const c_char, ptr::null(), d as *const c_void, n, md, ptr::null_mut(), ) != 0 { md } else { ptr::null_mut() } } pub unsafe fn SHA256(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar { if EVP_Q_digest( ptr::null_mut(), "SHA256\0".as_ptr() as *const c_char, ptr::null(), d as *const c_void, n, md, ptr::null_mut(), ) != 0 { md } else { ptr::null_mut() } } } else { extern "C" { pub fn SHA224(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar; Loading Loading @@ -125,8 +149,37 @@ cfg_if! { cfg_if! { if #[cfg(ossl300)] { digest!(SHA384); digest!(SHA512); pub unsafe fn SHA384(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar { if EVP_Q_digest( ptr::null_mut(), "SHA384\0".as_ptr() as *const c_char, ptr::null(), d as *const c_void, n, md, ptr::null_mut(), ) != 0 { md } else { ptr::null_mut() } } pub unsafe fn SHA512(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar { if EVP_Q_digest( ptr::null_mut(), "SHA512\0".as_ptr() as *const c_char, ptr::null(), d as *const c_void, n, md, ptr::null_mut(), ) != 0 { md } else { ptr::null_mut() } } } else { extern "C" { pub fn SHA384(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar; Loading