From e06a209e72bf79a4089992dedec4011295af45c0 Mon Sep 17 00:00:00 2001 From: Benjamin Saunders Date: Sun, 25 Feb 2018 19:22:33 -0800 Subject: [PATCH] Expose FFI bindings needed for SSL_stateless --- openssl-sys/src/lib.rs | 36 ++++++++++++++++++++++++++++++++++++ openssl-sys/src/ossl111.rs | 11 +++++++++++ 2 files changed, 47 insertions(+) create mode 100644 openssl-sys/src/ossl111.rs diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index 7f3af1d78..77f69188e 100644 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -18,6 +18,11 @@ mod ossl110; #[cfg(ossl110)] pub use ossl110::*; +#[cfg(ossl111)] +mod ossl111; +#[cfg(ossl111)] +pub use ossl111::*; + #[cfg(libressl)] mod libressl; #[cfg(libressl)] @@ -1430,6 +1435,8 @@ pub const GEN_URI: c_int = 6; pub const GEN_IPADD: c_int = 7; pub const GEN_RID: c_int = 8; +pub const DTLS1_COOKIE_LENGTH: c_uint = 256; + // macros pub unsafe fn BIO_get_mem_data(b: *mut BIO, pp: *mut *mut c_char) -> c_long { BIO_ctrl(b, BIO_CTRL_INFO, 0, pp as *mut c_void) @@ -2762,4 +2769,33 @@ extern "C" { pub fn FIPS_mode_set(onoff: c_int) -> c_int; #[cfg(not(libressl))] pub fn FIPS_mode() -> c_int; + + pub fn SSL_CTX_set_cookie_generate_cb( + s: *mut SSL_CTX, + cb: Option c_int> + ); + + #[cfg(ossl110)] + pub fn SSL_CTX_set_cookie_verify_cb( + s: *mut SSL_CTX, + cb: Option c_int> + ); + + #[cfg(not(ossl110))] + pub fn SSL_CTX_set_cookie_verify_cb( + s: *mut SSL_CTX, + cb: Option c_int> + ); } diff --git a/openssl-sys/src/ossl111.rs b/openssl-sys/src/ossl111.rs new file mode 100644 index 000000000..c22d506c3 --- /dev/null +++ b/openssl-sys/src/ossl111.rs @@ -0,0 +1,11 @@ +use libc::{c_int, c_ulong}; + +use ossl110::*; + +pub const SSL_COOKIE_LENGTH: c_int = 255; + +pub const SSL_OP_ENABLE_MIDDLEBOX_COMPAT: c_ulong = 0x00100000; + +extern "C" { + pub fn SSL_stateless(s: *mut SSL) -> c_int; +} -- GitLab