diff options
| author | Steven Fackler <[email protected]> | 2015-12-15 19:42:12 -0800 |
|---|---|---|
| committer | Steven Fackler <[email protected]> | 2015-12-15 19:42:12 -0800 |
| commit | cf075d8e6b7f5849a40659f380a660dc226a9118 (patch) | |
| tree | 630ed9e2a3fcd047fd95a778977585803cd5a94a /openssl-sys-extras/src | |
| parent | Merge branch 'release-v0.7.1' into release (diff) | |
| parent | Release v0.7.2 (diff) | |
| download | rust-openssl-0.7.2.tar.xz rust-openssl-0.7.2.zip | |
Merge branch 'release-v0.7.2' into releasev0.7.2
Diffstat (limited to 'openssl-sys-extras/src')
| -rw-r--r-- | openssl-sys-extras/src/lib.rs | 16 | ||||
| -rw-r--r-- | openssl-sys-extras/src/openssl_shim.c | 24 |
2 files changed, 38 insertions, 2 deletions
diff --git a/openssl-sys-extras/src/lib.rs b/openssl-sys-extras/src/lib.rs index a768f436..85bb4392 100644 --- a/openssl-sys-extras/src/lib.rs +++ b/openssl-sys-extras/src/lib.rs @@ -1,10 +1,10 @@ #![allow(non_upper_case_globals, non_snake_case)] -#![doc(html_root_url="https://sfackler.github.io/rust-openssl/doc/v0.7.0")] +#![doc(html_root_url="https://sfackler.github.io/rust-openssl/doc/v0.7.2")] extern crate openssl_sys; extern crate libc; -use libc::{c_int, c_uint, c_long, c_char}; +use libc::{c_int, c_uint, c_long, c_char, c_void}; use openssl_sys::{HMAC_CTX, EVP_MD, ENGINE, SSL_CTX, BIO, X509, stack_st_X509_EXTENSION, SSL, DH}; macro_rules! import_options { @@ -49,6 +49,14 @@ extern { pub fn BIO_set_nbio(b: *mut BIO, enabled: c_long) -> c_long; #[link_name = "BIO_set_mem_eof_return_shim"] pub fn BIO_set_mem_eof_return(b: *mut BIO, v: c_int); + #[link_name = "BIO_clear_retry_flags_shim"] + pub fn BIO_clear_retry_flags(b: *mut BIO); + #[link_name = "BIO_set_retry_read_shim"] + pub fn BIO_set_retry_read(b: *mut BIO); + #[link_name = "BIO_set_retry_write_shim"] + pub fn BIO_set_retry_write(b: *mut BIO); + #[link_name = "BIO_flush"] + pub fn BIO_flush(b: *mut BIO) -> c_long; pub fn SSL_CTX_set_options_shim(ctx: *mut SSL_CTX, options: c_long) -> c_long; pub fn SSL_CTX_get_options_shim(ctx: *mut SSL_CTX) -> c_long; pub fn SSL_CTX_clear_options_shim(ctx: *mut SSL_CTX, options: c_long) -> c_long; @@ -65,4 +73,8 @@ extern { pub fn SSL_CTX_set_tmp_dh(s: *mut SSL, dh: *const DH) -> c_long; #[link_name = "X509_get_extensions_shim"] pub fn X509_get_extensions(x: *mut X509) -> *mut stack_st_X509_EXTENSION; + #[link_name = "SSL_CTX_set_tlsext_servername_callback_shim"] + pub fn SSL_CTX_set_tlsext_servername_callback(ssl: *mut SSL_CTX, callback: Option<extern fn()>); + #[link_name = "SSL_CTX_set_tlsext_servername_arg_shim"] + pub fn SSL_CTX_set_tlsext_servername_arg(ssl: *mut SSL_CTX, arg: *const c_void); } diff --git a/openssl-sys-extras/src/openssl_shim.c b/openssl-sys-extras/src/openssl_shim.c index 84adb47b..c3deeebc 100644 --- a/openssl-sys-extras/src/openssl_shim.c +++ b/openssl-sys-extras/src/openssl_shim.c @@ -91,6 +91,22 @@ void BIO_set_mem_eof_return_shim(BIO *b, int v) { BIO_set_mem_eof_return(b, v); } +void BIO_clear_retry_flags_shim(BIO *b) { + BIO_clear_retry_flags(b); +} + +void BIO_set_retry_read_shim(BIO *b) { + BIO_set_retry_read(b); +} + +void BIO_set_retry_write_shim(BIO *b) { + BIO_set_retry_write(b); +} + +long BIO_flush_shim(BIO *b) { + return BIO_flush(b); +} + long SSL_CTX_set_options_shim(SSL_CTX *ctx, long options) { return SSL_CTX_set_options(ctx, options); } @@ -115,6 +131,14 @@ long SSL_CTX_set_tmp_dh_shim(SSL_CTX *ctx, DH *dh) { return SSL_CTX_set_tmp_dh(ctx, dh); } +long SSL_CTX_set_tlsext_servername_callback_shim(SSL_CTX *ctx, int (*callback)(SSL_CTX *, int *, void*)) { + return SSL_CTX_set_tlsext_servername_callback(ctx, callback); +} + +long SSL_CTX_set_tlsext_servername_arg_shim(SSL_CTX *ctx, void* arg) { + return SSL_CTX_set_tlsext_servername_arg(ctx, arg); +} + #if OPENSSL_VERSION_NUMBER >= 0x10002000L int SSL_CTX_set_ecdh_auto_shim(SSL_CTX *ctx, int onoff) { return SSL_CTX_set_ecdh_auto(ctx, onoff); |