From 2a646916d75571e9232e3a6a5a6cd439fe639257 Mon Sep 17 00:00:00 2001 From: Valerii Hiora Date: Wed, 7 Jan 2015 15:32:51 +0200 Subject: Handle recent breaking changes - macro reform - split of Show and String in formatter - CString reform - feature changes --- src/x509/mod.rs | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'src/x509/mod.rs') diff --git a/src/x509/mod.rs b/src/x509/mod.rs index 4537e553..2792ca1c 100644 --- a/src/x509/mod.rs +++ b/src/x509/mod.rs @@ -1,6 +1,6 @@ -use libc::{c_int, c_long, c_uint}; -use std::c_str::ToCStr; +use libc::{c_char, c_int, c_long, c_uint}; use std::cmp::Ordering; +use std::ffi::CString; use std::iter::repeat; use std::mem; use std::num::SignedInt; @@ -243,11 +243,11 @@ impl X509Generator { let mut ctx: ffi::X509V3_CTX = mem::zeroed(); ffi::X509V3_set_ctx(&mut ctx, x509, x509, ptr::null_mut(), ptr::null_mut(), 0); - let ext = value.with_c_str(|value| - ffi::X509V3_EXT_conf_nid(ptr::null_mut(), - mem::transmute(&ctx), - extension, - mem::transmute(value))); + let value = CString::from_slice(value.as_bytes()); + let ext = ffi::X509V3_EXT_conf_nid(ptr::null_mut(), + mem::transmute(&ctx), + extension, + value.as_ptr() as *mut c_char); let mut success = false; if ext != ptr::null_mut() { @@ -260,12 +260,12 @@ impl X509Generator { fn add_name(name: *mut ffi::X509_NAME, key: &str, value: &str) -> Result<(), SslError> { let value_len = value.len() as c_int; - lift_ssl!(key.with_c_str(|key| { - value.with_c_str(|value| unsafe { - ffi::X509_NAME_add_entry_by_txt(name, key, ffi::MBSTRING_UTF8, - value, value_len, -1, 0) - }) - })) + lift_ssl!(unsafe { + let key = CString::from_slice(key.as_bytes()); + let value = CString::from_slice(value.as_bytes()); + ffi::X509_NAME_add_entry_by_txt(name, key.as_ptr(), ffi::MBSTRING_UTF8, + value.as_ptr(), value_len, -1, 0) + }) } fn random_serial() -> c_long { -- cgit v1.2.3