diff options
| author | Geoffroy Couprie <[email protected]> | 2015-11-22 20:01:41 +0100 |
|---|---|---|
| committer | Geoffroy Couprie <[email protected]> | 2015-11-24 17:11:00 +0100 |
| commit | dba3a0ced24147414abaa9f8394b9f249b08f599 (patch) | |
| tree | da99b20484258027de111f8873f08275ff367945 | |
| parent | test SNI support (diff) | |
| download | rust-openssl-dba3a0ced24147414abaa9f8394b9f249b08f599.tar.xz rust-openssl-dba3a0ced24147414abaa9f8394b9f249b08f599.zip | |
implement get/set ssl context
| -rw-r--r-- | openssl-sys/src/lib.rs | 1 | ||||
| -rw-r--r-- | openssl/src/ssl/mod.rs | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index be33ea4c..e2eaab38 100644 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -534,6 +534,7 @@ extern "C" { pub fn SSL_write(ssl: *mut SSL, buf: *const c_void, num: c_int) -> c_int; 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_set_SSL_CTX(ssl: *mut SSL, ctx: *mut SSL_CTX) -> *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_get_ssl_method(ssl: *mut SSL) -> *const SSL_METHOD; diff --git a/openssl/src/ssl/mod.rs b/openssl/src/ssl/mod.rs index f73c263a..736e6b4c 100644 --- a/openssl/src/ssl/mod.rs +++ b/openssl/src/ssl/mod.rs @@ -982,6 +982,14 @@ impl Ssl { } } + pub fn set_ssl_context(&self, ctx: &SslContext) -> SslContext { + SslContext { ctx: unsafe { ffi::SSL_set_SSL_CTX(self.ssl, ctx.ctx) } } + } + + pub fn get_ssl_context(&self) -> SslContext { + let ssl_ctx = unsafe { ffi::SSL_get_SSL_CTX(self.ssl) }; + SslContext { ctx: ssl_ctx } + } } macro_rules! make_LibSslError { |