aboutsummaryrefslogtreecommitdiff
path: root/openssl
diff options
context:
space:
mode:
Diffstat (limited to 'openssl')
-rw-r--r--openssl/src/ec_key.rs36
-rw-r--r--openssl/src/ssl/mod.rs4
2 files changed, 3 insertions, 37 deletions
diff --git a/openssl/src/ec_key.rs b/openssl/src/ec_key.rs
index 81b790aa..95175eaa 100644
--- a/openssl/src/ec_key.rs
+++ b/openssl/src/ec_key.rs
@@ -1,49 +1,15 @@
use ffi;
-use std::ops::Deref;
use cvt_p;
use error::ErrorStack;
use nid::Nid;
-use opaque::Opaque;
-pub struct EcKeyRef(Opaque);
-
-impl EcKeyRef {
- pub unsafe fn from_ptr<'a>(ptr: *mut ffi::EC_KEY) -> &'a EcKeyRef {
- &*(ptr as *mut _)
- }
-
- pub fn as_ptr(&self) -> *mut ffi::EC_KEY {
- self as *const _ as *mut _
- }
-}
-
-pub struct EcKey(*mut ffi::EC_KEY);
-
-impl Drop for EcKey {
- fn drop(&mut self) {
- unsafe {
- ffi::EC_KEY_free(self.0);
- }
- }
-}
+type_!(EcKey, ffi::EC_KEY, ffi::EC_KEY_free);
impl EcKey {
pub fn new_by_curve_name(nid: Nid) -> Result<EcKey, ErrorStack> {
unsafe { cvt_p(ffi::EC_KEY_new_by_curve_name(nid.as_raw())).map(EcKey) }
}
-
- pub unsafe fn from_ptr(ptr: *mut ffi::EC_KEY) -> EcKey {
- EcKey(ptr)
- }
-}
-
-impl Deref for EcKey {
- type Target = EcKeyRef;
-
- fn deref(&self) -> &EcKeyRef {
- unsafe { EcKeyRef::from_ptr(self.0) }
- }
}
#[cfg(test)]
diff --git a/openssl/src/ssl/mod.rs b/openssl/src/ssl/mod.rs
index 695b2382..97b0fe6e 100644
--- a/openssl/src/ssl/mod.rs
+++ b/openssl/src/ssl/mod.rs
@@ -92,7 +92,7 @@ use ffi;
use {init, cvt, cvt_p};
use dh::Dh;
-use ec_key::EcKeyRef;
+use ec_key::EcKey;
use x509::{X509StoreContextRef, X509FileType, X509, X509Ref, X509VerifyError};
#[cfg(any(ossl102, ossl110))]
use verify::X509VerifyParamRef;
@@ -518,7 +518,7 @@ impl SslContextBuilder {
unsafe { cvt(ffi::SSL_CTX_set_tmp_dh(self.as_ptr(), dh.as_ptr()) as c_int).map(|_| ()) }
}
- pub fn set_tmp_ecdh(&mut self, key: &EcKeyRef) -> Result<(), ErrorStack> {
+ pub fn set_tmp_ecdh(&mut self, key: &Ref<EcKey>) -> Result<(), ErrorStack> {
unsafe { cvt(ffi::SSL_CTX_set_tmp_ecdh(self.as_ptr(), key.as_ptr()) as c_int).map(|_| ()) }
}