aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2016-10-15 12:24:20 -0700
committerSteven Fackler <[email protected]>2016-10-15 12:24:20 -0700
commitbb23b33829ef872ae00ceea8c701d6f64f64e39b (patch)
tree30749de0072369465a1572dcf47bb16bcbd84496
parentSupport HMAC PKeys and remove hmac module (diff)
downloadrust-openssl-bb23b33829ef872ae00ceea8c701d6f64f64e39b.tar.xz
rust-openssl-bb23b33829ef872ae00ceea8c701d6f64f64e39b.zip
Fix signature of EVP_DigestVerifyFinal on 1.0.1
-rw-r--r--openssl-sys/src/lib.rs5
-rw-r--r--openssl-sys/src/ossl10x.rs4
-rw-r--r--openssl/src/crypto/sign.rs2
3 files changed, 9 insertions, 2 deletions
diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs
index 8ad26003..6fe44750 100644
--- a/openssl-sys/src/lib.rs
+++ b/openssl-sys/src/lib.rs
@@ -504,6 +504,11 @@ extern {
type_: *const EVP_MD,
e: *mut ENGINE,
pkey: *mut EVP_PKEY) -> c_int;
+ #[cfg(ossl101)]
+ pub fn EVP_DigestVerifyFinal(ctx: *mut EVP_MD_CTX,
+ sigret: *mut c_uchar,
+ siglen: size_t) -> c_int;
+ #[cfg(not(ossl101))]
pub fn EVP_DigestVerifyFinal(ctx: *mut EVP_MD_CTX,
sigret: *const c_uchar,
siglen: size_t) -> c_int;
diff --git a/openssl-sys/src/ossl10x.rs b/openssl-sys/src/ossl10x.rs
index 16d669b0..595b673b 100644
--- a/openssl-sys/src/ossl10x.rs
+++ b/openssl-sys/src/ossl10x.rs
@@ -2,7 +2,9 @@ use std::sync::{Mutex, MutexGuard};
use std::sync::{Once, ONCE_INIT};
use std::mem;
-use libc::{c_int, c_char, c_void, c_long, c_uchar, size_t, c_uint, c_ulong, time_t};
+use libc::{c_int, c_char, c_void, c_long, c_uchar, size_t, c_uint, c_ulong};
+#[cfg(not(ossl101))]
+use libc::time_t;
#[repr(C)]
pub struct stack_st_ASN1_OBJECT {
diff --git a/openssl/src/crypto/sign.rs b/openssl/src/crypto/sign.rs
index 47549574..db3be9fa 100644
--- a/openssl/src/crypto/sign.rs
+++ b/openssl/src/crypto/sign.rs
@@ -113,7 +113,7 @@ impl<'a> Verifier<'a> {
pub fn finish(&self, signature: &[u8]) -> Result<(), ErrorStack> {
unsafe {
try_ssl_if!(ffi::EVP_DigestVerifyFinal(self.0,
- signature.as_ptr() as *const _,
+ signature.as_ptr() as *const _ as _,
signature.len()) != 1);
Ok(())
}