Add init calls to new constructors
This commit is contained in:
parent
d78acc729b
commit
18c5d1f771
|
|
@ -7,7 +7,10 @@ pub struct ConfMethod(*mut ffi::CONF_METHOD);
|
||||||
|
|
||||||
impl ConfMethod {
|
impl ConfMethod {
|
||||||
pub fn default() -> ConfMethod {
|
pub fn default() -> ConfMethod {
|
||||||
unsafe { ConfMethod(ffi::NCONF_default()) }
|
unsafe {
|
||||||
|
ffi::init();
|
||||||
|
ConfMethod(ffi::NCONF_default())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub unsafe fn from_ptr(ptr: *mut ffi::CONF_METHOD) -> ConfMethod {
|
pub unsafe fn from_ptr(ptr: *mut ffi::CONF_METHOD) -> ConfMethod {
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ use std::convert::AsRef;
|
||||||
use std::marker::PhantomData;
|
use std::marker::PhantomData;
|
||||||
use libc::c_int;
|
use libc::c_int;
|
||||||
use std::mem;
|
use std::mem;
|
||||||
|
use ffi;
|
||||||
|
|
||||||
use {cvt, cvt_p};
|
use {cvt, cvt_p};
|
||||||
use error::ErrorStack;
|
use error::ErrorStack;
|
||||||
|
|
@ -37,6 +38,7 @@ pub struct Stack<T: Stackable>(*mut T::StackType);
|
||||||
impl<T: Stackable> Stack<T> {
|
impl<T: Stackable> Stack<T> {
|
||||||
pub fn new() -> Result<Stack<T>, ErrorStack> {
|
pub fn new() -> Result<Stack<T>, ErrorStack> {
|
||||||
unsafe {
|
unsafe {
|
||||||
|
ffi::init();
|
||||||
let ptr = try!(cvt_p(OPENSSL_sk_new_null()));
|
let ptr = try!(cvt_p(OPENSSL_sk_new_null()));
|
||||||
Ok(Stack(ptr as *mut _))
|
Ok(Stack(ptr as *mut _))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -360,6 +360,7 @@ pub struct X509Builder(X509);
|
||||||
impl X509Builder {
|
impl X509Builder {
|
||||||
pub fn new() -> Result<X509Builder, ErrorStack> {
|
pub fn new() -> Result<X509Builder, ErrorStack> {
|
||||||
unsafe {
|
unsafe {
|
||||||
|
ffi::init();
|
||||||
cvt_p(ffi::X509_new()).map(|p| X509Builder(X509(p)))
|
cvt_p(ffi::X509_new()).map(|p| X509Builder(X509(p)))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -610,6 +611,7 @@ impl X509Extension {
|
||||||
let name = CString::new(name).unwrap();
|
let name = CString::new(name).unwrap();
|
||||||
let value = CString::new(value).unwrap();
|
let value = CString::new(value).unwrap();
|
||||||
unsafe {
|
unsafe {
|
||||||
|
ffi::init();
|
||||||
let conf = conf.map_or(ptr::null_mut(), ConfRef::as_ptr);
|
let conf = conf.map_or(ptr::null_mut(), ConfRef::as_ptr);
|
||||||
let context = context.map_or(ptr::null_mut(), X509v3Context::as_ptr);
|
let context = context.map_or(ptr::null_mut(), X509v3Context::as_ptr);
|
||||||
let name = name.as_ptr() as *mut _;
|
let name = name.as_ptr() as *mut _;
|
||||||
|
|
@ -626,6 +628,7 @@ impl X509Extension {
|
||||||
-> Result<X509Extension, ErrorStack> {
|
-> Result<X509Extension, ErrorStack> {
|
||||||
let value = CString::new(value).unwrap();
|
let value = CString::new(value).unwrap();
|
||||||
unsafe {
|
unsafe {
|
||||||
|
ffi::init();
|
||||||
let conf = conf.map_or(ptr::null_mut(), ConfRef::as_ptr);
|
let conf = conf.map_or(ptr::null_mut(), ConfRef::as_ptr);
|
||||||
let context = context.map_or(ptr::null_mut(), X509v3Context::as_ptr);
|
let context = context.map_or(ptr::null_mut(), X509v3Context::as_ptr);
|
||||||
let name = name.as_raw();
|
let name = name.as_raw();
|
||||||
|
|
@ -640,7 +643,10 @@ pub struct X509NameBuilder(X509Name);
|
||||||
|
|
||||||
impl X509NameBuilder {
|
impl X509NameBuilder {
|
||||||
pub fn new() -> Result<X509NameBuilder, ErrorStack> {
|
pub fn new() -> Result<X509NameBuilder, ErrorStack> {
|
||||||
unsafe { cvt_p(ffi::X509_NAME_new()).map(|p| X509NameBuilder(X509Name(p))) }
|
unsafe {
|
||||||
|
ffi::init();
|
||||||
|
cvt_p(ffi::X509_NAME_new()).map(|p| X509NameBuilder(X509Name(p)))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn append_entry_by_text(&mut self, field: &str, value: &str) -> Result<(), ErrorStack> {
|
pub fn append_entry_by_text(&mut self, field: &str, value: &str) -> Result<(), ErrorStack> {
|
||||||
|
|
@ -751,7 +757,11 @@ pub struct X509ReqBuilder(X509Req);
|
||||||
|
|
||||||
impl X509ReqBuilder {
|
impl X509ReqBuilder {
|
||||||
pub fn new() -> Result<X509ReqBuilder, ErrorStack> {
|
pub fn new() -> Result<X509ReqBuilder, ErrorStack> {
|
||||||
unsafe { cvt_p(ffi::X509_REQ_new()).map(|p| X509ReqBuilder(X509Req(p))) }
|
unsafe {
|
||||||
|
ffi::init();
|
||||||
|
cvt_p(ffi::X509_REQ_new()).map(|p| X509ReqBuilder(X509Req(p)))
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn set_version(&mut self, version: i32) -> Result<(), ErrorStack> {
|
pub fn set_version(&mut self, version: i32) -> Result<(), ErrorStack> {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue