aboutsummaryrefslogtreecommitdiff
path: root/openssl-sys/src
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2015-03-23 23:29:44 -0400
committerSteven Fackler <[email protected]>2015-03-23 23:29:44 -0400
commitf664444ac58f03b6ea37996f44a81f3804cf938a (patch)
tree8f85163aa252370b00a0b6dff4b72778c52e266b /openssl-sys/src
parentMerge pull request #187 from manuels/x509_sign (diff)
parentopenssl: Add tests for server-side NPN (diff)
downloadrust-openssl-f664444ac58f03b6ea37996f44a81f3804cf938a.tar.xz
rust-openssl-f664444ac58f03b6ea37996f44a81f3804cf938a.zip
Merge pull request #185 from mlalic/npn-bindings
Add TLS Next Protocol Negotiation
Diffstat (limited to 'openssl-sys/src')
-rw-r--r--openssl-sys/src/lib.rs34
1 files changed, 34 insertions, 0 deletions
diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs
index 1b404d14..59f11b65 100644
--- a/openssl-sys/src/lib.rs
+++ b/openssl-sys/src/lib.rs
@@ -134,6 +134,18 @@ pub const SSL_VERIFY_PEER: c_int = 1;
pub const TLSEXT_NAMETYPE_host_name: c_long = 0;
+pub const SSL_TLSEXT_ERR_OK: c_int = 0;
+pub const SSL_TLSEXT_ERR_ALERT_WARNING: c_int = 1;
+pub const SSL_TLSEXT_ERR_ALERT_FATAL: c_int = 2;
+pub const SSL_TLSEXT_ERR_NOACK: c_int = 3;
+
+#[cfg(feature = "npn")]
+pub const OPENSSL_NPN_UNSUPPORTED: c_int = 0;
+#[cfg(feature = "npn")]
+pub const OPENSSL_NPN_NEGOTIATED: c_int = 1;
+#[cfg(feature = "npn")]
+pub const OPENSSL_NPN_NO_OVERLAP: c_int = 2;
+
pub const V_ASN1_GENERALIZEDTIME: c_int = 24;
pub const V_ASN1_UTCTIME: c_int = 23;
@@ -490,6 +502,28 @@ extern "C" {
pub fn SSL_CTX_set_cipher_list(ssl: *mut SSL_CTX, s: *const c_char) -> c_int;
pub fn SSL_CTX_ctrl(ssl: *mut SSL_CTX, cmd: c_int, larg: c_long, parg: *mut c_void) -> c_long;
+ #[cfg(feature = "npn")]
+ pub fn SSL_CTX_set_next_protos_advertised_cb(ssl: *mut SSL_CTX,
+ cb: extern "C" fn(ssl: *mut SSL,
+ out: *mut *const c_uchar,
+ outlen: *mut c_uint,
+ arg: *mut c_void) -> c_int,
+ arg: *mut c_void);
+ #[cfg(feature = "npn")]
+ pub fn SSL_CTX_set_next_proto_select_cb(ssl: *mut SSL_CTX,
+ cb: extern "C" fn(ssl: *mut SSL,
+ out: *mut *mut c_uchar,
+ outlen: *mut c_uchar,
+ inbuf: *const c_uchar,
+ inlen: c_uint,
+ arg: *mut c_void) -> c_int,
+ arg: *mut c_void);
+ #[cfg(feature = "npn")]
+ pub fn SSL_select_next_proto(out: *mut *mut c_uchar, outlen: *mut c_uchar,
+ inbuf: *const c_uchar, inlen: c_uint,
+ client: *const c_uchar, client_len: c_uint) -> c_int;
+ #[cfg(feature = "npn")]
+ pub fn SSL_get0_next_proto_negotiated(s: *const SSL, data: *mut *const c_uchar, len: *mut c_uint);
pub fn X509_add_ext(x: *mut X509, ext: *mut X509_EXTENSION, loc: c_int) -> c_int;
pub fn X509_digest(x: *mut X509, digest: *const EVP_MD, buf: *mut c_char, len: *mut c_uint) -> c_int;