aboutsummaryrefslogtreecommitdiff
path: root/openssl/src
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2017-01-04 21:15:09 -0800
committerSteven Fackler <[email protected]>2017-01-04 21:15:09 -0800
commit0b1bfee46d6c986d6cb073c922045ae98b598900 (patch)
treeb4ccd0d608fcf6f3830b75d101c3619081dc6d0f /openssl/src
parentProvide access to the session ID (diff)
downloadrust-openssl-0b1bfee46d6c986d6cb073c922045ae98b598900.tar.xz
rust-openssl-0b1bfee46d6c986d6cb073c922045ae98b598900.zip
session is nullable
Diffstat (limited to 'openssl/src')
-rw-r--r--openssl/src/ssl/mod.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/openssl/src/ssl/mod.rs b/openssl/src/ssl/mod.rs
index 3949210d..ce9d65ef 100644
--- a/openssl/src/ssl/mod.rs
+++ b/openssl/src/ssl/mod.rs
@@ -1349,8 +1349,15 @@ impl SslRef {
}
/// Returns the SSL session.
- pub fn session(&self) -> &SslSessionRef {
- unsafe { SslSessionRef::from_ptr(ffi::SSL_get_session(self.as_ptr())) }
+ pub fn session(&self) -> Option<&SslSessionRef> {
+ unsafe {
+ let p = ffi::SSL_get_session(self.as_ptr());
+ if p.is_null() {
+ None
+ } else {
+ Some(SslSessionRef::from_ptr(p))
+ }
+ }
}
}