Add SSL_SESSION
This commit is contained in:
parent
cdf388e3f4
commit
336175990c
|
|
@ -358,6 +358,38 @@ pub struct SSL_CTX {
|
||||||
srtp_profiles: *mut c_void,
|
srtp_profiles: *mut c_void,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[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],
|
||||||
|
session_id_length: c_uint,
|
||||||
|
session_id: [c_uchar; SSL_MAX_SSL_SESSION_ID_LENGTH as usize],
|
||||||
|
sid_ctx_length: c_uint,
|
||||||
|
sid_ctx: [c_uchar; SSL_MAX_SID_CTX_LENGTH as usize],
|
||||||
|
not_resumable: c_int,
|
||||||
|
sess_cert: *mut c_void,
|
||||||
|
peer: *mut X509,
|
||||||
|
verify_result: c_long,
|
||||||
|
timeout: c_long,
|
||||||
|
time: time_t,
|
||||||
|
references: c_int,
|
||||||
|
cipher: *const c_void,
|
||||||
|
cipher_id: c_ulong,
|
||||||
|
ciphers: *mut c_void,
|
||||||
|
ex_data: ::CRYPTO_EX_DATA,
|
||||||
|
prev: *mut c_void,
|
||||||
|
next: *mut c_void,
|
||||||
|
tlsext_hostname: *mut c_char,
|
||||||
|
tlsext_ecpointformatlist_length: size_t,
|
||||||
|
tlsext_ecpointformatlist: *mut u8,
|
||||||
|
tlsext_ellipticcurvelist_length: size_t,
|
||||||
|
tlsext_ellipticcurvelist: *mut u16,
|
||||||
|
tlsext_tick: *mut c_uchar,
|
||||||
|
tlsext_ticklen: size_t,
|
||||||
|
tlsext_tick_lifetime_hint: c_long,
|
||||||
|
}
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
pub struct X509_VERIFY_PARAM {
|
pub struct X509_VERIFY_PARAM {
|
||||||
pub name: *mut c_char,
|
pub name: *mut c_char,
|
||||||
|
|
@ -393,6 +425,10 @@ pub const SSL_OP_SINGLE_ECDH_USE: c_ulong = 0x00080000;
|
||||||
pub const SSL_OP_SINGLE_DH_USE: c_ulong = 0x00100000;
|
pub const SSL_OP_SINGLE_DH_USE: c_ulong = 0x00100000;
|
||||||
pub const SSL_OP_NO_SSLv2: c_ulong = 0x0;
|
pub const SSL_OP_NO_SSLv2: c_ulong = 0x0;
|
||||||
|
|
||||||
|
pub const SSL_MAX_SSL_SESSION_ID_LENGTH: c_int = 32;
|
||||||
|
pub const SSL_MAX_SID_CTX_LENGTH: c_int = 32;
|
||||||
|
pub const SSL_MAX_MASTER_KEY_LENGTH: c_int = 48;
|
||||||
|
|
||||||
pub const SSLEAY_VERSION : c_int = 0;
|
pub const SSLEAY_VERSION : c_int = 0;
|
||||||
pub const SSLEAY_CFLAGS : c_int = 2;
|
pub const SSLEAY_CFLAGS : c_int = 2;
|
||||||
pub const SSLEAY_BUILT_ON : c_int = 3;
|
pub const SSLEAY_BUILT_ON : c_int = 3;
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,7 @@ use std::sync::{Mutex, MutexGuard};
|
||||||
use std::sync::{Once, ONCE_INIT};
|
use std::sync::{Once, ONCE_INIT};
|
||||||
use std::mem;
|
use std::mem;
|
||||||
|
|
||||||
use libc::{c_int, c_char, c_void, c_long, c_uchar, size_t, c_uint, c_ulong};
|
use libc::{c_int, c_char, c_void, c_long, c_uchar, size_t, c_uint, c_ulong, time_t};
|
||||||
#[cfg(not(ossl101))]
|
|
||||||
use libc::time_t;
|
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
pub struct stack_st_ASN1_OBJECT {
|
pub struct stack_st_ASN1_OBJECT {
|
||||||
|
|
@ -417,6 +415,59 @@ pub struct SSL_CTX {
|
||||||
tlsext_ellipticcurvelist: *mut c_uchar,
|
tlsext_ellipticcurvelist: *mut c_uchar,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[repr(C)]
|
||||||
|
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],
|
||||||
|
session_id_length: c_uint,
|
||||||
|
session_id: [c_uchar; SSL_MAX_SSL_SESSION_ID_LENGTH as usize],
|
||||||
|
sid_ctx_length: c_uint,
|
||||||
|
sid_ctx: [c_uchar; SSL_MAX_SID_CTX_LENGTH as usize],
|
||||||
|
#[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],
|
||||||
|
#[cfg(not(osslconf = "OPENSSL_NO_PSK"))]
|
||||||
|
psk_identity_hint: *mut c_char,
|
||||||
|
#[cfg(not(osslconf = "OPENSSL_NO_PSK"))]
|
||||||
|
psk_identity: *mut c_char,
|
||||||
|
not_resumable: c_int,
|
||||||
|
sess_cert: *mut c_void,
|
||||||
|
peer: *mut X509,
|
||||||
|
verify_result: c_long,
|
||||||
|
references: c_int,
|
||||||
|
timeout: c_long,
|
||||||
|
time: time_t,
|
||||||
|
compress_meth: c_uint,
|
||||||
|
cipher: *const c_void,
|
||||||
|
cipher_id: c_ulong,
|
||||||
|
ciphers: *mut c_void,
|
||||||
|
ex_data: ::CRYPTO_EX_DATA,
|
||||||
|
prev: *mut c_void,
|
||||||
|
next: *mut c_void,
|
||||||
|
#[cfg(not(osslconf = "OPENSSL_NO_TLSEXT"))]
|
||||||
|
tlsext_hostname: *mut c_char,
|
||||||
|
#[cfg(all(not(osslconf = "OPENSSL_NO_TLSEXT"), not(osslconf = "OPENSSL_NO_EC")))]
|
||||||
|
tlsext_ecpointformatlist_length: size_t,
|
||||||
|
#[cfg(all(not(osslconf = "OPENSSL_NO_TLSEXT"), not(osslconf = "OPENSSL_NO_EC")))]
|
||||||
|
tlsext_ecpointformatlist: *mut c_uchar,
|
||||||
|
#[cfg(all(not(osslconf = "OPENSSL_NO_TLSEXT"), not(osslconf = "OPENSSL_NO_EC")))]
|
||||||
|
tlsext_ellipticcurvelist_length: size_t,
|
||||||
|
#[cfg(all(not(osslconf = "OPENSSL_NO_TLSEXT"), not(osslconf = "OPENSSL_NO_EC")))]
|
||||||
|
tlsext_ellipticcurvelist: *mut c_uchar,
|
||||||
|
#[cfg(not(osslconf = "OPENSSL_NO_TLSEXT"))]
|
||||||
|
tlsext_tick: *mut c_uchar,
|
||||||
|
#[cfg(not(osslconf = "OPENSSL_NO_TLSEXT"))]
|
||||||
|
tlsext_ticklen: size_t,
|
||||||
|
#[cfg(not(osslconf = "OPENSSL_NO_TLSEXT"))]
|
||||||
|
tlsext_tick_lifetime_hint: c_long,
|
||||||
|
#[cfg(not(osslconf = "OPENSSL_NO_SRP"))]
|
||||||
|
srp_username: *mut c_char,
|
||||||
|
}
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
pub struct SRP_CTX {
|
pub struct SRP_CTX {
|
||||||
SRP_cb_arg: *mut c_void,
|
SRP_cb_arg: *mut c_void,
|
||||||
|
|
@ -470,6 +521,12 @@ pub const SSL_OP_SINGLE_ECDH_USE: c_ulong = 0x00080000;
|
||||||
pub const SSL_OP_SINGLE_DH_USE: c_ulong = 0x00100000;
|
pub const SSL_OP_SINGLE_DH_USE: c_ulong = 0x00100000;
|
||||||
pub const SSL_OP_NO_SSLv2: c_ulong = 0x01000000;
|
pub const SSL_OP_NO_SSLv2: c_ulong = 0x01000000;
|
||||||
|
|
||||||
|
pub const SSL_MAX_SSL_SESSION_ID_LENGTH: c_int = 32;
|
||||||
|
pub const SSL_MAX_SID_CTX_LENGTH: c_int = 32;
|
||||||
|
pub const SSL_MAX_KEY_ARG_LENGTH: c_int = 8;
|
||||||
|
pub const SSL_MAX_MASTER_KEY_LENGTH: c_int = 48;
|
||||||
|
pub const SSL_MAX_KRB5_PRINCIPAL_LENGTH: c_int = 256;
|
||||||
|
|
||||||
pub const SSLEAY_VERSION : c_int = 0;
|
pub const SSLEAY_VERSION : c_int = 0;
|
||||||
pub const SSLEAY_CFLAGS : c_int = 2;
|
pub const SSLEAY_CFLAGS : c_int = 2;
|
||||||
pub const SSLEAY_BUILT_ON : c_int = 3;
|
pub const SSLEAY_BUILT_ON : c_int = 3;
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ pub enum HMAC_CTX {}
|
||||||
pub enum OPENSSL_STACK {}
|
pub enum OPENSSL_STACK {}
|
||||||
pub enum RSA {}
|
pub enum RSA {}
|
||||||
pub enum SSL_CTX {}
|
pub enum SSL_CTX {}
|
||||||
|
pub enum SSL_SESSION {}
|
||||||
pub enum stack_st_ASN1_OBJECT {}
|
pub enum stack_st_ASN1_OBJECT {}
|
||||||
pub enum stack_st_GENERAL_NAME {}
|
pub enum stack_st_GENERAL_NAME {}
|
||||||
pub enum stack_st_OPENSSL_STRING {}
|
pub enum stack_st_OPENSSL_STRING {}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue