aboutsummaryrefslogtreecommitdiff
path: root/openssl/src
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2016-08-10 21:07:41 -0700
committerSteven Fackler <[email protected]>2016-08-10 21:07:41 -0700
commit5e6b8e68fdcc94c6d7a931925bb32b145caeb3db (patch)
treecc7175eb0d2b30b7f7c7279711fab64424587c5a /openssl/src
parentAsn1 and Bignum renames (diff)
downloadrust-openssl-5e6b8e68fdcc94c6d7a931925bb32b145caeb3db.tar.xz
rust-openssl-5e6b8e68fdcc94c6d7a931925bb32b145caeb3db.zip
More API cleanup
Diffstat (limited to 'openssl/src')
-rw-r--r--openssl/src/bn/mod.rs8
-rw-r--r--openssl/src/crypto/rsa.rs31
-rw-r--r--openssl/src/dh/mod.rs9
-rw-r--r--openssl/src/ssl/mod.rs2
4 files changed, 29 insertions, 21 deletions
diff --git a/openssl/src/bn/mod.rs b/openssl/src/bn/mod.rs
index 2f751037..de9d0d2a 100644
--- a/openssl/src/bn/mod.rs
+++ b/openssl/src/bn/mod.rs
@@ -1,7 +1,7 @@
use libc::{c_int, c_ulong, c_void};
use std::ffi::{CStr, CString};
use std::cmp::Ordering;
-use std::{fmt, ptr, mem};
+use std::{fmt, ptr};
use std::marker::PhantomData;
use std::ops::{Add, Div, Mul, Neg, Rem, Shl, Shr, Sub, Deref, DerefMut};
@@ -677,12 +677,6 @@ impl BigNum {
})
}
}
-
- pub fn into_raw(self) -> *mut ffi::BIGNUM {
- let ptr = self.as_ptr();
- mem::forget(self);
- ptr
- }
}
impl Drop for BigNum {
diff --git a/openssl/src/crypto/rsa.rs b/openssl/src/crypto/rsa.rs
index e68b2420..822f305f 100644
--- a/openssl/src/crypto/rsa.rs
+++ b/openssl/src/crypto/rsa.rs
@@ -1,6 +1,7 @@
use ffi;
use std::fmt;
use std::ptr;
+use std::mem;
use libc::{c_int, c_void, c_char, c_ulong};
use bn::{BigNum, BigNumRef};
@@ -26,8 +27,10 @@ impl RSA {
pub fn from_public_components(n: BigNum, e: BigNum) -> Result<RSA, ErrorStack> {
unsafe {
let rsa = try_ssl_null!(ffi::RSA_new());
- (*rsa).n = n.into_raw();
- (*rsa).e = e.into_raw();
+ (*rsa).n = n.as_ptr();
+ (*rsa).e = e.as_ptr();
+ mem::forget(n);
+ mem::forget(e);
Ok(RSA(rsa))
}
}
@@ -43,14 +46,22 @@ impl RSA {
-> Result<RSA, ErrorStack> {
unsafe {
let rsa = try_ssl_null!(ffi::RSA_new());
- (*rsa).n = n.into_raw();
- (*rsa).e = e.into_raw();
- (*rsa).d = d.into_raw();
- (*rsa).p = p.into_raw();
- (*rsa).q = q.into_raw();
- (*rsa).dmp1 = dp.into_raw();
- (*rsa).dmq1 = dq.into_raw();
- (*rsa).iqmp = qi.into_raw();
+ (*rsa).n = n.as_ptr();
+ (*rsa).e = e.as_ptr();
+ (*rsa).d = d.as_ptr();
+ (*rsa).p = p.as_ptr();
+ (*rsa).q = q.as_ptr();
+ (*rsa).dmp1 = dp.as_ptr();
+ (*rsa).dmq1 = dq.as_ptr();
+ (*rsa).iqmp = qi.as_ptr();
+ mem::forget(n);
+ mem::forget(e);
+ mem::forget(d);
+ mem::forget(p);
+ mem::forget(q);
+ mem::forget(dp);
+ mem::forget(dq);
+ mem::forget(qi);
Ok(RSA(rsa))
}
}
diff --git a/openssl/src/dh/mod.rs b/openssl/src/dh/mod.rs
index 0a37a5e2..1f4fd7fe 100644
--- a/openssl/src/dh/mod.rs
+++ b/openssl/src/dh/mod.rs
@@ -10,8 +10,11 @@ impl DH {
#[cfg(feature = "dh_from_params")]
pub fn from_params(p: BigNum, g: BigNum, q: BigNum) -> Result<DH, ErrorStack> {
let dh = unsafe {
- try_ssl_null!(::c_helpers::rust_DH_new_from_params(p.into_raw(), g.into_raw(), q.into_raw()))
+ try_ssl_null!(::c_helpers::rust_DH_new_from_params(p.as_ptr(), g.as_ptr(), q.as_ptr()))
};
+ mem::forget(p);
+ mem::forget(g);
+ mem::forget(q);
Ok(DH(dh))
}
@@ -42,7 +45,7 @@ impl DH {
Ok(DH(dh))
}
- pub unsafe fn raw(&self) -> *mut ffi::DH {
+ pub unsafe fn as_ptr(&self) -> *mut ffi::DH {
let DH(n) = *self;
n
}
@@ -51,7 +54,7 @@ impl DH {
impl Drop for DH {
fn drop(&mut self) {
unsafe {
- ffi::DH_free(self.raw())
+ ffi::DH_free(self.as_ptr())
}
}
}
diff --git a/openssl/src/ssl/mod.rs b/openssl/src/ssl/mod.rs
index 792762a9..5c2cdd64 100644
--- a/openssl/src/ssl/mod.rs
+++ b/openssl/src/ssl/mod.rs
@@ -466,7 +466,7 @@ impl<'a> SslContextRef<'a> {
}
pub fn set_tmp_dh(&mut self, dh: &DH) -> Result<(), ErrorStack> {
- wrap_ssl_result(unsafe { ffi::SSL_CTX_set_tmp_dh(self.as_ptr(), dh.raw()) as i32 })
+ wrap_ssl_result(unsafe { ffi::SSL_CTX_set_tmp_dh(self.as_ptr(), dh.as_ptr()) as i32 })
}
/// Use the default locations of trusted certificates for verification.