From d207897458f8fbd0b2ff6d879721b2f787a5d72b Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Sat, 30 Dec 2017 21:46:17 -0800 Subject: Parameterize keys over what they contain Closes #790 --- openssl/src/ssl/callbacks.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'openssl/src/ssl/callbacks.rs') diff --git a/openssl/src/ssl/callbacks.rs b/openssl/src/ssl/callbacks.rs index 0d211691..17f8c1f6 100644 --- a/openssl/src/ssl/callbacks.rs +++ b/openssl/src/ssl/callbacks.rs @@ -10,6 +10,7 @@ use error::ErrorStack; use dh::Dh; #[cfg(any(all(feature = "v101", ossl101), all(feature = "v102", ossl102)))] use ec::EcKey; +use pkey::Params; use ssl::{get_callback_idx, get_ssl_callback_idx, SniError, SslRef}; #[cfg(any(all(feature = "v102", ossl102), all(feature = "v110", ossl110)))] use ssl::AlpnError; @@ -147,7 +148,7 @@ pub unsafe extern "C" fn raw_tmp_dh( keylength: c_int, ) -> *mut ffi::DH where - F: Fn(&mut SslRef, bool, u32) -> Result + 'static + Sync + Send, + F: Fn(&mut SslRef, bool, u32) -> Result, ErrorStack> + 'static + Sync + Send, { let ctx = ffi::SSL_get_SSL_CTX(ssl); let callback = ffi::SSL_CTX_get_ex_data(ctx, get_callback_idx::()); @@ -174,7 +175,7 @@ pub unsafe extern "C" fn raw_tmp_ecdh( keylength: c_int, ) -> *mut ffi::EC_KEY where - F: Fn(&mut SslRef, bool, u32) -> Result + 'static + Sync + Send, + F: Fn(&mut SslRef, bool, u32) -> Result, ErrorStack> + 'static + Sync + Send, { let ctx = ffi::SSL_get_SSL_CTX(ssl); let callback = ffi::SSL_CTX_get_ex_data(ctx, get_callback_idx::()); @@ -200,7 +201,7 @@ pub unsafe extern "C" fn raw_tmp_dh_ssl( keylength: c_int, ) -> *mut ffi::DH where - F: Fn(&mut SslRef, bool, u32) -> Result + 'static + Sync + Send, + F: Fn(&mut SslRef, bool, u32) -> Result, ErrorStack> + 'static + Sync + Send, { let callback = ffi::SSL_get_ex_data(ssl, get_ssl_callback_idx::()); let callback = &*(callback as *mut F); @@ -226,7 +227,7 @@ pub unsafe extern "C" fn raw_tmp_ecdh_ssl( keylength: c_int, ) -> *mut ffi::EC_KEY where - F: Fn(&mut SslRef, bool, u32) -> Result + 'static + Sync + Send, + F: Fn(&mut SslRef, bool, u32) -> Result, ErrorStack> + 'static + Sync + Send, { let callback = ffi::SSL_get_ex_data(ssl, get_ssl_callback_idx::()); let callback = &*(callback as *mut F); -- cgit v1.2.3