aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Saunders <[email protected]>2018-02-25 19:22:33 -0800
committerBenjamin Saunders <[email protected]>2018-02-25 19:58:49 -0800
commite06a209e72bf79a4089992dedec4011295af45c0 (patch)
tree5187daecc8d647007428a38e5cc3355403417848
parentMerge pull request #850 from sfackler/put-error (diff)
downloadrust-openssl-e06a209e72bf79a4089992dedec4011295af45c0.tar.xz
rust-openssl-e06a209e72bf79a4089992dedec4011295af45c0.zip
Expose FFI bindings needed for SSL_stateless
-rw-r--r--openssl-sys/src/lib.rs36
-rw-r--r--openssl-sys/src/ossl111.rs11
2 files changed, 47 insertions, 0 deletions
diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs
index 7f3af1d7..77f69188 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<extern "C" fn(
+ ssl: *mut SSL,
+ cookie: *mut c_uchar,
+ cookie_len: *mut c_uint
+ ) -> c_int>
+ );
+
+ #[cfg(ossl110)]
+ pub fn SSL_CTX_set_cookie_verify_cb(
+ s: *mut SSL_CTX,
+ cb: Option<extern "C" fn(
+ ssl: *mut SSL,
+ cookie: *const c_uchar,
+ cookie_len: c_uint
+ ) -> c_int>
+ );
+
+ #[cfg(not(ossl110))]
+ pub fn SSL_CTX_set_cookie_verify_cb(
+ s: *mut SSL_CTX,
+ cb: Option<extern "C" fn(
+ ssl: *mut SSL,
+ cookie: *mut c_uchar,
+ cookie_len: c_uint
+ ) -> c_int>
+ );
}
diff --git a/openssl-sys/src/ossl111.rs b/openssl-sys/src/ossl111.rs
new file mode 100644
index 00000000..c22d506c
--- /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;
+}