From 4ed81d6426271344a8fcc9bc4401f10d0f530634 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Sat, 15 Oct 2016 13:12:37 -0700 Subject: [PATCH] Fix EVP_DigestVerifyFinal version support --- openssl/src/crypto/sign.rs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/openssl/src/crypto/sign.rs b/openssl/src/crypto/sign.rs index 2a72a390..c5d54597 100644 --- a/openssl/src/crypto/sign.rs +++ b/openssl/src/crypto/sign.rs @@ -168,9 +168,9 @@ impl<'a> Verifier<'a> { pub fn finish(&self, signature: &[u8]) -> Result { unsafe { - let r = ffi::EVP_DigestVerifyFinal(self.0, - signature.as_ptr() as *const _ as _, - signature.len()); + let r = EVP_DigestVerifyFinal(self.0, + signature.as_ptr() as *const _, + signature.len()); match r { 1 => Ok(true), 0 => { @@ -194,6 +194,17 @@ impl<'a> Write for Verifier<'a> { } } +#[cfg(not(ossl101))] +use ffi::EVP_DigestVerifyFinal; + +#[cfg(ossl101)] +#[allow(bad_style)] +unsafe fn EVP_DigestVerifyFinal(ctx: *mut ffi::EVP_MD_CTX, + sigret: *const ::libc::c_uchar, + siglen: ::libc::size_t) -> ::libc::c_int { + ffi::EVP_DigestVerifyFinal(ctx, sigret as *mut _, siglen) +} + #[cfg(test)] mod test { use serialize::hex::FromHex;