aboutsummaryrefslogtreecommitdiff
path: root/openssl-sys/src
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2018-05-22 20:42:46 -0700
committerGitHub <[email protected]>2018-05-22 20:42:46 -0700
commitc7db3d18ad8eba06012891eeb1117361310c637a (patch)
tree4c12ed8417fd5ce6e788bcc82b5535cdd234af85 /openssl-sys/src
parentFix changelog (diff)
parentExpose early I/O (diff)
downloadrust-openssl-c7db3d18ad8eba06012891eeb1117361310c637a.tar.xz
rust-openssl-c7db3d18ad8eba06012891eeb1117361310c637a.zip
Merge pull request #920 from Ralith/max-early-data-accessors
TLS1.3 early data support
Diffstat (limited to 'openssl-sys/src')
-rw-r--r--openssl-sys/src/lib.rs3
-rw-r--r--openssl-sys/src/openssl/v111.rs23
2 files changed, 26 insertions, 0 deletions
diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs
index 04a50855..bc8f44e1 100644
--- a/openssl-sys/src/lib.rs
+++ b/openssl-sys/src/lib.rs
@@ -2839,4 +2839,7 @@ extern "C" {
pub fn EVP_MD_size(md: *const EVP_MD) -> c_int;
pub fn EVP_get_cipherbyname(name: *const c_char) -> *const EVP_CIPHER;
+
+ pub fn SSL_set_connect_state(s: *mut SSL);
+ pub fn SSL_set_accept_state(s: *mut SSL);
}
diff --git a/openssl-sys/src/openssl/v111.rs b/openssl-sys/src/openssl/v111.rs
index 8574efc8..36682663 100644
--- a/openssl-sys/src/openssl/v111.rs
+++ b/openssl-sys/src/openssl/v111.rs
@@ -55,6 +55,9 @@ pub const SSL_EXT_TLS1_3_CERTIFICATE: c_uint = 0x1000;
pub const SSL_EXT_TLS1_3_NEW_SESSION_TICKET: c_uint = 0x2000;
pub const SSL_EXT_TLS1_3_CERTIFICATE_REQUEST: c_uint = 0x4000;
+pub const SSL_READ_EARLY_DATA_ERROR: c_int = 0;
+pub const SSL_READ_EARLY_DATA_SUCCESS: c_int = 1;
+pub const SSL_READ_EARLY_DATA_FINISH: c_int = 2;
extern "C" {
pub fn SSL_CTX_set_keylog_callback(ctx: *mut ::SSL_CTX, cb: SSL_CTX_keylog_cb_func);
@@ -82,4 +85,24 @@ extern "C" {
cookie_len: size_t
) -> c_int>
);
+
+ pub fn SSL_CTX_set_max_early_data(ctx: *mut ::SSL_CTX, max_early_data: u32) -> c_int;
+ pub fn SSL_CTX_get_max_early_data(ctx: *const ::SSL_CTX) -> u32;
+ pub fn SSL_set_max_early_data(ctx: *mut ::SSL, max_early_data: u32) -> c_int;
+ pub fn SSL_get_max_early_data(ctx: *const ::SSL) -> u32;
+ pub fn SSL_SESSION_set_max_early_data(ctx: *mut ::SSL_SESSION, max_early_data: u32) -> c_int;
+ pub fn SSL_SESSION_get_max_early_data(ctx: *const ::SSL_SESSION) -> u32;
+
+ pub fn SSL_export_keying_material_early(
+ s: *mut ::SSL,
+ out: *mut c_uchar,
+ olen: size_t,
+ label: *const c_char,
+ llen: size_t,
+ context: *const c_uchar,
+ contextlen: size_t,
+ ) -> c_int;
+
+ pub fn SSL_write_early_data(s: *mut ::SSL, buf: *const c_void, num: size_t, written: *mut size_t) -> c_int;
+ pub fn SSL_read_early_data(s: *mut ::SSL, buf: *mut c_void, num: size_t, readbytes: *mut size_t) -> c_int;
}