From 381a9b6e511099b71891ebcec48b131cf80f2c51 Mon Sep 17 00:00:00 2001 From: Cody P Schafer Date: Mon, 13 Oct 2014 15:14:58 -0400 Subject: sys (and bn): make CRYPTO_free() take a *mut c_void insead of a *const c_char CRYPTO_free() ends up being used for a variety of types of data, not just c_char. And it essentially takes full ownership of the type, making *mut appropriate. With this change it also more closely (exactly) matches the C defintion: void CRYPTO_free(void *ptr); --- openssl-sys/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'openssl-sys/src') diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index a482c357..649e269e 100755 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -295,7 +295,7 @@ extern "C" { n: c_int, file: *const c_char, line: c_int)); - pub fn CRYPTO_free(buf: *const c_char); + pub fn CRYPTO_free(buf: *mut c_void); pub fn CRYPTO_memcmp(a: *const c_void, b: *const c_void, len: size_t) -> c_int; -- cgit v1.2.3 From 9951cb2bdacf2a313e0bff0c8f13d966610f1db3 Mon Sep 17 00:00:00 2001 From: Cody P Schafer Date: Tue, 23 Sep 2014 15:28:00 -0400 Subject: sys: add some methods for dealing with x509 certs --- openssl-sys/src/lib.rs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'openssl-sys/src') diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index 649e269e..dec39b1b 100755 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -33,6 +33,7 @@ pub type X509 = c_void; pub type X509_CRL = c_void; pub type X509_EXTENSION = c_void; pub type X509_NAME = c_void; +pub type X509_NAME_ENTRY = c_void; pub type X509_REQ = c_void; pub type X509_STORE_CTX = c_void; @@ -455,6 +456,11 @@ extern "C" { pub fn X509_EXTENSION_free(ext: *mut X509_EXTENSION); pub fn X509_NAME_add_entry_by_txt(x: *mut X509, field: *const c_char, ty: c_int, bytes: *const c_char, len: c_int, loc: c_int, set: c_int) -> c_int; + pub fn X509_NAME_get_index_by_NID(n: *mut X509_NAME, nid: c_int, last_pos: c_int) ->c_int; + pub fn X509_NAME_get_entry(n: *mut X509_NAME, loc: c_int) -> *mut X509_NAME_ENTRY; + pub fn X509_NAME_ENTRY_get_data(ne: *mut X509_NAME_ENTRY) -> *mut ASN1_STRING; + + pub fn ASN1_STRING_to_UTF8(out: *mut *mut c_char, s: *mut ASN1_STRING) -> c_int; pub fn X509_STORE_CTX_get_current_cert(ct: *mut X509_STORE_CTX) -> *mut X509; pub fn X509_STORE_CTX_get_error(ctx: *mut X509_STORE_CTX) -> c_int; -- cgit v1.2.3 From c6696eb02905bfc10f4cc7983f649ae5e9787466 Mon Sep 17 00:00:00 2001 From: Cody P Schafer Date: Mon, 24 Nov 2014 15:40:48 -0500 Subject: sys: add SSL_get_peer_certificate() --- openssl-sys/src/lib.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'openssl-sys/src') diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index dec39b1b..3a92a8d4 100755 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -415,6 +415,7 @@ extern "C" { pub fn SSL_get_ex_data_X509_STORE_CTX_idx() -> c_int; pub fn SSL_get_SSL_CTX(ssl: *mut SSL) -> *mut SSL_CTX; pub fn SSL_get_current_compression(ssl: *mut SSL) -> *const COMP_METHOD; + pub fn SSL_get_peer_certificate(ssl: *mut SSL) -> *mut X509; pub fn SSL_COMP_get_name(comp: *const COMP_METHOD) -> *const c_char; -- cgit v1.2.3