aboutsummaryrefslogtreecommitdiff
path: root/openssl-sys/src
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2017-01-04 21:33:47 -0800
committerSteven Fackler <[email protected]>2017-01-04 22:01:30 -0800
commit404e0341d82d5aab58daaa48b864eaf1a281d101 (patch)
treec851d1643b7cfa2fdc73012fcebb420735356371 /openssl-sys/src
parentAdd basic session tests (diff)
downloadrust-openssl-404e0341d82d5aab58daaa48b864eaf1a281d101.tar.xz
rust-openssl-404e0341d82d5aab58daaa48b864eaf1a281d101.zip
Provide master key access
Diffstat (limited to 'openssl-sys/src')
-rw-r--r--openssl-sys/src/libressl.rs4
-rw-r--r--openssl-sys/src/ossl10x.rs6
-rw-r--r--openssl-sys/src/ossl110.rs6
3 files changed, 10 insertions, 6 deletions
diff --git a/openssl-sys/src/libressl.rs b/openssl-sys/src/libressl.rs
index 83c5aee6..2c747ffe 100644
--- a/openssl-sys/src/libressl.rs
+++ b/openssl-sys/src/libressl.rs
@@ -361,8 +361,8 @@ pub struct SSL_CTX {
#[repr(C)]
pub struct SSL_SESSION {
ssl_version: c_int,
- master_key_length: c_int,
- master_key: [c_uchar; SSL_MAX_MASTER_KEY_LENGTH as usize],
+ pub master_key_length: c_int,
+ pub master_key: [c_uchar; 48],
session_id_length: c_uint,
session_id: [c_uchar; SSL_MAX_SSL_SESSION_ID_LENGTH as usize],
sid_ctx_length: c_uint,
diff --git a/openssl-sys/src/ossl10x.rs b/openssl-sys/src/ossl10x.rs
index 5b0ca3d5..4d37d2a1 100644
--- a/openssl-sys/src/ossl10x.rs
+++ b/openssl-sys/src/ossl10x.rs
@@ -420,8 +420,8 @@ pub struct SSL_SESSION {
ssl_version: c_int,
key_arg_length: c_uint,
key_arg: [c_uchar; SSL_MAX_KEY_ARG_LENGTH as usize],
- master_key_length: c_uint,
- master_key: [c_uchar; SSL_MAX_MASTER_KEY_LENGTH as usize],
+ pub master_key_length: c_int,
+ pub master_key: [c_uchar; 48],
session_id_length: c_uint,
session_id: [c_uchar; SSL_MAX_SSL_SESSION_ID_LENGTH as usize],
sid_ctx_length: c_uint,
@@ -429,7 +429,7 @@ pub struct SSL_SESSION {
#[cfg(not(osslconf = "OPENSSL_NO_KRB5"))]
krb5_client_princ_len: c_uint,
#[cfg(not(osslconf = "OPENSSL_NO_KRB5"))]
- krb5_client_princ: [c_uchar; SSL_MAX_KRB5_PRINCIPAL_LENGTH],
+ krb5_client_princ: [c_uchar; SSL_MAX_KRB5_PRINCIPAL_LENGTH as usize],
#[cfg(not(osslconf = "OPENSSL_NO_PSK"))]
psk_identity_hint: *mut c_char,
#[cfg(not(osslconf = "OPENSSL_NO_PSK"))]
diff --git a/openssl-sys/src/ossl110.rs b/openssl-sys/src/ossl110.rs
index 9a5d287b..898ad4a2 100644
--- a/openssl-sys/src/ossl110.rs
+++ b/openssl-sys/src/ossl110.rs
@@ -1,4 +1,4 @@
-use libc::{c_int, c_void, c_char, c_uchar, c_ulong, c_long, c_uint};
+use libc::{c_int, c_void, c_char, c_uchar, c_ulong, c_long, c_uint, size_t};
pub enum BIGNUM {}
pub enum BIO {}
@@ -156,6 +156,10 @@ extern {
-> c_int;
pub fn X509_up_ref(x: *mut X509) -> c_int;
pub fn SSL_CTX_up_ref(x: *mut SSL_CTX) -> c_int;
+ pub fn SSL_SESSION_get_master_key(session: *const SSL_SESSION,
+ out: *mut c_uchar,
+ outlen: size_t)
+ -> size_t;
pub fn X509_get0_extensions(req: *const ::X509) -> *const stack_st_X509_EXTENSION;
pub fn X509_STORE_CTX_get0_chain(ctx: *mut ::X509_STORE_CTX) -> *mut stack_st_X509;
pub fn EVP_MD_CTX_new() -> *mut EVP_MD_CTX;