aboutsummaryrefslogtreecommitdiff
path: root/openssl-sys/src
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2017-05-20 15:53:45 -0700
committerSteven Fackler <[email protected]>2017-05-20 15:53:45 -0700
commit7d587e2c93348a699dbd3b46286f4d5eda6ccd11 (patch)
treed904246914caceec04e6cfc7e4df9042435b9616 /openssl-sys/src
parentRelease v0.9.12 (diff)
downloadrust-openssl-7d587e2c93348a699dbd3b46286f4d5eda6ccd11.tar.xz
rust-openssl-7d587e2c93348a699dbd3b46286f4d5eda6ccd11.zip
Rustfmt
Diffstat (limited to 'openssl-sys/src')
-rw-r--r--openssl-sys/src/lib.rs807
-rw-r--r--openssl-sys/src/libressl/mod.rs226
-rw-r--r--openssl-sys/src/libressl/v250.rs17
-rw-r--r--openssl-sys/src/libressl/v25x.rs2
-rw-r--r--openssl-sys/src/ossl10x.rs253
-rw-r--r--openssl-sys/src/ossl110.rs129
6 files changed, 972 insertions, 462 deletions
diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs
index 455195d2..8f5003a3 100644
--- a/openssl-sys/src/lib.rs
+++ b/openssl-sys/src/lib.rs
@@ -64,10 +64,26 @@ pub enum BN_BLINDING {}
pub enum DSA_METHOD {}
pub enum EVP_PKEY_ASN1_METHOD {}
-pub type bio_info_cb = Option<unsafe extern fn(*mut BIO, c_int, *const c_char, c_int, c_long, c_long)>;
-pub type GEN_SESSION_CB = Option<unsafe extern fn(*const SSL, *mut c_uchar, *mut c_uint) -> c_int>;
-pub type tls_session_ticket_ext_cb_fn = Option<unsafe extern fn(*mut SSL, *const c_uchar, c_int, *mut c_void) -> c_int>;
-pub type tls_session_secret_cb_fn = Option<unsafe extern fn(*mut SSL, *mut c_void, *mut c_int, *mut stack_st_SSL_CIPHER, *mut *mut SSL_CIPHER, *mut c_void) -> c_int>;
+pub type bio_info_cb = Option<unsafe extern "C" fn(*mut BIO,
+ c_int,
+ *const c_char,
+ c_int,
+ c_long,
+ c_long)>;
+pub type GEN_SESSION_CB = Option<unsafe extern "C" fn(*const SSL, *mut c_uchar, *mut c_uint)
+ -> c_int>;
+pub type tls_session_ticket_ext_cb_fn = Option<unsafe extern "C" fn(*mut SSL,
+ *const c_uchar,
+ c_int,
+ *mut c_void)
+ -> c_int>;
+pub type tls_session_secret_cb_fn = Option<unsafe extern "C" fn(*mut SSL,
+ *mut c_void,
+ *mut c_int,
+ *mut stack_st_SSL_CIPHER,
+ *mut *mut SSL_CIPHER,
+ *mut c_void)
+ -> c_int>;
#[repr(C)]
#[derive(Copy, Clone)]
@@ -108,19 +124,31 @@ pub type BN_ULONG = libc::c_ulonglong;
#[cfg(target_pointer_width = "32")]
pub type BN_ULONG = c_uint;
-pub type CRYPTO_EX_new = unsafe extern fn(parent: *mut c_void, ptr: *mut c_void,
- ad: *const CRYPTO_EX_DATA, idx: c_int,
- argl: c_long, argp: *const c_void) -> c_int;
-pub type CRYPTO_EX_dup = unsafe extern fn(to: *mut CRYPTO_EX_DATA,
- from: *mut CRYPTO_EX_DATA, from_d: *mut c_void,
- idx: c_int, argl: c_long, argp: *mut c_void)
- -> c_int;
-pub type CRYPTO_EX_free = unsafe extern fn(parent: *mut c_void, ptr: *mut c_void,
- ad: *mut CRYPTO_EX_DATA, idx: c_int,
- argl: c_long, argp: *mut c_void);
-pub type PasswordCallback = unsafe extern fn(buf: *mut c_char, size: c_int,
- rwflag: c_int, user_data: *mut c_void)
- -> c_int;
+pub type CRYPTO_EX_new = unsafe extern "C" fn(parent: *mut c_void,
+ ptr: *mut c_void,
+ ad: *const CRYPTO_EX_DATA,
+ idx: c_int,
+ argl: c_long,
+ argp: *const c_void)
+ -> c_int;
+pub type CRYPTO_EX_dup = unsafe extern "C" fn(to: *mut CRYPTO_EX_DATA,
+ from: *mut CRYPTO_EX_DATA,
+ from_d: *mut c_void,
+ idx: c_int,
+ argl: c_long,
+ argp: *mut c_void)
+ -> c_int;
+pub type CRYPTO_EX_free = unsafe extern "C" fn(parent: *mut c_void,
+ ptr: *mut c_void,
+ ad: *mut CRYPTO_EX_DATA,
+ idx: c_int,
+ argl: c_long,
+ argp: *mut c_void);
+pub type PasswordCallback = unsafe extern "C" fn(buf: *mut c_char,
+ size: c_int,
+ rwflag: c_int,
+ user_data: *mut c_void)
+ -> c_int;
pub const AES_ENCRYPT: c_int = 1;
pub const AES_DECRYPT: c_int = 0;
@@ -166,8 +194,8 @@ pub const EVP_CTRL_GCM_SET_IVLEN: c_int = 0x9;
pub const EVP_CTRL_GCM_GET_TAG: c_int = 0x10;
pub const EVP_CTRL_GCM_SET_TAG: c_int = 0x11;
-pub const MBSTRING_ASC: c_int = MBSTRING_FLAG | 1;
-pub const MBSTRING_BMP: c_int = MBSTRING_FLAG | 2;
+pub const MBSTRING_ASC: c_int = MBSTRING_FLAG | 1;
+pub const MBSTRING_BMP: c_int = MBSTRING_FLAG | 2;
pub const MBSTRING_FLAG: c_int = 0x1000;
pub const MBSTRING_UNIV: c_int = MBSTRING_FLAG | 4;
pub const MBSTRING_UTF8: c_int = MBSTRING_FLAG;
@@ -1137,7 +1165,7 @@ pub const SSL_CTRL_SET_TMP_ECDH: c_int = 4;
pub const SSL_CTRL_EXTRA_CHAIN_CERT: c_int = 14;
pub const SSL_CTRL_MODE: c_int = 33;
pub const SSL_CTRL_SET_READ_AHEAD: c_int = 41;
-pub const SSL_CTRL_SET_TLSEXT_SERVERNAME_CB: c_int = 53;
+pub const SSL_CTRL_SET_TLSEXT_SERVERNAME_CB: c_int = 53;
pub const SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG: c_int = 54;
pub const SSL_CTRL_SET_TLSEXT_HOSTNAME: c_int = 55;
pub const SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB: c_int = 63;
@@ -1175,35 +1203,35 @@ pub const SSL_VERIFY_PEER: c_int = 1;
pub const SSL_VERIFY_FAIL_IF_NO_PEER_CERT: c_int = 2;
#[cfg(not(ossl101))]
-pub const SSL_OP_TLSEXT_PADDING: c_ulong = 0x00000010;
-pub const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: c_ulong = 0x00000800;
+pub const SSL_OP_TLSEXT_PADDING: c_ulong = 0x00000010;
+pub const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: c_ulong = 0x00000800;
#[cfg(not(libressl))]
-pub const SSL_OP_ALL: c_ulong = 0x80000BFF;
-pub const SSL_OP_NO_QUERY_MTU: c_ulong = 0x00001000;
-pub const SSL_OP_COOKIE_EXCHANGE: c_ulong = 0x00002000;
-pub const SSL_OP_NO_TICKET: c_ulong = 0x00004000;
+pub const SSL_OP_ALL: c_ulong = 0x80000BFF;
+pub const SSL_OP_NO_QUERY_MTU: c_ulong = 0x00001000;
+pub const SSL_OP_COOKIE_EXCHANGE: c_ulong = 0x00002000;
+pub const SSL_OP_NO_TICKET: c_ulong = 0x00004000;
#[cfg(not(libressl))]
-pub const SSL_OP_CISCO_ANYCONNECT: c_ulong = 0x00008000;
-pub const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: c_ulong = 0x00010000;
+pub const SSL_OP_CISCO_ANYCONNECT: c_ulong = 0x00008000;
+pub const SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION: c_ulong = 0x00010000;
#[cfg(not(libressl))]
-pub const SSL_OP_NO_COMPRESSION: c_ulong = 0x00020000;
+pub const SSL_OP_NO_COMPRESSION: c_ulong = 0x00020000;
#[cfg(not(libressl))]
-pub const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: c_ulong = 0x00040000;
-pub const SSL_OP_CIPHER_SERVER_PREFERENCE: c_ulong = 0x00400000;
-pub const SSL_OP_TLS_ROLLBACK_BUG: c_ulong = 0x00800000;
+pub const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: c_ulong = 0x00040000;
+pub const SSL_OP_CIPHER_SERVER_PREFERENCE: c_ulong = 0x00400000;
+pub const SSL_OP_TLS_ROLLBACK_BUG: c_ulong = 0x00800000;
#[cfg(not(libressl))]
-pub const SSL_OP_NO_SSLv3: c_ulong = 0x02000000;
-pub const SSL_OP_NO_TLSv1: c_ulong = 0x04000000;
-pub const SSL_OP_NO_TLSv1_2: c_ulong = 0x08000000;
-pub const SSL_OP_NO_TLSv1_1: c_ulong = 0x10000000;
+pub const SSL_OP_NO_SSLv3: c_ulong = 0x02000000;
+pub const SSL_OP_NO_TLSv1: c_ulong = 0x04000000;
+pub const SSL_OP_NO_TLSv1_2: c_ulong = 0x08000000;
+pub const SSL_OP_NO_TLSv1_1: c_ulong = 0x10000000;
#[cfg(not(any(ossl101, libressl)))]
-pub const SSL_OP_NO_DTLSv1: c_ulong = 0x04000000;
+pub const SSL_OP_NO_DTLSv1: c_ulong = 0x04000000;
#[cfg(not(any(ossl101, libressl)))]
-pub const SSL_OP_NO_DTLSv1_2: c_ulong = 0x08000000;
+pub const SSL_OP_NO_DTLSv1_2: c_ulong = 0x08000000;
#[cfg(not(any(ossl101, libressl)))]
-pub const SSL_OP_NO_SSL_MASK: c_ulong = SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 |
- SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2;
+pub const SSL_OP_NO_SSL_MASK: c_ulong =
+ SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2;
pub const TLSEXT_NAMETYPE_host_name: c_int = 0;
@@ -1219,7 +1247,7 @@ pub const OPENSSL_NPN_NEGOTIATED: c_int = 1;
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;
+pub const V_ASN1_UTCTIME: c_int = 23;
pub const X509_FILETYPE_ASN1: c_int = 2;
pub const X509_FILETYPE_DEFAULT: c_int = 3;
@@ -1319,11 +1347,21 @@ pub unsafe fn BIO_set_retry_write(b: *mut BIO) {
// EVP_PKEY_CTX_ctrl macros
pub unsafe fn EVP_PKEY_CTX_set_rsa_padding(ctx: *mut EVP_PKEY_CTX, pad: c_int) -> c_int {
- EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, -1, EVP_PKEY_CTRL_RSA_PADDING, pad, ptr::null_mut())
+ EVP_PKEY_CTX_ctrl(ctx,
+ EVP_PKEY_RSA,
+ -1,
+ EVP_PKEY_CTRL_RSA_PADDING,
+ pad,
+ ptr::null_mut())
}
pub unsafe fn EVP_PKEY_CTX_get_rsa_padding(ctx: *mut EVP_PKEY_CTX, ppad: *mut c_int) -> c_int {
- EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, -1, EVP_PKEY_CTRL_GET_RSA_PADDING, 0, ppad as *mut c_void)
+ EVP_PKEY_CTX_ctrl(ctx,
+ EVP_PKEY_RSA,
+ -1,
+ EVP_PKEY_CTRL_GET_RSA_PADDING,
+ 0,
+ ppad as *mut c_void)
}
pub unsafe fn SSL_CTX_set_mode(ctx: *mut SSL_CTX, op: c_long) -> c_long {
@@ -1360,23 +1398,29 @@ pub unsafe fn SSL_CTX_set0_verify_cert_store(ctx: *mut SSL_CTX, st: *mut X509_ST
}
pub unsafe fn SSL_CTX_set_tlsext_servername_callback(ctx: *mut SSL_CTX,
- cb: Option<extern fn()>)
+ cb: Option<extern "C" fn()>)
-> c_long {
SSL_CTX_callback_ctrl(ctx, SSL_CTRL_SET_TLSEXT_SERVERNAME_CB, cb)
}
pub unsafe fn SSL_set_tlsext_host_name(s: *mut SSL, name: *mut c_char) -> c_long {
- SSL_ctrl(s, SSL_CTRL_SET_TLSEXT_HOSTNAME,
+ SSL_ctrl(s,
+ SSL_CTRL_SET_TLSEXT_HOSTNAME,
TLSEXT_NAMETYPE_host_name as c_long,
name as *mut c_void)
}
pub unsafe fn SSL_set_tlsext_status_type(s: *mut SSL, type_: c_int) -> c_long {
- SSL_ctrl(s, SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE, type_ as c_long, ptr::null_mut())
+ SSL_ctrl(s,
+ SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE,
+ type_ as c_long,
+ ptr::null_mut())
}
pub unsafe fn SSL_CTX_set_tlsext_status_cb(ctx: *mut SSL_CTX,
- cb: Option<unsafe extern fn(*mut SSL, *mut c_void) -> c_int>)
+ cb: Option<unsafe extern "C" fn(*mut SSL,
+ *mut c_void)
+ -> c_int>)
-> c_long {
SSL_CTX_callback_ctrl(ctx, SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB, mem::transmute(cb))
}
@@ -1385,16 +1429,27 @@ pub unsafe fn SSL_CTX_set_tlsext_status_arg(ctx: *mut SSL_CTX, arg: *mut c_void)
SSL_CTX_ctrl(ctx, SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG, 0, arg)
}
-pub unsafe fn SSL_CTX_get_extra_chain_certs(ctx: *mut SSL_CTX, chain: *mut *mut stack_st_X509) -> c_long {
+pub unsafe fn SSL_CTX_get_extra_chain_certs(ctx: *mut SSL_CTX,
+ chain: *mut *mut stack_st_X509)
+ -> c_long {
SSL_CTX_ctrl(ctx, SSL_CTRL_GET_EXTRA_CHAIN_CERTS, 0, chain as *mut c_void)
}
pub unsafe fn SSL_get_tlsext_status_ocsp_resp(ssl: *mut SSL, resp: *mut *mut c_uchar) -> c_long {
- SSL_ctrl(ssl, SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP, 0, resp as *mut c_void)
+ SSL_ctrl(ssl,
+ SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP,
+ 0,
+ resp as *mut c_void)
}
-pub unsafe fn SSL_set_tlsext_status_ocsp_resp(ssl: *mut SSL, resp: *mut c_uchar, len: c_long) -> c_long {
- SSL_ctrl(ssl, SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP, len, resp as *mut c_void)
+pub unsafe fn SSL_set_tlsext_status_ocsp_resp(ssl: *mut SSL,
+ resp: *mut c_uchar,
+ len: c_long)
+ -> c_long {
+ SSL_ctrl(ssl,
+ SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP,
+ len,
+ resp as *mut c_void)
}
pub fn ERR_GET_LIB(l: c_ulong) -> c_int {
@@ -1409,10 +1464,15 @@ pub fn ERR_GET_REASON(l: c_ulong) -> c_int {
(l & 0xFFF) as c_int
}
-extern {
+extern "C" {
pub fn AES_set_encrypt_key(userKey: *const c_uchar, bits: c_int, key: *mut AES_KEY) -> c_int;
pub fn AES_set_decrypt_key(userKey: *const c_uchar, bits: c_int, key: *mut AES_KEY) -> c_int;
- pub fn AES_ige_encrypt(in_: *const c_uchar, out: *mut c_uchar, length: size_t, key: *const AES_KEY, ivec: *mut c_uchar, enc: c_int);
+ pub fn AES_ige_encrypt(in_: *const c_uchar,
+ out: *mut c_uchar,
+ length: size_t,
+ key: *const AES_KEY,
+ ivec: *mut c_uchar,
+ enc: c_int);
pub fn ASN1_INTEGER_get(dest: *const ASN1_INTEGER) -> c_long;
pub fn ASN1_INTEGER_set(dest: *mut ASN1_INTEGER, value: c_long) -> c_int;
@@ -1449,17 +1509,54 @@ extern {
pub fn BN_set_negative(bn: *mut BIGNUM, n: c_int);
pub fn BN_set_word(bn: *mut BIGNUM, n: BN_ULONG) -> c_int;
pub fn BN_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM) -> c_int;
- pub fn BN_div(dv: *mut BIGNUM, rem: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM, ctx: *mut BN_CTX) -> c_int;
+ pub fn BN_div(dv: *mut BIGNUM,
+ rem: *mut BIGNUM,
+ a: *const BIGNUM,
+ b: *const BIGNUM,
+ ctx: *mut BN_CTX)
+ -> c_int;
pub fn BN_exp(r: *mut BIGNUM, a: *const BIGNUM, p: *const BIGNUM, ctx: *mut BN_CTX) -> c_int;
pub fn BN_gcd(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM, ctx: *mut BN_CTX) -> c_int;
- pub fn BN_mod_add(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM, m: *const BIGNUM, ctx: *mut BN_CTX) -> c_int;
- pub fn BN_mod_exp(r: *mut BIGNUM, a: *const BIGNUM, p: *const BIGNUM, m: *const BIGNUM, ctx: *mut BN_CTX) -> c_int;
- pub fn BN_mod_inverse(r: *mut BIGNUM, a: *const BIGNUM, n: *const BIGNUM, ctx: *mut BN_CTX) -> *mut BIGNUM;
- pub fn BN_mod_mul(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM, m: *const BIGNUM, ctx: *mut BN_CTX) -> c_int;
- pub fn BN_mod_sqr(r: *mut BIGNUM, a: *const BIGNUM, m: *const BIGNUM, ctx: *mut BN_CTX) -> c_int;
- pub fn BN_mod_sub(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM, m: *const BIGNUM, ctx: *mut BN_CTX) -> c_int;
+ pub fn BN_mod_add(r: *mut BIGNUM,
+ a: *const BIGNUM,
+ b: *const BIGNUM,
+ m: *const BIGNUM,
+ ctx: *mut BN_CTX)
+ -> c_int;
+ pub fn BN_mod_exp(r: *mut BIGNUM,
+ a: *const BIGNUM,
+ p: *const BIGNUM,
+ m: *const BIGNUM,
+ ctx: *mut BN_CTX)
+ -> c_int;
+ pub fn BN_mod_inverse(r: *mut BIGNUM,
+ a: *const BIGNUM,
+ n: *const BIGNUM,
+ ctx: *mut BN_CTX)
+ -> *mut BIGNUM;
+ pub fn BN_mod_mul(r: *mut BIGNUM,
+ a: *const BIGNUM,
+ b: *const BIGNUM,
+ m: *const BIGNUM,
+ ctx: *mut BN_CTX)
+ -> c_int;
+ pub fn BN_mod_sqr(r: *mut BIGNUM,
+ a: *const BIGNUM,
+ m: *const BIGNUM,
+ ctx: *mut BN_CTX)
+ -> c_int;
+ pub fn BN_mod_sub(r: *mut BIGNUM,
+ a: *const BIGNUM,
+ b: *const BIGNUM,
+ m: *const BIGNUM,
+ ctx: *mut BN_CTX)
+ -> c_int;
pub fn BN_mul(r: *mut BIGNUM, a: *const BIGNUM, b: *const BIGNUM, ctx: *mut BN_CTX) -> c_int;
- pub fn BN_nnmod(rem: *mut BIGNUM, a: *const BIGNUM, m: *const BIGNUM, ctx: *mut BN_CTX) -> c_int;
+ pub fn BN_nnmod(rem: *mut BIGNUM,
+ a: *const BIGNUM,
+ m: *const BIGNUM,
+ ctx: *mut BN_CTX)
+ -> c_int;
pub fn BN_add_word(r: *mut BIGNUM, w: BN_ULONG) -> c_int;
pub fn BN_sub_word(r: *mut BIGNUM, w: BN_ULONG) -> c_int;
pub fn BN_mul_word(r: *mut BIGNUM, w: BN_ULONG) -> c_int;
@@ -1477,9 +1574,24 @@ extern {
pub fn BN_rshift1(r: *mut BIGNUM, a: *const BIGNUM) -> c_int;
pub fn BN_cmp(a: *const BIGNUM, b: *const BIGNUM) -> c_int;
pub fn BN_ucmp(a: *const BIGNUM, b: *const BIGNUM) -> c_int;
- pub fn BN_generate_prime_ex(r: *mut BIGNUM, bits: c_int, safe: c_int, add: *const BIGNUM, rem: *const BIGNUM, cb: *mut BN_GENCB) -> c_int;
- pub fn BN_is_prime_ex(p: *const BIGNUM, checks: c_int, ctx: *mut BN_CTX, cb: *mut BN_GENCB) -> c_int;
- pub fn BN_is_prime_fasttest_ex(p: *const BIGNUM, checks: c_int, ctx: *mut BN_CTX, do_trial_division: c_int, cb: *mut BN_GENCB) -> c_int;
+ pub fn BN_generate_prime_ex(r: *mut BIGNUM,
+ bits: c_int,
+ safe: c_int,
+ add: *const BIGNUM,
+ rem: *const BIGNUM,
+ cb: *mut BN_GENCB)
+ -> c_int;
+ pub fn BN_is_prime_ex(p: *const BIGNUM,
+ checks: c_int,
+ ctx: *mut BN_CTX,
+ cb: *mut BN_GENCB)
+ -> c_int;
+ pub fn BN_is_prime_fasttest_ex(p: *const BIGNUM,
+ checks: c_int,
+ ctx: *mut BN_CTX,
+ do_trial_division: c_int,
+ cb: *mut BN_GENCB)
+ -> c_int;
pub fn BN_rand(r: *mut BIGNUM, bits: c_int, top: c_int, bottom: c_int) -> c_int;
pub fn BN_pseudo_rand(r: *mut BIGNUM, bits: c_int, top: c_int, bottom: c_int) -> c_int;
pub fn BN_rand_range(r: *mut BIGNUM, range: *const BIGNUM) -> c_int;
@@ -1496,8 +1608,7 @@ extern {
pub fn NCONF_new(meth: *mut CONF_METHOD) -> *mut CONF;
pub fn NCONF_free(conf: *mut CONF);
- pub fn CRYPTO_memcmp(a: *const c_void, b: *const c_void,
- len: size_t) -> c_int;
+ pub fn CRYPTO_memcmp(a: *const c_void, b: *const c_void, len: size_t) -> c_int;
pub fn DH_new() -> *mut DH;
pub fn DH_free(dh: *mut DH);
@@ -1525,31 +1636,82 @@ extern {
pub fn EC_GF2m_simple_method() -> *const EC_METHOD;
pub fn EC_GROUP_new(meth: *const EC_METHOD) -> *mut EC_GROUP;
- pub fn EC_GROUP_new_curve_GFp(p: *const BIGNUM, a: *const BIGNUM, b: *const BIGNUM, ctx: *mut BN_CTX) -> *mut EC_GROUP;
+ pub fn EC_GROUP_new_curve_GFp(p: *const BIGNUM,
+ a: *const BIGNUM,
+ b: *const BIGNUM,
+ ctx: *mut BN_CTX)
+ -> *mut EC_GROUP;
#[cfg(not(osslconf = "OPENSSL_NO_EC2M"))]
- pub fn EC_GROUP_new_curve_GF2m(p: *const BIGNUM, a: *const BIGNUM, b: *const BIGNUM, ctx: *mut BN_CTX) -> *mut EC_GROUP;
+ pub fn EC_GROUP_new_curve_GF2m(p: *const BIGNUM,
+ a: *const BIGNUM,
+ b: *const BIGNUM,
+ ctx: *mut BN_CTX)
+ -> *mut EC_GROUP;
pub fn EC_GROUP_new_by_curve_name(nid: c_int) -> *mut EC_GROUP;
- pub fn EC_GROUP_get_curve_GFp(group: *const EC_GROUP, p: *mut BIGNUM, a: *mut BIGNUM, b: *mut BIGNUM, ctx: *mut BN_CTX) -> c_int;
+ pub fn EC_GROUP_get_curve_GFp(group: *const EC_GROUP,
+ p: *mut BIGNUM,
+ a: *mut BIGNUM,
+ b: *mut BIGNUM,
+ ctx: *mut BN_CTX)
+ -> c_int;
#[cfg(not(osslconf = "OPENSSL_NO_EC2M"))]
- pub fn EC_GROUP_get_curve_GF2m(group: *const EC_GROUP, p: *mut BIGNUM, a: *mut BIGNUM, b: *mut BIGNUM, ctx: *mut BN_CTX) -> c_int;
+ pub fn EC_GROUP_get_curve_GF2m(group: *const EC_GROUP,
+ p: *mut BIGNUM,
+ a: *mut BIGNUM,
+ b: *mut BIGNUM,
+ ctx: *mut BN_CTX)
+ -> c_int;
pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> c_int;
- pub fn EC_GROUP_get_order(group: *const EC_GROUP, order: *mut BIGNUM, ctx: *mut BN_CTX) -> c_int;
+ pub fn EC_GROUP_get_order(group: *const EC_GROUP,
+ order: *mut BIGNUM,
+ ctx: *mut BN_CTX)
+ -> c_int;
pub fn EC_GROUP_set_asn1_flag(key: *mut EC_GROUP, flag: c_int);
pub fn EC_GROUP_free(group: *mut EC_GROUP);
pub fn EC_POINT_new(group: *const EC_GROUP) -> *mut EC_POINT;
- pub fn EC_POINT_add(group: *const EC_GROUP, r: *mut EC_POINT, a: *const EC_POINT, b: *const EC_POINT, ctx: *mut BN_CTX) -> c_int;
- pub fn EC_POINT_mul(group: *const EC_GROUP, r: *mut EC_POINT, n: *const BIGNUM, q: *const EC_POINT, m: *const BIGNUM, ctx: *mut BN_CTX) -> c_int;
+ pub fn EC_POINT_add(group: *const EC_GROUP,
+ r: *mut EC_POINT,
+ a: *const EC_POINT,
+ b: *const EC_POINT,
+ ctx: *mut BN_CTX)
+ -> c_int;
+ pub fn EC_POINT_mul(group: *const EC_GROUP,
+ r: *mut EC_POINT,
+ n: *const BIGNUM,
+ q: *const EC_POINT,
+ m: *const BIGNUM,
+ ctx: *mut BN_CTX)
+ -> c_int;
pub fn EC_POINT_invert(group: *const EC_GROUP, r: *mut EC_POINT, ctx: *mut BN_CTX) -> c_int;
- pub fn EC_POINT_point2oct(group: *const EC_GROUP, p: *const EC_POINT, form: point_conversion_form_t, buf: *mut c_uchar, len: size_t, ctx: *mut BN_CTX) -> size_t;
- pub fn EC_POINT_oct2point(group: *const EC_GROUP, p: *mut EC_POINT, buf: *const c_uchar, len: size_t, ctx: *mut BN_CTX) -> c_int;
- pub fn EC_POINT_cmp(group: *const EC_GROUP, a: *const EC_POINT, b: *const EC_POINT, ctx: *mut BN_CTX) -> c_int;
+ pub fn EC_POINT_point2oct(group: *const EC_GROUP,
+ p: *const EC_POINT,
+ form: point_conversion_form_t,
+ buf: *mut c_uchar,
+ len: size_t,
+ ctx: *mut BN_CTX)
+ -> size_t;
+ pub fn EC_POINT_oct2point(group: *const EC_GROUP,
+ p: *mut EC_POINT,
+ buf: *const c_uchar,
+ len: size_t,
+ ctx: *mut BN_CTX)
+ -> c_int;
+ pub fn EC_POINT_cmp(group: *const EC_GROUP,
+ a: *const EC_POINT,
+ b: *const EC_POINT,
+ ctx: *mut BN_CTX)
+ -> c_int;
pub fn EC_POINT_free(point: *mut EC_POINT);
pub fn ERR_peek_last_error() -> c_ulong;
pub fn ERR_get_error() -> c_ulong;
- pub fn ERR_get_error_line_data(file: *mut *const c_char, line: *mut c_int, data: *mut *const c_char, flags: *mut c_int) -> c_ulong;
+ pub fn ERR_get_error_line_data(file: *mut *const c_char,
+ line: *mut c_int,
+ data: *mut *const c_char,
+ flags: *mut c_int)
+ -> c_ulong;
pub fn ERR_lib_error_string(err: c_ulong) -> *const c_char;
pub fn ERR_func_error_string(err: c_ulong) -> *const c_char;
pub fn ERR_reason_error_string(err: c_ulong) -> *const c_char;
@@ -1588,30 +1750,52 @@ extern {
pub fn EVP_des_cbc() -> *const EVP_CIPHER;
pub fn EVP_des_ecb() -> *const EVP_CIPHER;
- pub fn EVP_BytesToKey(typ: *const EVP_CIPHER, md: *const EVP_MD,
- salt: *const u8, data: *const u8, datalen: c_int,
- count: c_int, key: *mut u8, iv: *mut u8) -> c_int;
+ pub fn EVP_BytesToKey(typ: *const EVP_CIPHER,
+ md: *const EVP_MD,
+ salt: *const u8,
+ data: *const u8,
+ datalen: c_int,
+ count: c_int,
+ key: *mut u8,
+ iv: *mut u8)
+ -> c_int;
pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
pub fn EVP_CIPHER_CTX_set_padding(ctx: *mut EVP_CIPHER_CTX, padding: c_int) -> c_int;
pub fn EVP_CIPHER_CTX_set_key_length(ctx: *mut EVP_CIPHER_CTX, keylen: c_int) -> c_int;
- pub fn EVP_CIPHER_CTX_ctrl(ctx: *mut EVP_CIPHER_CTX, type_: c_int, arg: c_int, ptr: *mut c_void) -> c_int;
+ pub fn EVP_CIPHER_CTX_ctrl(ctx: *mut EVP_CIPHER_CTX,
+ type_: c_int,
+ arg: c_int,
+ ptr: *mut c_void)
+ -> c_int;
pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
- pub fn EVP_CipherInit(ctx: *mut EVP_CIPHER_CTX, evp: *const EVP_CIPHER,
- key: *const u8, iv: *const u8, mode: c_int) -> c_int;
+ pub fn EVP_CipherInit(ctx: *mut EVP_CIPHER_CTX,
+ evp: *const EVP_CIPHER,
+ key: *const u8,
+ iv: *const u8,
+ mode: c_int)
+ -> c_int;
pub fn EVP_CipherInit_ex(ctx: *mut EVP_CIPHER_CTX,
type_: *const EVP_CIPHER,
impl_: *mut ENGINE,
key: *const c_uchar,
iv: *const c_uchar,
- enc: c_int) -> c_int;
- pub fn EVP_CipherUpdate(ctx: *mut EVP_CIPHER_CTX, outbuf: *mut u8,
- outlen: *mut c_int, inbuf: *const u8, inlen: c_int) -> c_int;
+ enc: c_int)
+ -> c_int;
+ pub fn EVP_CipherUpdate(ctx: *mut EVP_CIPHER_CTX,
+ outbuf: *mut u8,
+ outlen: *mut c_int,
+ inbuf: *const u8,
+ inlen: c_int)
+ -> c_int;
pub fn EVP_CipherFinal(ctx: *mut EVP_CIPHER_CTX, res: *mut u8, len: *mut c_int) -> c_int;
pub fn EVP_DigestInit(ctx: *mut EVP_MD_CTX, typ: *const EVP_MD) -> c_int;
- pub fn EVP_DigestInit_ex(ctx: *mut EVP_MD_CTX, typ: *const EVP_MD, imple: *mut ENGINE) -> c_int;
+ pub fn EVP_DigestInit_ex(ctx: *mut EVP_MD_CTX,
+ typ: *const EVP_MD,
+ imple: *mut ENGINE)
+ -> c_int;
pub fn EVP_DigestUpdate(ctx: *mut EVP_MD_CTX, data: *const c_void, n: size_t) -> c_int;
pub fn EVP_DigestFinal(ctx: *mut EVP_MD_CTX, res: *mut u8, n: *mut u32) -> c_int;
pub fn EVP_DigestFinal_ex(ctx: *mut EVP_MD_CTX, res: *mut u8, n: *mut u32) -> c_int;
@@ -1620,23 +1804,28 @@ extern {
pctx: *mut *mut EVP_PKEY_CTX,
type_: *const EVP_MD,
e: *mut ENGINE,
- pkey: *mut EVP_PKEY) -> c_int;
+ pkey: *mut EVP_PKEY)
+ -> c_int;
pub fn EVP_DigestSignFinal(ctx: *mut EVP_MD_CTX,
sig: *mut c_uchar,
- siglen: *mut size_t) -> c_int;
+ siglen: *mut size_t)
+ -> c_int;
pub fn EVP_DigestVerifyInit(ctx: *mut EVP_MD_CTX,
pctx: *mut *mut EVP_PKEY_CTX,
type_: *const EVP_MD,
e: *mut ENGINE,
- pkey: *mut EVP_PKEY) -> c_int;
+ pkey: *mut EVP_PKEY)
+ -> c_int;
#[cfg(any(ossl101, libressl))]
pub fn EVP_DigestVerifyFinal(ctx: *mut EVP_MD_CTX,
sigret: *mut c_uchar,
- siglen: size_t) -> c_int;
+ siglen: size_t)
+ -> c_int;
#[cfg(not(any(ossl101, libressl)))]
pub fn EVP_DigestVerifyFinal(ctx: *mut EVP_MD_CTX,
sigret: *const c_uchar,
- siglen: size_t) -> c_int;
+ siglen: size_t)
+ -> c_int;
pub fn EVP_MD_CTX_copy_ex(dst: *mut EVP_MD_CTX, src: *const EVP_MD_CTX) -> c_int;
@@ -1653,33 +1842,66 @@ extern {
pub fn EVP_PKEY_new_mac_key(type_: c_int,
e: *mut ENGINE,
key: *const c_uchar,
- keylen: c_int) -> *mut EVP_PKEY;
+ keylen: c_int)
+ -> *mut EVP_PKEY;
pub fn EVP_PKEY_derive_init(ctx: *mut EVP_PKEY_CTX) -> c_int;
pub fn EVP_PKEY_derive_set_peer(ctx: *mut EVP_PKEY_CTX, peer: *mut EVP_PKEY) -> c_int;
pub fn EVP_PKEY_derive(ctx: *mut EVP_PKEY_CTX, key: *mut c_uchar, size: *mut size_t) -> c_int;
- pub fn d2i_PKCS8PrivateKey_bio(bp: *mut BIO, x: *mut *mut EVP_PKEY, cb: Option<PasswordCallback>, u: *mut c_void) -> *mut EVP_PKEY;
+ pub fn d2i_PKCS8PrivateKey_bio(bp: *mut BIO,
+ x: *mut *mut EVP_PKEY,
+ cb: Option<PasswordCallback>,
+ u: *mut c_void)
+ -> *mut EVP_PKEY;
pub fn EVP_PKEY_CTX_new(k: *mut EVP_PKEY, e: *mut ENGINE) -> *mut EVP_PKEY_CTX;
pub fn EVP_PKEY_CTX_free(ctx: *mut EVP_PKEY_CTX);
- pub fn EVP_PKEY_CTX_ctrl(ctx: *mut EVP_PKEY_CTX, keytype: c_int, optype: c_int, cmd: c_int, p1: c_int, p2: *mut c_void) -> c_int;
+ pub fn EVP_PKEY_CTX_ctrl(ctx: *mut EVP_PKEY_CTX,
+ keytype: c_int,
+ optype: c_int,
+ cmd: c_int,
+ p1: c_int,
+ p2: *mut c_void)
+ -> c_int;
pub fn HMAC_CTX_copy(dst: *mut HMAC_CTX, src: *mut HMAC_CTX) -> c_int;
pub fn OBJ_obj2nid(o: *const ASN1_OBJECT) -> c_int;
- pub fn OBJ_obj2txt(buf: *mut c_char, buf_len: c_int, a: *const ASN1_OBJECT, no_name: c_int) -> c_int;
+ pub fn OBJ_obj2txt(buf: *mut c_char,
+ buf_len: c_int,
+ a: *const ASN1_OBJECT,
+ no_name: c_int)
+ -> c_int;
pub fn OCSP_BASICRESP_new() -> *mut OCSP_BASICRESP;
pub fn OCSP_BASICRESP_free(r: *mut OCSP_BASICRESP);
- pub fn OCSP_basic_verify(bs: *mut OCSP_BASICRESP, certs: *mut stack_st_X509, st: *mut X509_STORE, flags: c_ulong) -> c_int;
- pub fn OCSP_resp_find_status(bs: *mut OCSP_BASICRESP, id: *mut OCSP_CERTID, status: *mut c_int, reason: *mut c_int, revtime: *mut *mut ASN1_GENERALIZEDTIME, thisupd: *mut *mut ASN1_GENERALIZEDTIME, nextupd: *mut *mut ASN1_GENERALIZEDTIME) -> c_int;
- pub fn OCSP_check_validity(thisupd: *mut ASN1_GENERALIZEDTIME, nextupd: *mut ASN1_GENERALIZEDTIME, sec: c_long, maxsec: c_long) -> c_int;
+ pub fn OCSP_basic_verify(bs: *mut OCSP_BASICRESP,
+ certs: *mut stack_st_X509,
+ st: *mut X509_STORE,
+ flags: c_ulong)
+ -> c_int;
+ pub fn OCSP_resp_find_status(bs: *mut OCSP_BASICRESP,
+ id: *mut OCSP_CERTID,
+ status: *mut c_int,
+ reason: *mut c_int,
+ revtime: *mut *mut ASN1_GENERALIZEDTIME,
+ thisupd: *mut *mut ASN1_GENERALIZEDTIME,
+ nextupd: *mut *mut ASN1_GENERALIZEDTIME)
+ -> c_int;
+ pub fn OCSP_check_validity(thisupd: *mut ASN1_GENERALIZEDTIME,
+ nextupd: *mut ASN1_GENERALIZEDTIME,
+ sec: c_long,
+ maxsec: c_long)
+ -> c_int;
pub fn OCSP_CERTID_free(id: *mut OCSP_CERTID);
pub fn OCSP_RESPONSE_new() -> *mut OCSP_RESPONSE;
pub fn OCSP_RESPONSE_free(r: *mut OCSP_RESPONSE);
pub fn i2d_OCSP_RESPONSE(a: *mut OCSP_RESPONSE, pp: *mut *mut c_uchar) -> c_int;
- pub fn d2i_OCSP_RESPONSE(a: *mut *mut OCSP_RESPONSE, pp: *mut *const c_uchar, length: c_long) -> *mut OCSP_RESPONSE;
+ pub fn d2i_OCSP_RESPONSE(a: *mut *mut OCSP_RESPONSE,
+ pp: *mut *const c_uchar,
+ length: c_long)
+ -> *mut OCSP_RESPONSE;
pub fn OCSP_response_create(status: c_int, bs: *mut OCSP_BASICRESP) -> *mut OCSP_RESPONSE;
pub fn OCSP_response_status(resp: *mut OCSP_RESPONSE) -> c_int;
pub fn OCSP_response_get1_basic(resp: *mut OCSP_RESPONSE) -> *mut OCSP_BASICRESP;
@@ -1687,49 +1909,98 @@ extern {
pub fn OCSP_REQUEST_new() -> *mut OCSP_REQUEST;
pub fn OCSP_REQUEST_free(r: *mut OCSP_REQUEST);
pub fn i2d_OCSP_REQUEST(a: *mut OCSP_REQUEST, pp: *mut *mut c_uchar) -> c_int;
- pub fn d2i_OCSP_REQUEST(a: *mut *mut OCSP_REQUEST, pp: *mut *const c_uchar, length: c_long) -> *mut OCSP_REQUEST;
+ pub fn d2i_OCSP_REQUEST(a: *mut *mut OCSP_REQUEST,
+ pp: *mut *const c_uchar,
+ length: c_long)
+ -> *mut OCSP_REQUEST;
pub fn OCSP_request_add0_id(r: *mut OCSP_REQUEST, id: *mut OCSP_CERTID) -> *mut OCSP_ONEREQ;
pub fn OCSP_ONEREQ_free(r: *mut OCSP_ONEREQ);
- pub fn PEM_read_bio_DHparams(bio: *mut BIO, out: *mut *mut DH, callback: Option<PasswordCallback>,
- user_data: *mut c_void) -> *mut DH;
- pub fn PEM_read_bio_X509(bio: *mut BIO, out: *mut *mut X509, callback: Option<PasswordCallback>,
- user_data: *mut c_void) -> *mut X509;
- pub fn PEM_read_bio_X509_REQ(bio: *mut BIO, out: *mut *mut X509_REQ, callback: Option<PasswordCallback>,
- user_data: *mut c_void) -> *mut X509_REQ;
- pub fn PEM_read_bio_PrivateKey(bio: *mut BIO, out: *mut *mut EVP_PKEY, callback: Option<PasswordCallback>,
- user_data: *mut c_void) -> *mut EVP_PKEY;
- pub fn PEM_read_bio_PUBKEY(bio: *mut BIO, out: *mut *mut EVP_PKEY, callback: Option<PasswordCallback>,
- user_data: *mut c_void) -> *mut EVP_PKEY;
-
- pub fn PEM_read_bio_RSAPrivateKey(bio: *mut BIO, rsa: *mut *mut RSA, callback: Option<PasswordCallback>, user_data: *mut c_void) -> *mut RSA;
- pub fn PEM_read_bio_RSA_PUBKEY(bio: *mut BIO, rsa: *mut *mut RSA, callback: Option<PasswordCallback>, user_data: *mut c_void) -> *mut RSA;
+ pub fn PEM_read_bio_DHparams(bio: *mut BIO,
+ out: *mut *mut DH,
+ callback: Option<PasswordCallback>,
+ user_data: *mut c_void)
+ -> *mut DH;
+ pub fn PEM_read_bio_X509(bio: *mut BIO,
+ out: *mut *mut X509,
+ callback: Option<PasswordCallback>,
+ user_data: *mut c_void)
+ -> *mut X509;
+ pub fn PEM_read_bio_X509_REQ(bio: *mut BIO,
+ out: *mut *mut X509_REQ,
+ callback: Option<PasswordCallback>,
+ user_data: *mut c_void)
+ -> *mut X509_REQ;
+ pub fn PEM_read_bio_PrivateKey(bio: *mut BIO,
+ out: *mut *mut EVP_PKEY,
+ callback: Option<PasswordCallback>,
+ user_data: *mut c_void)
+ -> *mut EVP_PKEY;
+ pub fn PEM_read_bio_PUBKEY(bio: *mut BIO,
+ out: *mut *mut EVP_PKEY,
+ callback: Option<PasswordCallback>,
+ user_data: *mut c_void)
+ -> *mut EVP_PKEY;
+
+ pub fn PEM_read_bio_RSAPrivateKey(bio: *mut BIO,
+ rsa: *mut *mut RSA,
+ callback: Option<PasswordCallback>,
+ user_data: *mut c_void)
+ -> *mut RSA;
+ pub fn PEM_read_bio_RSA_PUBKEY(bio: *mut BIO,
+ rsa: *mut *mut RSA,
+ callback: Option<PasswordCallback>,
+ user_data: *mut c_void)
+ -> *mut RSA;
pub fn PEM_write_bio_DHparams(bio: *mut BIO, x: *const DH) -> c_int;
- pub fn PEM_write_bio_PrivateKey(bio: *mut BIO, pkey: *mut EVP_PKEY, cipher: *const EVP_CIPHER,
- kstr: *mut c_uchar, klen: c_int,
+ pub fn PEM_write_bio_PrivateKey(bio: *mut BIO,
+ pkey: *mut EVP_PKEY,
+ cipher: *const EVP_CIPHER,
+ kstr: *mut c_uchar,
+ klen: c_int,
callback: Option<PasswordCallback>,
- user_data: *mut c_void) -> c_int;
- pub fn PEM_write_bio_PKCS8PrivateKey(bio: *mut BIO, pkey: *mut EVP_PKEY, cipher: *const EVP_CIPHER,
- kstr: *mut c_char, klen: c_int,
- callback: Option<PasswordCallback>,
- user_data: *mut c_void) -> c_int;
+ user_data: *mut c_void)
+ -> c_int;
+ pub fn PEM_write_bio_PKCS8PrivateKey(bio: *mut BIO,
+ pkey: *mut EVP_PKEY,
+ cipher: *const EVP_CIPHER,
+ kstr: *mut c_char,
+ klen: c_int,
+ callback: Option<PasswordCallback>,
+ user_data: *mut c_void)
+ -> c_int;
pub fn PEM_write_bio_PUBKEY(bp: *mut BIO, x: *mut EVP_PKEY) -> c_int;
- pub fn PEM_write_bio_RSAPrivateKey(bp: *mut BIO, rsa: *mut RSA, cipher: *const EVP_CIPHER,
- kstr: *mut c_uchar, klen: c_int,
- callback: Option<PasswordCallback>,
- user_data: *mut c_void) -> c_int;
+ pub fn PEM_write_bio_RSAPrivateKey(bp: *mut BIO,
+ rsa: *mut RSA,
+ cipher: *const EVP_CIPHER,
+ kstr: *mut c_uchar,
+ klen: c_int,
+ callback: Option<PasswordCallback>,
+ user_data: *mut c_void)
+ -> c_int;
pub fn PEM_write_bio_RSAPublicKey(bp: *mut BIO, rsa: *const RSA) -> c_int;
pub fn PEM_write_bio_RSA_PUBKEY(bp: *mut BIO, rsa: *mut RSA) -> c_int;
- pub fn PEM_read_bio_DSAPrivateKey(bp: *mut BIO, dsa: *mut *mut DSA, callback: Option<PasswordCallback>,
- user_data: *mut c_void) -> *mut DSA;
- pub fn PEM_read_bio_DSA_PUBKEY(bp: *mut BIO, dsa: *mut *mut DSA, callback: Option<PasswordCallback>,
- user_data: *mut c_void) -> *mut DSA;
- pub fn PEM_write_bio_DSAPrivateKey(bp: *mut BIO, dsa: *mut DSA, cipher: *const EVP_CIPHER,
- kstr: *mut c_uchar, klen: c_int, callback: Option<PasswordCallback>,
- user_data: *mut c_void) -> c_int;
+ pub fn PEM_read_bio_DSAPrivateKey(bp: *mut BIO,
+ dsa: *mut *mut DSA,
+ callback: Option<PasswordCallback>,
+ user_data: *mut c_void)
+ -> *mut DSA;
+ pub fn PEM_read_bio_DSA_PUBKEY(bp: *mut BIO,
+ dsa: *mut *mut DSA,
+ callback: Option<PasswordCallback>,
+ user_data: *mut c_void)
+ -> *mut DSA;
+ pub fn PEM_write_bio_DSAPrivateKey(bp: *mut BIO,
+ dsa: *mut DSA,
+ cipher: *const EVP_CIPHER,
+ kstr: *mut c_uchar,
+ klen: c_int,
+ callback: Option<PasswordCallback>,
+ user_data: *mut c_void)
+ -> c_int;
pub fn PEM_write_bio_DSA_PUBKEY(bp: *mut BIO, dsa: *mut DSA) -> c_int;
pub fn PEM_write_bio_X509(bio: *mut BIO, x509: *mut X509) -> c_int;
@@ -1743,48 +2014,106 @@ extern {
callback: Option<PasswordCallback>,
user_data: *mut c_void)
-> c_int;
- pub fn PEM_read_bio_ECPrivateKey(bio: *mut BIO, key: *mut *mut EC_KEY, callback: Option<PasswordCallback>, user_data: *mut c_void) -> *mut EC_KEY;
-
- pub fn PKCS5_PBKDF2_HMAC_SHA1(pass: *const c_char, passlen: c_int,
- salt: *const u8, saltlen: c_int,
- iter: c_int, keylen: c_int,
- out: *mut u8) -> c_int;
- pub fn PKCS5_PBKDF2_HMAC(pass: *const c_char, passlen: c_int,
- salt: *const c_uchar, saltlen: c_int,
- iter: c_int, digest: *const EVP_MD, keylen: c_int,
- out: *mut u8) -> c_int;
+ pub fn PEM_read_bio_ECPrivateKey(bio: *mut BIO,
+ key: *mut *mut EC_KEY,
+ callback: Option<PasswordCallback>,
+ user_data: *mut c_void)
+ -> *mut EC_KEY;
+
+ pub fn PKCS5_PBKDF2_HMAC_SHA1(pass: *const c_char,
+ passlen: c_int,
+ salt: *const u8,
+ saltlen: c_int,
+ iter: c_int,
+ keylen: c_int,
+ out: *mut u8)
+ -> c_int;
+ pub fn PKCS5_PBKDF2_HMAC(pass: *const c_char,
+ passlen: c_int,
+ salt: *const c_uchar,
+ saltlen: c_int,
+ iter: c_int,
+ digest: *const EVP_MD,
+ keylen: c_int,
+ out: *mut u8)
+ -> c_int;
pub fn RAND_bytes(buf: *mut u8, num: c_int) -> c_int;
pub fn RAND_status() -> c_int;
pub fn RSA_new() -> *mut RSA;
pub fn RSA_free(rsa: *mut RSA);
- pub fn RSA_generate_key_ex(rsa: *mut RSA, bits: c_int, e: *mut BIGNUM, cb: *mut BN_GENCB) -> c_int;
- pub fn RSA_private_decrypt(flen: c_int, from: *const u8, to: *mut u8, k: *mut RSA,
- pad: c_int) -> c_int;
- pub fn RSA_public_decrypt(flen: c_int, from: *const u8, to: *mut u8, k: *mut RSA,
- pad: c_int) -> c_int;
- pub fn RSA_private_encrypt(flen: c_int, from: *const u8, to: *mut u8, k: *mut RSA,
- pad: c_int) -> c_int;
- pub fn RSA_public_encrypt(flen: c_int, from: *const u8, to: *mut u8, k: *mut RSA,
- pad: c_int) -> c_int;
- pub fn RSA_sign(t: c_int, m: *const u8, mlen: c_uint, sig: *mut u8, siglen: *mut c_uint,
- k: *mut RSA) -> c_int;
+ pub fn RSA_generate_key_ex(rsa: *mut RSA,
+ bits: c_int,
+ e: *mut BIGNUM,
+ cb: *mut BN_GENCB)
+ -> c_int;
+ pub fn RSA_private_decrypt(flen: c_int,
+ from: *const u8,
+ to: *mut u8,
+ k: *mut RSA,
+ pad: c_int)
+ -> c_int;
+ pub fn RSA_public_decrypt(flen: c_int,
+ from: *const u8,
+ to: *mut u8,
+ k: *mut RSA,
+ pad: c_int)
+ -> c_int;
+ pub fn RSA_private_encrypt(flen: c_int,
+ from: *const u8,
+ to: *mut u8,
+ k: *mut RSA,
+ pad: c_int)
+ -> c_int;
+ pub fn RSA_public_encrypt(flen: c_int,
+ from: *const u8,
+ to: *mut u8,
+ k: *mut RSA,
+ pad: c_int)
+ -> c_int;
+ pub fn RSA_sign(t: c_int,
+ m: *const u8,
+ mlen: c_uint,
+ sig: *mut u8,
+ siglen: *mut c_uint,
+ k: *mut RSA)
+ -> c_int;
pub fn RSA_size(k: *const RSA) -> c_int;
- pub fn RSA_verify(t: c_int, m: *const u8, mlen: c_uint, sig: *const u8, siglen: c_uint,
- k: *mut RSA) -> c_int;
+ pub fn RSA_verify(t: c_int,
+ m: *const u8,
+ mlen: c_uint,
+ sig: *const u8,
+ siglen: c_uint,
+ k: *mut RSA)
+ -> c_int;
pub fn DSA_new() -> *mut DSA;
pub fn DSA_free(dsa: *mut DSA);
pub fn DSA_size(dsa: *const DSA) -> c_int;
- pub fn DSA_generate_parameters_ex(dsa: *mut DSA, bits: c_int, seed: *const c_uchar, seed_len: c_int,
- counter_ref: *mut c_int, h_ret: *mut c_ulong,
- cb: *mut BN_GENCB) -> c_int;
+ pub fn DSA_generate_parameters_ex(dsa: *mut DSA,
+ bits: c_int,
+ seed: *const c_uchar,
+ seed_len: c_int,
+ counter_ref: *mut c_int,
+ h_ret: *mut c_ulong,
+ cb: *mut BN_GENCB)
+ -> c_int;
pub fn DSA_generate_key(dsa: *mut DSA) -> c_int;
- pub fn DSA_sign(dummy: c_int, dgst: *const c_uchar, len: c_int, sigret: *mut c_uchar,
- siglen: *mut c_uint, dsa: *mut DSA) -> c_int;
- pub fn DSA_verify(dummy: c_int, dgst: *const c_uchar, len: c_int, sigbuf: *const c_uchar,
- siglen: c_int, dsa: *mut DSA) -> c_int;
+ pub fn DSA_sign(dummy: c_int,
+ dgst: *const c_uchar,
+ len: c_int,
+ sigret: *mut c_uchar,
+ siglen: *mut c_uint,
+ dsa: *mut DSA)
+ -> c_int;
+ pub fn DSA_verify(dummy: c_int,
+ dgst: *const c_uchar,
+ len: c_int,
+ sigbuf: *const c_uchar,
+ siglen: c_int,
+ dsa: *mut DSA)
+ -> c_int;
pub fn SHA1(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar;
pub fn SHA224(d: *const c_uchar, n: size_t, md: *mut c_uchar) -> *mut c_uchar;
@@ -1801,8 +2130,7 @@ extern {
pub fn SSL_accept(ssl: *mut SSL) -> c_int;
pub fn SSL_connect(ssl: *mut SSL) -> c_int;
pub fn SSL_do_handshake(ssl: *mut SSL) -> c_int;
- pub fn SSL_ctrl(ssl: *mut SSL, cmd: c_int, larg: c_long,
- parg: *mut c_void) -> c_long;
+ pub fn SSL_ctrl(ssl: *mut SSL, cmd: c_int, larg: c_long, parg: *mut c_void) -> c_long;
pub fn SSL_get_error(ssl: *const SSL, ret: c_int) -> c_int;
pub fn SSL_read(ssl: *mut SSL, buf: *mut c_void, num: c_int) -> c_int;
pub fn SSL_write(ssl: *mut SSL, buf: *const c_void, num: c_int) -> c_int;
@@ -1820,7 +2148,8 @@ extern {
pub fn SSL_state_string_long(ssl: *const SSL) -> *const c_char;
pub fn SSL_set_verify(ssl: *mut SSL,
mode: c_int,
- verify_callback: Option<extern fn(c_int, *mut X509_STORE_CTX) -> c_int>);
+ verify_callback: Option<extern "C" fn(c_int, *mut X509_STORE_CTX)
+ -> c_int>);
pub fn SSL_set_ex_data(ssl: *mut SSL, idx: c_int, data: *mut c_void) -> c_int;
pub fn SSL_get_ex_data(ssl: *const SSL, idx: c_int) -> *mut c_void;
pub fn SSL_get_servername(ssl: *const SSL, name_type: c_int) -> *const c_char;
@@ -1836,10 +2165,10 @@ extern {
pub fn SSL_get_privatekey(ssl: *const SSL) -> *mut EVP_PKEY;
pub fn SSL_load_client_CA_file(file: *const c_char) -> *mut stack_st_X509_NAME;
pub fn SSL_set_tmp_dh_callback(ctx: *mut SSL,
- dh: unsafe extern fn(ssl: *mut SSL,
- is_export: c_int,
- keylength: c_int)
- -> *mut DH);
+ dh: unsafe extern "C" fn(ssl: *mut SSL,
+ is_export: c_int,
+ keylength: c_int)
+ -> *mut DH);
#[cfg(not(any(osslconf = "OPENSSL_NO_COMP", libressl)))]
pub fn SSL_COMP_get_name(comp: *const COMP_METHOD) -> *const c_char;
@@ -1848,37 +2177,57 @@ extern {
pub fn SSL_CIPHER_get_name(cipher: *const SSL_CIPHER) -> *const c_char;
pub fn SSL_CIPHER_get_bits(cipher: *const SSL_CIPHER, alg_bits: *mut c_int) -> c_int;
- pub fn SSL_CIPHER_description(cipher: *const SSL_CIPHER, buf: *mut c_char, size: c_int) -> *mut c_char;
+ pub fn SSL_CIPHER_description(cipher: *const SSL_CIPHER,
+ buf: *mut c_char,
+ size: c_int)
+ -> *mut c_char;
pub fn SSL_CTX_new(method: *const SSL_METHOD) -> *mut SSL_CTX;
pub fn SSL_CTX_free(ctx: *mut SSL_CTX);
pub fn SSL_CTX_ctrl(ctx: *mut SSL_CTX, cmd: c_int, larg: c_long, parg: *mut c_void) -> c_long;
- pub fn SSL_CTX_callback_ctrl(ctx: *mut SSL_CTX, cmd: c_int, fp: Option<extern fn()>) -> c_long;
- pub fn SSL_CTX_set_verify(ctx: *mut SSL_CTX, mode: c_int,
- verify_callback: Option<extern fn(c_int, *mut X509_STORE_CTX) -> c_int>);
+ pub fn SSL_CTX_callback_ctrl(ctx: *mut SSL_CTX,
+ cmd: c_int,
+ fp: Option<extern "C" fn()>)
+ -> c_long;
+ pub fn SSL_CTX_set_verify(ctx: *mut SSL_CTX,
+ mode: c_int,
+ verify_callback: Option<extern "C" fn(c_int, *mut X509_STORE_CTX)
+ -> c_int>);
pub fn SSL_CTX_set_verify_depth(ctx: *mut SSL_CTX, depth: c_int);
- pub fn SSL_CTX_load_verify_locations(ctx: *mut SSL_CTX, CAfile: *const c_char,
- CApath: *const c_char) -> c_int;
+ pub fn SSL_CTX_load_verify_locations(ctx: *mut SSL_CTX,
+ CAfile: *const c_char,
+ CApath: *const c_char)
+ -> c_int;
pub fn SSL_CTX_set_default_verify_paths(ctx: *mut SSL_CTX) -> c_int;
- pub fn SSL_CTX_set_ex_data(ctx: *mut SSL_CTX, idx: c_int, data: *mut c_void)
- -> c_int;
+ pub fn SSL_CTX_set_ex_data(ctx: *mut SSL_CTX, idx: c_int, data: *mut c_void) -> c_int;
pub fn SSL_CTX_get_ex_data(ctx: *const SSL_CTX, idx: c_int) -> *mut c_void;
- pub fn SSL_CTX_set_session_id_context(ssl: *mut SSL_CTX, sid_ctx: *const c_uchar, sid_ctx_len: c_uint) -> c_int;
+ pub fn SSL_CTX_set_session_id_context(ssl: *mut SSL_CTX,
+ sid_ctx: *const c_uchar,
+ sid_ctx_len: c_uint)
+ -> c_int;
- pub fn SSL_CTX_use_certificate_file(ctx: *mut SSL_CTX, cert_file: *const c_char, file_type: c_int) -> c_int;
- pub fn SSL_CTX_use_certificate_chain_file(ctx: *mut SSL_CTX, cert_chain_file: *const c_char) -> c_int;
+ pub fn SSL_CTX_use_certificate_file(ctx: *mut SSL_CTX,
+ cert_file: *const c_char,
+ file_type: c_int)
+ -> c_int;
+ pub fn SSL_CTX_use_certificate_chain_file(ctx: *mut SSL_CTX,
+ cert_chain_file: *const c_char)
+ -> c_int;
pub fn SSL_CTX_use_certificate(ctx: *mut SSL_CTX, cert: *mut X509) -> c_int;
- pub fn SSL_CTX_use_PrivateKey_file(ctx: *mut SSL_CTX, key_file: *const c_char, file_type: c_int) -> c_int;
+ pub fn SSL_CTX_use_PrivateKey_file(ctx: *mut SSL_CTX,
+ key_file: *const c_char,
+ file_type: c_int)
+ -> c_int;
pub fn SSL_CTX_use_PrivateKey(ctx: *mut SSL_CTX, key: *mut EVP_PKEY) -> c_int;
pub fn SSL_CTX_check_private_key(ctx: *const SSL_CTX) -> c_int;
pub fn SSL_CTX_set_client_CA_list(ctx: *mut SSL_CTX, list: *mut stack_st_X509_NAME);
pub fn SSL_CTX_get_cert_store(ctx: *const SSL_CTX) -> *mut X509_STORE;
pub fn SSL_CTX_set_tmp_dh_callback(ctx: *mut SSL_CTX,
- dh: unsafe extern fn(ssl: *mut SSL,
- is_export: c_int,
- keylength: c_int)
- -> *mut DH);
+ dh: unsafe extern "C" fn(ssl: *mut SSL,
+ is_export: c_int,
+ keylength: c_int)
+ -> *mut DH);
#[cfg(not(any(ossl101, libressl)))]
pub fn SSL_CTX_get0_certificate(ctx: *const SSL_CTX) -> *mut X509;
@@ -1891,7 +2240,8 @@ extern {
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)
+ -> c_int,
arg: *mut c_void);
pub fn SSL_CTX_set_next_proto_select_cb(ssl: *mut SSL_CTX,
cb: extern "C" fn(ssl: *mut SSL,
@@ -1899,12 +2249,19 @@ extern {
outlen: *mut c_uchar,
inbuf: *const c_uchar,
inlen: c_uint,
- arg: *mut c_void) -> c_int,
+ arg: *mut c_void)
+ -> c_int,
arg: *mut c_void);
- 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;
- pub fn SSL_get0_next_proto_negotiated(s: *const SSL, data: *mut *const c_uchar, len: *mut c_uint);
+ 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;
+ pub fn SSL_get0_next_proto_negotiated(s: *const SSL,
+ data: *mut *const c_uchar,
+ len: *mut c_uint);
pub fn SSL_get_session(s: *const SSL) -> *mut SSL_SESSION;
pub fn SSL_set_session(ssl: *mut SSL, session: *mut SSL_SESSION) -> c_int;
#[cfg(not(any(ossl101, libressl)))]
@@ -1921,18 +2278,23 @@ extern {
#[cfg(not(ossl101))]
pub fn SSL_CTX_set_alpn_select_cb(ssl: *mut SSL_CTX,
- cb: extern fn(ssl: *mut SSL,
- out: *mut *const c_uchar,
- outlen: *mut c_uchar,
- inbuf: *const c_uchar,
- inlen: c_uint,
- arg: *mut c_void) -> c_int,
+ cb: extern "C" fn(ssl: *mut SSL,
+ out: *mut *const c_uchar,
+ outlen: *mut c_uchar,
+ inbuf: *const c_uchar,
+ inlen: c_uint,
+ arg: *mut c_void)
+ -> c_int,
arg: *mut c_void);
#[cfg(not(ossl101))]
pub fn SSL_get0_alpn_selected(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: *const X509, digest: *const EVP_MD, buf: *mut c_uchar, len: *mut c_uint) -> c_int;
+ pub fn X509_digest(x: *const X509,
+ digest: *const EVP_MD,
+ buf: *mut c_uchar,
+ len: *mut c_uint)
+ -> c_int;
pub fn X509_free(x: *mut X509);
pub fn X509_REQ_free(x: *mut X509_REQ);
pub fn X509_get_serialNumber(x: *mut X509) -> *mut ASN1_INTEGER;
@@ -1956,7 +2318,14 @@ extern {
pub fn X509_NAME_new() -> *mut X509_NAME;
pub fn X509_NAME_free(x: *mut X509_NAME);
- pub fn X509_NAME_add_entry_by_txt(x: *mut X509_NAME, field: *const c_char, ty: c_int, bytes: *const c_uchar, len: c_int, loc: c_int, set: c_int) -> c_int;
+ pub fn X509_NAME_add_entry_by_txt(x: *mut X509_NAME,
+ field: *const c_char,
+ ty: c_int,
+ bytes: *const c_uchar,
+ len: c_int,
+ loc: c_int,
+ set: c_int)
+ -> c_int;
pub fn X509_NAME_get_index_by_NID(n: *mut X509_NAME, nid: c_int, last_pos: c_int) -> c_int;
pub fn X509_NAME_ENTRY_free(x: *mut X509_NAME_ENTRY);
@@ -1977,14 +2346,21 @@ extern {
pub fn X509_STORE_CTX_get_ex_data(ctx: *mut X509_STORE_CTX, idx: c_int) -> *mut c_void;
pub fn X509_STORE_CTX_get_error_depth(ctx: *mut X509_STORE_CTX) -> c_int;
- pub fn X509V3_set_ctx(ctx: *mut X509V3_CTX, issuer: *mut X509, subject: *mut X509, req: *mut X509_REQ, crl: *mut X509_CRL, flags: c_int);
+ pub fn X509V3_set_ctx(ctx: *mut X509V3_CTX,
+ issuer: *mut X509,
+ subject: *mut X509,
+ req: *mut X509_REQ,
+ crl: *mut X509_CRL,
+ flags: c_int);
pub fn X509V3_set_nconf(ctx: *mut X509V3_CTX, conf: *mut CONF);
pub fn X509_REQ_new() -> *mut X509_REQ;
pub fn X509_REQ_set_version(req: *mut X509_REQ, version: c_long) -> c_int;
pub fn X509_REQ_set_subject_name(req: *mut X509_REQ, name: *mut X509_NAME) -> c_int;
pub fn X509_REQ_set_pubkey(req: *mut X509_REQ, pkey: *mut EVP_PKEY) -> c_int;
- pub fn X509_REQ_add_extensions(req: *mut X509_REQ, exts: *mut stack_st_X509_EXTENSION) -> c_int;
+ pub fn X509_REQ_add_extensions(req: *mut X509_REQ,
+ exts: *mut stack_st_X509_EXTENSION)
+ -> c_int;
pub fn X509_REQ_sign(x: *mut X509_REQ, pkey: *mut EVP_PKEY, md: *const EVP_MD) -> c_int;
#[cfg(not(ossl101))]
@@ -1994,21 +2370,31 @@ extern {
#[cfg(not(any(ossl101, libressl)))]
pub fn X509_VERIFY_PARAM_set1_host(param: *mut X509_VERIFY_PARAM,
name: *const c_char,
- namelen: size_t) -> c_int;
+ namelen: size_t)
+ -> c_int;
pub fn d2i_DHparams(k: *mut *mut DH, pp: *mut *const c_uchar, length: c_long) -> *mut DH;
pub fn i2d_DHparams(dh: *const DH, pp: *mut *mut c_uchar) -> c_int;
pub fn d2i_DSAPublicKey(a: *mut *mut DSA, pp: *mut *const c_uchar, length: c_long) -> *mut DSA;
pub fn i2d_DSAPublicKey(a: *const DSA, pp: *mut *mut c_uchar) -> c_int;
- pub fn d2i_DSAPrivateKey(a: *mut *mut DSA, pp: *mut *const c_uchar, length: c_long) -> *mut DSA;
+ pub fn d2i_DSAPrivateKey(a: *mut *mut DSA,
+ pp: *mut *const c_uchar,
+ length: c_long)
+ -> *mut DSA;
pub fn i2d_DSAPrivateKey(a: *const DSA, pp: *mut *mut c_uchar) -> c_int;
- pub fn d2i_ECPrivateKey(k: *mut *mut EC_KEY, pp: *mut *const c_uchar, length: c_long) -> *mut EC_KEY;
+ pub fn d2i_ECPrivateKey(k: *mut *mut EC_KEY,
+ pp: *mut *const c_uchar,
+ length: c_long)
+ -> *mut EC_KEY;
pub fn i2d_ECPrivateKey(ec_key: *mut EC_KEY, pp: *mut *mut c_uchar) -> c_int;
pub fn d2i_X509(a: *mut *mut X509, pp: *mut *const c_uchar, length: c_long) -> *mut X509;
- pub fn d2i_X509_REQ(a: *mut *mut X509_REQ, pp: *mut *const c_uchar, length: c_long) -> *mut X509_REQ;
+ pub fn d2i_X509_REQ(a: *mut *mut X509_REQ,
+ pp: *mut *const c_uchar,
+ length: c_long)
+ -> *mut X509_REQ;
pub fn i2d_X509_bio(b: *mut BIO, x: *mut X509) -> c_int;
pub fn i2d_X509(x: *mut X509, buf: *mut *mut u8) -> c_int;
pub fn i2d_X509_REQ_bio(b: *mut BIO, x: *mut X509_REQ) -> c_int;
@@ -2042,11 +2428,8 @@ extern {
key: *const c_void,
len: c_int,
md: *const EVP_MD,
- impl_: *mut ENGINE) -> c_int;
- pub fn HMAC_Update(ctx: *mut HMAC_CTX,
- data: *const c_uchar,
- len: size_t) -> c_int;
- pub fn HMAC_Final(ctx: *mut HMAC_CTX,
- md: *mut c_uchar,
- len: *mut c_uint) -> c_int;
+ impl_: *mut ENGINE)
+ -> c_int;
+ pub fn HMAC_Update(ctx: *mut HMAC_CTX, data: *const c_uchar, len: size_t) -> c_int;
+ pub fn HMAC_Final(ctx: *mut HMAC_CTX, md: *mut c_uchar, len: *mut c_uint) -> c_int;
}
diff --git a/openssl-sys/src/libressl/mod.rs b/openssl-sys/src/libressl/mod.rs
index 951ab4d3..aa7dc650 100644
--- a/openssl-sys/src/libressl/mod.rs
+++ b/openssl-sys/src/libressl/mod.rs
@@ -66,21 +66,21 @@ pub struct _STACK {
pub data: *mut *mut c_char,
pub sorted: c_int,
pub num_alloc: c_int,
- pub comp: Option<unsafe extern fn(*const c_void, *const c_void) -> c_int>,
+ pub comp: Option<unsafe extern "C" fn(*const c_void, *const c_void) -> c_int>,
}
#[repr(C)]
pub struct BIO_METHOD {
pub type_: c_int,
pub name: *const c_char,
- pub bwrite: Option<unsafe extern fn(*mut ::BIO, *const c_char, c_int) -> c_int>,
- pub bread: Option<unsafe extern fn(*mut ::BIO, *mut c_char, c_int) -> c_int>,
- pub bputs: Option<unsafe extern fn(*mut ::BIO, *const c_char) -> c_int>,
- pub bgets: Option<unsafe extern fn(*mut ::BIO, *mut c_char, c_int) -> c_int>,
- pub ctrl: Option<unsafe extern fn(*mut ::BIO, c_int, c_long, *mut c_void) -> c_long>,
- pub create: Option<unsafe extern fn(*mut ::BIO) -> c_int>,
- pub destroy: Option<unsafe extern fn(*mut ::BIO) -> c_int>,
- pub callback_ctrl: Option<unsafe extern fn(*mut ::BIO, c_int, ::bio_info_cb) -> c_long>,
+ pub bwrite: Option<unsafe extern "C" fn(*mut ::BIO, *const c_char, c_int) -> c_int>,
+ pub bread: Option<unsafe extern "C" fn(*mut ::BIO, *mut c_char, c_int) -> c_int>,
+ pub bputs: Option<unsafe extern "C" fn(*mut ::BIO, *const c_char) -> c_int>,
+ pub bgets: Option<unsafe extern "C" fn(*mut ::BIO, *mut c_char, c_int) -> c_int>,
+ pub ctrl: Option<unsafe extern "C" fn(*mut ::BIO, c_int, c_long, *mut c_void) -> c_long>,
+ pub create: Option<unsafe extern "C" fn(*mut ::BIO) -> c_int>,
+ pub destroy: Option<unsafe extern "C" fn(*mut ::BIO) -> c_int>,
+ pub callback_ctrl: Option<unsafe extern "C" fn(*mut ::BIO, c_int, ::bio_info_cb) -> c_long>,
}
#[repr(C)]
@@ -148,7 +148,7 @@ pub struct EVP_PKEY {
#[repr(C)]
pub struct BIO {
pub method: *mut ::BIO_METHOD,
- pub callback: Option<unsafe extern fn(*mut ::BIO,
+ pub callback: Option<unsafe extern "C" fn(*mut ::BIO,
c_int,
*const c_char,
c_int,
@@ -182,7 +182,7 @@ pub struct EVP_MD_CTX {
flags: c_ulong,
md_data: *mut c_void,
pctx: *mut ::EVP_PKEY_CTX,
- update: *mut c_void
+ update: *mut c_void,
}
#[repr(C)]
@@ -192,24 +192,23 @@ pub struct EVP_CIPHER {
pub key_len: c_int,
pub iv_len: c_int,
pub flags: c_ulong,
- pub init: Option<unsafe extern fn(*mut ::EVP_CIPHER_CTX,
- *const c_uchar,
- *const c_uchar,
- c_int) -> c_int>,
- pub do_cipher: Option<unsafe extern fn(*mut ::EVP_CIPHER_CTX,
- *mut c_uchar,
- *const c_uchar,
- size_t) -> c_int>,
- pub cleanup: Option<unsafe extern fn(*mut ::EVP_CIPHER_CTX) -> c_int>,
+ pub init: Option<unsafe extern "C" fn(*mut ::EVP_CIPHER_CTX,
+ *const c_uchar,
+ *const c_uchar,
+ c_int)
+ -> c_int>,
+ pub do_cipher: Option<unsafe extern "C" fn(*mut ::EVP_CIPHER_CTX,
+ *mut c_uchar,
+ *const c_uchar,
+ size_t)
+ -> c_int>,
+ pub cleanup: Option<unsafe extern "C" fn(*mut ::EVP_CIPHER_CTX) -> c_int>,
pub ctx_size: c_int,
- pub set_asn1_parameters: Option<unsafe extern fn(*mut ::EVP_CIPHER_CTX,
- *mut ::ASN1_TYPE) -> c_int>,
- pub get_asn1_parameters: Option<unsafe extern fn(*mut ::EVP_CIPHER_CTX,
- *mut ::ASN1_TYPE) -> c_int>,
- pub ctrl: Option<unsafe extern fn(*mut ::EVP_CIPHER_CTX,
- c_int,
- c_int,
- *mut c_void) -> c_int>,
+ pub set_asn1_parameters:
+ Option<unsafe extern "C" fn(*mut ::EVP_CIPHER_CTX, *mut ::ASN1_TYPE) -> c_int>,
+ pub get_asn1_parameters:
+ Option<unsafe extern "C" fn(*mut ::EVP_CIPHER_CTX, *mut ::ASN1_TYPE) -> c_int>,
+ pub ctrl: Option<unsafe extern "C" fn(*mut ::EVP_CIPHER_CTX, c_int, c_int, *mut c_void) -> c_int>,
pub app_data: *mut c_void,
}
@@ -220,7 +219,7 @@ pub struct HMAC_CTX {
i_ctx: ::EVP_MD_CTX,
o_ctx: ::EVP_MD_CTX,
key_length: c_uint,
- key: [c_uchar; 128]
+ key: [c_uchar; 128],
}
#[repr(C)]
@@ -320,7 +319,7 @@ pub struct X509_REQ_INFO {
pub version: *mut ::ASN1_INTEGER,
pub subject: *mut ::X509_NAME,
pubkey: *mut c_void,
- pub attributes: *mut stack_st_X509_ATTRIBUTE
+ pub attributes: *mut stack_st_X509_ATTRIBUTE,
}
#[repr(C)]
@@ -328,7 +327,7 @@ pub struct X509_REQ {
pub req_info: *mut X509_REQ_INFO,
sig_alg: *mut c_void,
signature: *mut c_void,
- references: c_int
+ references: c_int,
}
pub enum X509_VERIFY_PARAM_ID {}
@@ -339,78 +338,78 @@ pub const SSL_CTRL_OPTIONS: c_int = 32;
pub const SSL_CTRL_CLEAR_OPTIONS: c_int = 77;
pub const SSL_CTRL_SET_ECDH_AUTO: c_int = 94;
-pub const SSL_OP_ALL: c_ulong = 0x80000014;
-pub const SSL_OP_CISCO_ANYCONNECT: c_ulong = 0x0;
-pub const SSL_OP_NO_COMPRESSION: c_ulong = 0x0;
-pub const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: c_ulong = 0x0;
-pub const SSL_OP_NO_SSLv3: c_ulong = 0x0;
-pub const SSL_OP_MICROSOFT_SESS_ID_BUG: c_ulong = 0x0;
-pub const SSL_OP_NETSCAPE_CHALLENGE_BUG: c_ulong = 0x0;
-pub const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: c_ulong = 0x0;
-pub const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: c_ulong = 0x0;
-pub const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: c_ulong = 0x0;
-pub const SSL_OP_TLS_D5_BUG: c_ulong = 0x0;
-pub const SSL_OP_TLS_BLOCK_PADDING_BUG: c_ulong = 0x0;
-pub const SSL_OP_SINGLE_ECDH_USE: c_ulong = 0x00080000;
-pub const SSL_OP_SINGLE_DH_USE: c_ulong = 0x00100000;
-pub const SSL_OP_NO_SSLv2: c_ulong = 0x0;
+pub const SSL_OP_ALL: c_ulong = 0x80000014;
+pub const SSL_OP_CISCO_ANYCONNECT: c_ulong = 0x0;
+pub const SSL_OP_NO_COMPRESSION: c_ulong = 0x0;
+pub const SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION: c_ulong = 0x0;
+pub const SSL_OP_NO_SSLv3: c_ulong = 0x0;
+pub const SSL_OP_MICROSOFT_SESS_ID_BUG: c_ulong = 0x0;
+pub const SSL_OP_NETSCAPE_CHALLENGE_BUG: c_ulong = 0x0;
+pub const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: c_ulong = 0x0;
+pub const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: c_ulong = 0x0;
+pub const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: c_ulong = 0x0;
+pub const SSL_OP_TLS_D5_BUG: c_ulong = 0x0;
+pub const SSL_OP_TLS_BLOCK_PADDING_BUG: c_ulong = 0x0;
+pub const SSL_OP_SINGLE_ECDH_USE: c_ulong = 0x00080000;
+pub const SSL_OP_SINGLE_DH_USE: c_ulong = 0x00100000;
+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_CFLAGS : c_int = 2;
-pub const SSLEAY_BUILT_ON : c_int = 3;
-pub const SSLEAY_PLATFORM : c_int = 4;
-pub const SSLEAY_DIR : c_int = 5;
+pub const SSLEAY_VERSION: c_int = 0;
+pub const SSLEAY_CFLAGS: c_int = 2;
+pub const SSLEAY_BUILT_ON: c_int = 3;
+pub const SSLEAY_PLATFORM: c_int = 4;
+pub const SSLEAY_DIR: c_int = 5;
pub const CRYPTO_LOCK_X509: c_int = 3;
pub const CRYPTO_LOCK_SSL_CTX: c_int = 12;
pub const CRYPTO_LOCK_SSL_SESSION: c_int = 14;
static mut MUTEXES: *mut Vec<Mutex<()>> = 0 as *mut Vec<Mutex<()>>;
-static mut GUARDS: *mut Vec<Option<MutexGuard<'static, ()>>> = 0 as *mut Vec<Option<MutexGuard<'static, ()>>>;
+static mut GUARDS: *mut Vec<Option<MutexGuard<'static, ()>>> =
+ 0 as *mut Vec<Option<MutexGuard<'static, ()>>>;
-unsafe extern fn locking_function(mode: c_int, n: c_int, _file: *const c_char,
- _line: c_int) {
+unsafe extern "C" fn locking_function(mode: c_int, n: c_int, _file: *const c_char, _line: c_int) {
let mutex = &(*MUTEXES)[n as usize];
if mode & ::CRYPTO_LOCK != 0 {
(*GUARDS)[n as usize] = Some(mutex.lock().unwrap());
} else {
- &(*GUARDS)[n as usize].take().expect("lock already unlocked");
+ &(*GUARDS)[n as usize]
+ .take()
+ .expect("lock already unlocked");
}
}
pub fn init() {
static INIT: Once = ONCE_INIT;
- INIT.call_once(|| {
- unsafe {
- SSL_library_init();
- SSL_load_error_strings();
- OPENSSL_add_all_algorithms_noconf();
+ INIT.call_once(|| unsafe {
+ SSL_library_init();
+ SSL_load_error_strings();
+ OPENSSL_add_all_algorithms_noconf();
- let num_locks = ::CRYPTO_num_locks();
- let mut mutexes = Box::new(Vec::new());
- for _ in 0..num_locks {
- mutexes.push(Mutex::new(()));
- }
- MUTEXES = mem::transmute(mutexes);
- let guards: Box<Vec<Option<MutexGuard<()>>>> =
- Box::new((0..num_locks).map(|_| None).collect());
- GUARDS = mem::transmute(guards);
+ let num_locks = ::CRYPTO_num_locks();
+ let mut mutexes = Box::new(Vec::new());
+ for _ in 0..num_locks {
+ mutexes.push(Mutex::new(()));
+ }
+ MUTEXES = mem::transmute(mutexes);
+ let guards: Box<Vec<Option<MutexGuard<()>>>> =
+ Box::new((0..num_locks).map(|_| None).collect());
+ GUARDS = mem::transmute(guards);
- CRYPTO_set_locking_callback(locking_function);
- set_id_callback();
- }
- })
+ CRYPTO_set_locking_callback(locking_function);
+ set_id_callback();
+ })
}
#[cfg(unix)]
fn set_id_callback() {
- unsafe extern fn thread_id() -> c_ulong {
+ unsafe extern "C" fn thread_id() -> c_ulong {
::libc::pthread_self() as c_ulong
}
@@ -425,18 +424,24 @@ fn set_id_callback() {}
// macros
pub unsafe fn SSL_CTX_set_ecdh_auto(ctx: *mut SSL_CTX, onoff: c_int) -> c_int {
- ::SSL_CTX_ctrl(ctx, SSL_CTRL_SET_ECDH_AUTO, onoff as c_long, ptr::null_mut()) as c_int
+ ::SSL_CTX_ctrl(ctx,
+ SSL_CTRL_SET_ECDH_AUTO,
+ onoff as c_long,
+ ptr::null_mut()) as c_int
}
pub unsafe fn SSL_set_ecdh_auto(ssl: *mut ::SSL, onoff: c_int) -> c_int {
- ::SSL_ctrl(ssl, SSL_CTRL_SET_ECDH_AUTO, onoff as c_long, ptr::null_mut()) as c_int
+ ::SSL_ctrl(ssl,
+ SSL_CTRL_SET_ECDH_AUTO,
+ onoff as c_long,
+ ptr::null_mut()) as c_int
}
pub unsafe fn SSL_session_reused(ssl: *mut ::SSL) -> c_int {
::SSL_ctrl(ssl, SSL_CTRL_GET_SESSION_REUSED, 0, ptr::null_mut()) as c_int
}
-extern {
+extern "C" {
pub fn BIO_new(type_: *mut BIO_METHOD) -> *mut BIO;
pub fn BIO_s_file() -> *mut BIO_METHOD;
pub fn BIO_s_mem() -> *mut BIO_METHOD;
@@ -463,10 +468,14 @@ extern {
pub fn RSA_generate_key(modsz: c_int,
e: c_ulong,
- cb: Option<extern fn(c_int, c_int, *mut c_void)>,
- cbarg: *mut c_void) -> *mut RSA;
+ cb: Option<extern "C" fn(c_int, c_int, *mut c_void)>,
+ cbarg: *mut c_void)
+ -> *mut RSA;
- pub fn OCSP_cert_to_id(dgst: *const ::EVP_MD, subject: *mut ::X509, issuer: *mut ::X509) -> *mut ::OCSP_CERTID;
+ pub fn OCSP_cert_to_id(dgst: *const ::EVP_MD,
+ subject: *mut ::X509,
+ issuer: *mut ::X509)
+ -> *mut ::OCSP_CERTID;
pub fn PKCS12_create(pass: *mut c_char,
friendly_name: *mut c_char,
@@ -477,7 +486,8 @@ extern {
nid_cert: c_int,
iter: c_int,
mac_iter: c_int,
- keytype: c_int) -> *mut PKCS12;
+ keytype: c_int)
+ -> *mut PKCS12;
pub fn SSL_library_init() -> c_int;
pub fn SSL_load_error_strings();
@@ -489,44 +499,66 @@ extern {
pub fn TLSv1_1_method() -> *const ::SSL_METHOD;
pub fn TLSv1_2_method() -> *const ::SSL_METHOD;
pub fn DTLSv1_method() -> *const ::SSL_METHOD;
- pub fn SSL_get_ex_new_index(argl: c_long, argp: *mut c_void,
+ pub fn SSL_get_ex_new_index(argl: c_long,
+ argp: *mut c_void,
new_func: Option<::CRYPTO_EX_new>,
dup_func: Option<::CRYPTO_EX_dup>,
free_func: Option<::CRYPTO_EX_free>)
-> c_int;
pub fn SSL_set_tmp_ecdh_callback(ssl: *mut ::SSL,
- ecdh: unsafe extern fn(ssl: *mut ::SSL,
- is_export: c_int,
- keylength: c_int)
- -> *mut ::EC_KEY);
+ ecdh: unsafe extern "C" fn(ssl: *mut ::SSL,
+ is_export: c_int,
+ keylength: c_int)
+ -> *mut ::EC_KEY);
pub fn SSL_CIPHER_get_version(cipher: *const ::SSL_CIPHER) -> *mut c_char;
- pub fn SSL_CTX_get_ex_new_index(argl: c_long, argp: *mut c_void,
+ pub fn SSL_CTX_get_ex_new_index(argl: c_long,
+ argp: *mut c_void,
new_func: Option<::CRYPTO_EX_new>,
dup_func: Option<::CRYPTO_EX_dup>,
free_func: Option<::CRYPTO_EX_free>)
-> c_int;
pub fn SSL_CTX_set_tmp_ecdh_callback(ctx: *mut ::SSL_CTX,
- ecdh: unsafe extern fn(ssl: *mut ::SSL,
- is_export: c_int,
- keylength: c_int)
- -> *mut ::EC_KEY);
+ ecdh: unsafe extern "C" fn(ssl: *mut ::SSL,
+ is_export: c_int,
+ keylength: c_int)
+ -> *mut ::EC_KEY);
pub fn X509_get_subject_name(x: *mut ::X509) -> *mut ::X509_NAME;
pub fn X509_set_notAfter(x: *mut ::X509, tm: *const ::ASN1_TIME) -> c_int;
pub fn X509_set_notBefore(x: *mut ::X509, tm: *const ::ASN1_TIME) -> c_int;
- pub fn X509_get_ext_d2i(x: *mut ::X509, nid: c_int, crit: *mut c_int, idx: *mut c_int) -> *mut c_void;
- pub fn X509_NAME_add_entry_by_NID(x: *mut ::X509_NAME, field: c_int, ty: c_int, bytes: *mut c_uchar, len: c_int, loc: c_int, set: c_int) -> c_int;
+ pub fn X509_get_ext_d2i(x: *mut ::X509,
+ nid: c_int,
+ crit: *mut c_int,
+ idx: *mut c_int)
+ -> *mut c_void;
+ pub fn X509_NAME_add_entry_by_NID(x: *mut ::X509_NAME,
+ field: c_int,
+ ty: c_int,
+ bytes: *mut c_uchar,
+ len: c_int,
+ loc: c_int,
+ set: c_int)
+ -> c_int;
pub fn X509_NAME_get_entry(n: *mut ::X509_NAME, loc: c_int) -> *mut ::X509_NAME_ENTRY;
pub fn X509_NAME_ENTRY_get_data(ne: *mut ::X509_NAME_ENTRY) -> *mut ::ASN1_STRING;
pub fn X509_STORE_CTX_get_chain(ctx: *mut ::X509_STORE_CTX) -> *mut stack_st_X509;
- pub fn X509V3_EXT_nconf_nid(conf: *mut ::CONF, ctx: *mut ::X509V3_CTX, ext_nid: c_int, value: *mut c_char) -> *mut ::X509_EXTENSION;
- pub fn X509V3_EXT_nconf(conf: *mut ::CONF, ctx: *mut ::X509V3_CTX, name: *mut c_char, value: *mut c_char) -> *mut ::X509_EXTENSION;
+ pub fn X509V3_EXT_nconf_nid(conf: *mut ::CONF,
+ ctx: *mut ::X509V3_CTX,
+ ext_nid: c_int,
+ value: *mut c_char)
+ -> *mut ::X509_EXTENSION;
+ pub fn X509V3_EXT_nconf(conf: *mut ::CONF,
+ ctx: *mut ::X509V3_CTX,
+ name: *mut c_char,
+ value: *mut c_char)
+ -> *mut ::X509_EXTENSION;
pub fn ASN1_STRING_to_UTF8(out: *mut *mut c_uchar, s: *mut ::ASN1_STRING) -> c_int;
pub fn ASN1_STRING_data(x: *mut ::ASN1_STRING) -> *mut c_uchar;
pub fn CRYPTO_add_lock(pointer: *mut c_int,
amount: c_int,
type_: c_int,
file: *const c_char,
- line: c_int) -> c_int;
+ line: c_int)
+ -> c_int;
pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
pub fn EVP_PKEY_bits(key: *mut EVP_PKEY) -> c_int;
@@ -536,7 +568,7 @@ extern {
pub fn sk_value(st: *const _STACK, n: c_int) -> *mut c_void;
pub fn sk_free(st: *mut _STACK);
pub fn sk_push(st: *mut _STACK, data: *mut c_void) -> c_int;
- pub fn sk_pop_free(st: *mut _STACK, free: Option<unsafe extern "C" fn (*mut c_void)>);
+ pub fn sk_pop_free(st: *mut _STACK, free: Option<unsafe extern "C" fn(*mut c_void)>);
pub fn sk_pop(st: *mut _STACK) -> *mut c_void;
pub fn SSLeay() -> c_ulong;
diff --git a/openssl-sys/src/libressl/v250.rs b/openssl-sys/src/libressl/v250.rs
index 39306f8d..25b6b9f1 100644
--- a/openssl-sys/src/libressl/v250.rs
+++ b/openssl-sys/src/libressl/v250.rs
@@ -12,7 +12,7 @@ pub struct SSL {
bbio: *mut c_void,
rwstate: c_int,
in_handshake: c_int,
- handshake_func: Option<unsafe extern fn(*mut SSL) -> c_int>,
+ handshake_func: Option<unsafe extern "C" fn(*mut SSL) -> c_int>,
pub server: c_int,
new_session: c_int,
quiet_shutdown: c_int,
@@ -28,7 +28,13 @@ pub struct SSL {
s3: *mut c_void,
d1: *mut c_void,
read_ahead: c_int,
- msg_callback: Option<unsafe extern fn(c_int, c_int, c_int, *const c_void, size_t, *mut SSL, *mut c_void)>,
+ msg_callback: Option<unsafe extern "C" fn(c_int,
+ c_int,
+ c_int,
+ *const c_void,
+ size_t,
+ *mut SSL,
+ *mut c_void)>,
msg_callback_arg: *mut c_void,
hit: c_int,
param: *mut c_void,
@@ -47,8 +53,8 @@ pub struct SSL {
session: *mut ::SSL_SESSION,
generate_session_id: ::GEN_SESSION_CB,
verify_mode: c_int,
- verify_callback: Option<unsafe extern fn(c_int, *mut ::X509_STORE_CTX) -> c_int>,
- info_callback: Option<unsafe extern fn(*mut SSL, c_int, c_int)>,
+ verify_callback: Option<unsafe extern "C" fn(c_int, *mut ::X509_STORE_CTX) -> c_int>,
+ info_callback: Option<unsafe extern "C" fn(*mut SSL, c_int, c_int)>,
error: c_int,
error_code: c_int,
ctx: *mut ::SSL_CTX,
@@ -63,7 +69,8 @@ pub struct SSL {
first_packet: c_int,
client_version: c_int,
max_send_fragment: c_uint,
- tlsext_debug_cb: Option<unsafe extern fn(*mut SSL, c_int, c_int, *mut c_uchar, c_int, *mut c_void)>,
+ tlsext_debug_cb:
+ Option<unsafe extern "C" fn(*mut SSL, c_int, c_int, *mut c_uchar, c_int, *mut c_void)>,
tlsext_debug_arg: *mut c_void,
tlsext_hostname: *mut c_char,
servername_done: c_int,
diff --git a/openssl-sys/src/libressl/v25x.rs b/openssl-sys/src/libressl/v25x.rs
index 1654f52e..7e7023ec 100644
--- a/openssl-sys/src/libressl/v25x.rs
+++ b/openssl-sys/src/libressl/v25x.rs
@@ -55,7 +55,7 @@ pub struct SSL_CTX {
pub struct SSL_SESSION {
ssl_version: c_int,
pub master_key_length: c_int,
- pub master_key: [c_uchar; 48 /*::SSL_MAX_MASTER_KEY_LENGTH as usize */],
+ pub master_key: [c_uchar; 48],
session_id_length: c_uint,
session_id: [c_uchar; ::SSL_MAX_SSL_SESSION_ID_LENGTH as usize],
sid_ctx_length: c_uint,
diff --git a/openssl-sys/src/ossl10x.rs b/openssl-sys/src/ossl10x.rs
index 23c0ee72..47ce9888 100644
--- a/openssl-sys/src/ossl10x.rs
+++ b/openssl-sys/src/ossl10x.rs
@@ -58,21 +58,21 @@ pub struct _STACK {
pub data: *mut *mut c_char,
pub sorted: c_int,
pub num_alloc: c_int,
- pub comp: Option<unsafe extern fn(*const c_void, *const c_void) -> c_int>,
+ pub comp: Option<unsafe extern "C" fn(*const c_void, *const c_void) -> c_int>,
}
#[repr(C)]
pub struct BIO_METHOD {
pub type_: c_int,
pub name: *const c_char,
- pub bwrite: Option<unsafe extern fn(*mut ::BIO, *const c_char, c_int) -> c_int>,
- pub bread: Option<unsafe extern fn(*mut ::BIO, *mut c_char, c_int) -> c_int>,
- pub bputs: Option<unsafe extern fn(*mut ::BIO, *const c_char) -> c_int>,
- pub bgets: Option<unsafe extern fn(*mut ::BIO, *mut c_char, c_int) -> c_int>,
- pub ctrl: Option<unsafe extern fn(*mut ::BIO, c_int, c_long, *mut c_void) -> c_long>,
- pub create: Option<unsafe extern fn(*mut ::BIO) -> c_int>,
- pub destroy: Option<unsafe extern fn(*mut ::BIO) -> c_int>,
- pub callback_ctrl: Option<unsafe extern fn(*mut ::BIO, c_int, ::bio_info_cb) -> c_long>,
+ pub bwrite: Option<unsafe extern "C" fn(*mut ::BIO, *const c_char, c_int) -> c_int>,
+ pub bread: Option<unsafe extern "C" fn(*mut ::BIO, *mut c_char, c_int) -> c_int>,
+ pub bputs: Option<unsafe extern "C" fn(*mut ::BIO, *const c_char) -> c_int>,
+ pub bgets: Option<unsafe extern "C" fn(*mut ::BIO, *mut c_char, c_int) -> c_int>,
+ pub ctrl: Option<unsafe extern "C" fn(*mut ::BIO, c_int, c_long, *mut c_void) -> c_long>,
+ pub create: Option<unsafe extern "C" fn(*mut ::BIO) -> c_int>,
+ pub destroy: Option<unsafe extern "C" fn(*mut ::BIO) -> c_int>,
+ pub callback_ctrl: Option<unsafe extern "C" fn(*mut ::BIO, c_int, ::bio_info_cb) -> c_long>,
}
#[repr(C)]
@@ -141,7 +141,7 @@ pub struct EVP_PKEY {
#[repr(C)]
pub struct BIO {
pub method: *mut ::BIO_METHOD,
- pub callback: Option<unsafe extern fn(*mut ::BIO,
+ pub callback: Option<unsafe extern "C" fn(*mut ::BIO,
c_int,
*const c_char,
c_int,
@@ -176,7 +176,7 @@ pub struct EVP_MD_CTX {
flags: c_ulong,
md_data: *mut c_void,
pctx: *mut ::EVP_PKEY_CTX,
- update: *mut c_void
+ update: *mut c_void,
}
#[repr(C)]
@@ -186,24 +186,23 @@ pub struct EVP_CIPHER {
pub key_len: c_int,
pub iv_len: c_int,
pub flags: c_ulong,
- pub init: Option<unsafe extern fn(*mut ::EVP_CIPHER_CTX,
- *const c_uchar,
- *const c_uchar,
- c_int) -> c_int>,
- pub do_cipher: Option<unsafe extern fn(*mut ::EVP_CIPHER_CTX,
- *mut c_uchar,
- *const c_uchar,
- size_t) -> c_int>,
- pub cleanup: Option<unsafe extern fn(*mut ::EVP_CIPHER_CTX) -> c_int>,
+ pub init: Option<unsafe extern "C" fn(*mut ::EVP_CIPHER_CTX,
+ *const c_uchar,
+ *const c_uchar,
+ c_int)
+ -> c_int>,
+ pub do_cipher: Option<unsafe extern "C" fn(*mut ::EVP_CIPHER_CTX,
+ *mut c_uchar,
+ *const c_uchar,
+ size_t)
+ -> c_int>,
+ pub cleanup: Option<unsafe extern "C" fn(*mut ::EVP_CIPHER_CTX) -> c_int>,
pub ctx_size: c_int,
- pub set_asn1_parameters: Option<unsafe extern fn(*mut ::EVP_CIPHER_CTX,
- *mut ::ASN1_TYPE) -> c_int>,
- pub get_asn1_parameters: Option<unsafe extern fn(*mut ::EVP_CIPHER_CTX,
- *mut ::ASN1_TYPE) -> c_int>,
- pub ctrl: Option<unsafe extern fn(*mut ::EVP_CIPHER_CTX,
- c_int,
- c_int,
- *mut c_void) -> c_int>,
+ pub set_asn1_parameters:
+ Option<unsafe extern "C" fn(*mut ::EVP_CIPHER_CTX, *mut ::ASN1_TYPE) -> c_int>,
+ pub get_asn1_parameters:
+ Option<unsafe extern "C" fn(*mut ::EVP_CIPHER_CTX, *mut ::ASN1_TYPE) -> c_int>,
+ pub ctrl: Option<unsafe extern "C" fn(*mut ::EVP_CIPHER_CTX, c_int, c_int, *mut c_void) -> c_int>,
pub app_data: *mut c_void,
}
@@ -214,7 +213,7 @@ pub struct HMAC_CTX {
i_ctx: ::EVP_MD_CTX,
o_ctx: ::EVP_MD_CTX,
key_length: c_uint,
- key: [c_uchar; 128]
+ key: [c_uchar; 128],
}
#[repr(C)]
@@ -318,7 +317,7 @@ pub struct X509_REQ_INFO {
pub version: *mut ::ASN1_INTEGER,
pub subject: *mut ::X509_NAME,
pubkey: *mut c_void,
- pub attributes: *mut stack_st_X509_ATTRIBUTE
+ pub attributes: *mut stack_st_X509_ATTRIBUTE,
}
#[repr(C)]
@@ -326,7 +325,7 @@ pub struct X509_REQ {
pub req_info: *mut X509_REQ_INFO,
sig_alg: *mut c_void,
signature: *mut c_void,
- references: c_int
+ references: c_int,
}
#[repr(C)]
@@ -339,7 +338,7 @@ pub struct SSL {
bbio: *mut c_void,
rwstate: c_int,
in_handshake: c_int,
- handshake_func: Option<unsafe extern fn(*mut SSL) -> c_int>,
+ handshake_func: Option<unsafe extern "C" fn(*mut SSL) -> c_int>,
pub server: c_int,
new_session: c_int,
quiet_session: c_int,
@@ -356,7 +355,13 @@ pub struct SSL {
s3: *mut c_void,
d1: *mut c_void,
read_ahead: c_int,
- msg_callback: Option<unsafe extern fn(c_int, c_int, c_int, *const c_void, size_t, *mut SSL, *mut c_void)>,
+ msg_callback: Option<unsafe extern "C" fn(c_int,
+ c_int,
+ c_int,
+ *const c_void,
+ size_t,
+ *mut SSL,
+ *mut c_void)>,
msg_callback_arg: *mut c_void,
hit: c_int,
param: *mut c_void,
@@ -375,16 +380,23 @@ pub struct SSL {
session: *mut ::SSL_SESSION,
generate_session_id: ::GEN_SESSION_CB,
verify_mode: c_int,
- verify_callback: Option<unsafe extern fn(c_int, *mut ::X509_STORE_CTX) -> c_int>,
- info_callback: Option<unsafe extern fn(*mut SSL, c_int, c_int)>,
+ verify_callback: Option<unsafe extern "C" fn(c_int, *mut ::X509_STORE_CTX) -> c_int>,
+ info_callback: Option<unsafe extern "C" fn(*mut SSL, c_int, c_int)>,
error: c_int,
error_code: c_int,
#[cfg(not(osslconf = "OPENSSL_NO_KRB5"))]
kssl_ctx: *mut c_void,
#[cfg(not(osslconf = "OPENSSL_NO_PSK"))]
- psk_client_callback: Option<unsafe extern fn(*mut SSL, *const c_char, *mut c_char, c_uint, *mut c_uchar, c_uint) -> c_uint>,
+ psk_client_callback: Option<unsafe extern "C" fn(*mut SSL,
+ *const c_char,
+ *mut c_char,
+ c_uint,
+ *mut c_uchar,
+ c_uint)
+ -> c_uint>,
#[cfg(not(osslconf = "OPENSSL_NO_PSK"))]
- psk_server_callback: Option<unsafe extern fn(*mut SSL, *const c_char, *mut c_uchar, c_uint) -> c_uint>,
+ psk_server_callback:
+ Option<unsafe extern "C" fn(*mut SSL, *const c_char, *mut c_uchar, c_uint) -> c_uint>,
ctx: *mut ::SSL_CTX,
debug: c_int,
verify_result: c_long,
@@ -398,7 +410,8 @@ pub struct SSL {
client_version: c_int,
max_send_fragment: c_uint,
#[cfg(not(osslconf = "OPENSSL_NO_TLSEXT"))]
- tlsext_debug_cb: Option<unsafe extern fn(*mut SSL, c_int, c_int, *mut c_uchar, c_int, *mut c_void)>,
+ tlsext_debug_cb:
+ Option<unsafe extern "C" fn(*mut SSL, c_int, c_int, *mut c_uchar, c_int, *mut c_void)>,
#[cfg(not(osslconf = "OPENSSL_NO_TLSEXT"))]
tlsext_debug_arg: *mut c_void,
#[cfg(not(osslconf = "OPENSSL_NO_TLSEXT"))]
@@ -685,16 +698,16 @@ pub const SSL_CTRL_CLEAR_OPTIONS: c_int = 77;
#[cfg(ossl102)]
pub const SSL_CTRL_SET_ECDH_AUTO: c_int = 94;
-pub const SSL_OP_MICROSOFT_SESS_ID_BUG: c_ulong = 0x00000001;
-pub const SSL_OP_NETSCAPE_CHALLENGE_BUG: c_ulong = 0x00000002;
-pub const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: c_ulong = 0x00000008;
-pub const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: c_ulong = 0x00000020;
-pub const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: c_ulong = 0x00000080;
-pub const SSL_OP_TLS_D5_BUG: c_ulong = 0x00000100;
-pub const SSL_OP_TLS_BLOCK_PADDING_BUG: c_ulong = 0x00000200;
-pub const SSL_OP_SINGLE_ECDH_USE: c_ulong = 0x00080000;
-pub const SSL_OP_SINGLE_DH_USE: c_ulong = 0x00100000;
-pub const SSL_OP_NO_SSLv2: c_ulong = 0x01000000;
+pub const SSL_OP_MICROSOFT_SESS_ID_BUG: c_ulong = 0x00000001;
+pub const SSL_OP_NETSCAPE_CHALLENGE_BUG: c_ulong = 0x00000002;
+pub const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: c_ulong = 0x00000008;
+pub const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: c_ulong = 0x00000020;
+pub const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: c_ulong = 0x00000080;
+pub const SSL_OP_TLS_D5_BUG: c_ulong = 0x00000100;
+pub const SSL_OP_TLS_BLOCK_PADDING_BUG: c_ulong = 0x00000200;
+pub const SSL_OP_SINGLE_ECDH_USE: c_ulong = 0x00080000;
+pub const SSL_OP_SINGLE_DH_USE: c_ulong = 0x00100000;
+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;
@@ -702,58 +715,58 @@ 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_CFLAGS : c_int = 2;
-pub const SSLEAY_BUILT_ON : c_int = 3;
-pub const SSLEAY_PLATFORM : c_int = 4;
-pub const SSLEAY_DIR : c_int = 5;
+pub const SSLEAY_VERSION: c_int = 0;
+pub const SSLEAY_CFLAGS: c_int = 2;
+pub const SSLEAY_BUILT_ON: c_int = 3;
+pub const SSLEAY_PLATFORM: c_int = 4;
+pub const SSLEAY_DIR: c_int = 5;
pub const CRYPTO_LOCK_X509: c_int = 3;
pub const CRYPTO_LOCK_SSL_CTX: c_int = 12;
pub const CRYPTO_LOCK_SSL_SESSION: c_int = 14;
static mut MUTEXES: *mut Vec<Mutex<()>> = 0 as *mut Vec<Mutex<()>>;
-static mut GUARDS: *mut Vec<Option<MutexGuard<'static, ()>>> = 0 as *mut Vec<Option<MutexGuard<'static, ()>>>;
+static mut GUARDS: *mut Vec<Option<MutexGuard<'static, ()>>> =
+ 0 as *mut Vec<Option<MutexGuard<'static, ()>>>;
-unsafe extern fn locking_function(mode: c_int, n: c_int, _file: *const c_char,
- _line: c_int) {
+unsafe extern "C" fn locking_function(mode: c_int, n: c_int, _file: *const c_char, _line: c_int) {
let mutex = &(*MUTEXES)[n as usize];
if mode & ::CRYPTO_LOCK != 0 {
(*GUARDS)[n as usize] = Some(mutex.lock().unwrap());
} else {
- &(*GUARDS)[n as usize].take().expect("lock already unlocked");
+ &(*GUARDS)[n as usize]
+ .take()
+ .expect("lock already unlocked");
}
}
pub fn init() {
static INIT: Once = ONCE_INIT;
- INIT.call_once(|| {
- unsafe {
- SSL_library_init();
- SSL_load_error_strings();
- OPENSSL_add_all_algorithms_noconf();
+ INIT.call_once(|| unsafe {
+ SSL_library_init();
+ SSL_load_error_strings();
+ OPENSSL_add_all_algorithms_noconf();
- let num_locks = ::CRYPTO_num_locks();
- let mut mutexes = Box::new(Vec::new());
- for _ in 0..num_locks {
- mutexes.push(Mutex::new(()));
- }
- MUTEXES = mem::transmute(mutexes);
- let guards: Box<Vec<Option<MutexGuard<()>>>> =
- Box::new((0..num_locks).map(|_| None).collect());
- GUARDS = mem::transmute(guards);
+ let num_locks = ::CRYPTO_num_locks();
+ let mut mutexes = Box::new(Vec::new());
+ for _ in 0..num_locks {
+ mutexes.push(Mutex::new(()));
+ }
+ MUTEXES = mem::transmute(mutexes);
+ let guards: Box<Vec<Option<MutexGuard<()>>>> =
+ Box::new((0..num_locks).map(|_| None).collect());
+ GUARDS = mem::transmute(guards);
- CRYPTO_set_locking_callback(locking_function);
- set_id_callback();
- }
- })
+ CRYPTO_set_locking_callback(locking_function);
+ set_id_callback();
+ })
}
#[cfg(unix)]
fn set_id_callback() {
- unsafe extern fn thread_id() -> c_ulong {
+ unsafe extern "C" fn thread_id() -> c_ulong {
::libc::pthread_self() as c_ulong
}
@@ -769,19 +782,25 @@ fn set_id_callback() {}
#[cfg(ossl102)]
pub unsafe fn SSL_CTX_set_ecdh_auto(ctx: *mut SSL_CTX, onoff: c_int) -> c_int {
- ::SSL_CTX_ctrl(ctx, SSL_CTRL_SET_ECDH_AUTO, onoff as c_long, ptr::null_mut()) as c_int
+ ::SSL_CTX_ctrl(ctx,
+ SSL_CTRL_SET_ECDH_AUTO,
+ onoff as c_long,
+ ptr::null_mut()) as c_int
}
#[cfg(ossl102)]
pub unsafe fn SSL_set_ecdh_auto(ssl: *mut ::SSL, onoff: c_int) -> c_int {
- ::SSL_ctrl(ssl, SSL_CTRL_SET_ECDH_AUTO, onoff as c_long, ptr::null_mut()) as c_int
+ ::SSL_ctrl(ssl,
+ SSL_CTRL_SET_ECDH_AUTO,
+ onoff as c_long,
+ ptr::null_mut()) as c_int
}
pub unsafe fn SSL_session_reused(ssl: *mut ::SSL) -> c_int {
::SSL_ctrl(ssl, SSL_CTRL_GET_SESSION_REUSED, 0, ptr::null_mut()) as c_int
}
-extern {
+extern "C" {
pub fn BIO_new(type_: *mut BIO_METHOD) -> *mut BIO;
pub fn BIO_s_file() -> *mut BIO_METHOD;
pub fn BIO_s_mem() -> *mut BIO_METHOD;
@@ -808,10 +827,14 @@ extern {
pub fn RSA_generate_key(modsz: c_int,
e: c_ulong,
- cb: Option<extern fn(c_int, c_int, *mut c_void)>,
- cbarg: *mut c_void) -> *mut RSA;
+ cb: Option<extern "C" fn(c_int, c_int, *mut c_void)>,
+ cbarg: *mut c_void)
+ -> *mut RSA;
- pub fn OCSP_cert_to_id(dgst: *const ::EVP_MD, subject: *mut ::X509, issuer: *mut ::X509) -> *mut ::OCSP_CERTID;
+ pub fn OCSP_cert_to_id(dgst: *const ::EVP_MD,
+ subject: *mut ::X509,
+ issuer: *mut ::X509)
+ -> *mut ::OCSP_CERTID;
pub fn PKCS12_create(pass: *mut c_char,
friendly_name: *mut c_char,
@@ -822,7 +845,8 @@ extern {
nid_cert: c_int,
iter: c_int,
mac_iter: c_int,
- keytype: c_int) -> *mut PKCS12;
+ keytype: c_int)
+ -> *mut PKCS12;
pub fn SSL_library_init() -> c_int;
pub fn SSL_load_error_strings();
@@ -838,50 +862,77 @@ extern {
pub fn DTLSv1_method() -> *const ::SSL_METHOD;
#[cfg(ossl102)]
pub fn DTLSv1_2_method() -> *const ::SSL_METHOD;
- pub fn SSL_get_ex_new_index(argl: c_long, argp: *mut c_void,
+ pub fn SSL_get_ex_new_index(argl: c_long,
+ argp: *mut c_void,
new_func: Option<::CRYPTO_EX_new>,
dup_func: Option<::CRYPTO_EX_dup>,
free_func: Option<::CRYPTO_EX_free>)
-> c_int;
pub fn SSL_set_tmp_ecdh_callback(ssl: *mut ::SSL,
- ecdh: unsafe extern fn(ssl: *mut ::SSL,
- is_export: c_int,
- keylength: c_int)
- -> *mut ::EC_KEY);
+ ecdh: unsafe extern "C" fn(ssl: *mut ::SSL,
+ is_export: c_int,
+ keylength: c_int)
+ -> *mut ::EC_KEY);
pub fn SSL_CIPHER_get_version(cipher: *const ::SSL_CIPHER) -> *mut c_char;
- pub fn SSL_CTX_get_ex_new_index(argl: c_long, argp: *mut c_void,
+ pub fn SSL_CTX_get_ex_new_index(argl: c_long,
+ argp: *mut c_void,
new_func: Option<::CRYPTO_EX_new>,
dup_func: Option<::CRYPTO_EX_dup>,
free_func: Option<::CRYPTO_EX_free>)
-> c_int;
pub fn SSL_CTX_set_tmp_ecdh_callback(ctx: *mut ::SSL_CTX,
- ecdh: unsafe extern fn(ssl: *mut ::SSL,
- is_export: c_int,
- keylength: c_int)
- -> *mut ::EC_KEY);
+ ecdh: unsafe extern "C" fn(ssl: *mut ::SSL,
+ is_export: c_int,
+ keylength: c_int)
+ -> *mut ::EC_KEY);
pub fn X509_get_subject_name(x: *mut ::X509) -> *mut ::X509_NAME;
pub fn X509_set_notAfter(x: *mut ::X509, tm: *const ::ASN1_TIME) -> c_int;
pub fn X509_set_notBefore(x: *mut ::X509, tm: *const ::ASN1_TIME) -> c_int;
- pub fn X509_get_ext_d2i(x: *mut ::X509, nid: c_int, crit: *mut c_int, idx: *mut c_int) -> *mut c_void;
- pub fn X509_NAME_add_entry_by_NID(x: *mut ::X509_NAME, field: c_int, ty: c_int, bytes: *mut c_uchar, len: c_int, loc: c_int, set: c_int) -> c_int;
+ pub fn X509_get_ext_d2i(x: *mut ::X509,
+ nid: c_int,
+ crit: *mut c_int,
+ idx: *mut c_int)
+ -> *mut c_void;
+ pub fn X509_NAME_add_entry_by_NID(x: *mut ::X509_NAME,
+ field: c_int,
+ ty: c_int,
+ bytes: *mut c_uchar,
+ len: c_int,
+ loc: c_int,
+ set: c_int)
+ -> c_int;
#[cfg(not(ossl101))]
- pub fn X509_get0_signature(psig: *mut *mut ::ASN1_BIT_STRING, palg: *mut *mut ::X509_ALGOR, x: *const ::X509);
+ pub fn X509_get0_signature(psig: *mut *mut ::ASN1_BIT_STRING,
+ palg: *mut *mut ::X509_ALGOR,
+ x: *const ::X509);
#[cfg(not(ossl101))]
pub fn X509_get_signature_nid(x: *const X509) -> c_int;
#[cfg(not(ossl101))]
- pub fn X509_ALGOR_get0(paobj: *mut *mut ::ASN1_OBJECT, pptype: *mut c_int, ppval: *mut *mut c_void, alg: *mut ::X509_ALGOR);
+ pub fn X509_ALGOR_get0(paobj: *mut *mut ::ASN1_OBJECT,
+ pptype: *mut c_int,
+ ppval: *mut *mut c_void,
+ alg: *mut ::X509_ALGOR);
pub fn X509_NAME_get_entry(n: *mut ::X509_NAME, loc: c_int) -> *mut ::X509_NAME_ENTRY;
pub fn X509_NAME_ENTRY_get_data(ne: *mut ::X509_NAME_ENTRY) -> *mut ::ASN1_STRING;
pub fn X509_STORE_CTX_get_chain(ctx: *mut ::X509_STORE_CTX) -> *mut stack_st_X509;
- pub fn X509V3_EXT_nconf_nid(conf: *mut ::CONF, ctx: *mut ::X509V3_CTX, ext_nid: c_int, value: *mut c_char) -> *mut ::X509_EXTENSION;
- pub fn X509V3_EXT_nconf(conf: *mut ::CONF, ctx: *mut ::X509V3_CTX, name: *mut c_char, value: *mut c_char) -> *mut ::X509_EXTENSION;
+ pub fn X509V3_EXT_nconf_nid(conf: *mut ::CONF,
+ ctx: *mut ::X509V3_CTX,
+ ext_nid: c_int,
+ value: *mut c_char)
+ -> *mut ::X509_EXTENSION;
+ pub fn X509V3_EXT_nconf(conf: *mut ::CONF,
+ ctx: *mut ::X509V3_CTX,
+ name: *mut c_char,
+ value: *mut c_char)
+ -> *mut ::X509_EXTENSION;
pub fn ASN1_STRING_to_UTF8(out: *mut *mut c_uchar, s: *mut ::ASN1_STRING) -> c_int;
pub fn ASN1_STRING_data(x: *mut ::ASN1_STRING) -> *mut c_uchar;
pub fn CRYPTO_add_lock(pointer: *mut c_int,
amount: c_int,
type_: c_int,
file: *const c_char,
- line: c_int) -> c_int;
+ line: c_int)
+ -> c_int;
pub fn EVP_MD_CTX_create() -> *mut EVP_MD_CTX;
pub fn EVP_MD_CTX_destroy(ctx: *mut EVP_MD_CTX);
pub fn EVP_PKEY_bits(key: *mut EVP_PKEY) -> c_int;
@@ -891,7 +942,7 @@ extern {
pub fn sk_value(st: *const _STACK, n: c_int) -> *mut c_void;
pub fn sk_free(st: *mut _STACK);
pub fn sk_push(st: *mut _STACK, data: *mut c_void) -> c_int;
- pub fn sk_pop_free(st: *mut _STACK, free: Option<unsafe extern "C" fn (*mut c_void)>);
+ pub fn sk_pop_free(st: *mut _STACK, free: Option<unsafe extern "C" fn(*mut c_void)>);
pub fn sk_pop(st: *mut _STACK) -> *mut c_void;
pub fn SSLeay() -> c_ulong;
diff --git a/openssl-sys/src/ossl110.rs b/openssl-sys/src/ossl110.rs
index e83e0454..65064bd0 100644
--- a/openssl-sys/src/ossl110.rs
+++ b/openssl-sys/src/ossl110.rs
@@ -30,16 +30,16 @@ pub enum X509_ALGOR {}
pub enum X509_VERIFY_PARAM {}
pub enum X509_REQ {}
-pub const SSL_OP_MICROSOFT_SESS_ID_BUG: c_ulong = 0x00000000;
-pub const SSL_OP_NETSCAPE_CHALLENGE_BUG: c_ulong = 0x00000000;
-pub const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: c_ulong = 0x00000000;
-pub const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: c_ulong = 0x00000000;
-pub const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: c_ulong = 0x00000000;
-pub const SSL_OP_TLS_D5_BUG: c_ulong = 0x00000000;
-pub const SSL_OP_TLS_BLOCK_PADDING_BUG: c_ulong = 0x00000000;
-pub const SSL_OP_SINGLE_ECDH_USE: c_ulong = 0x00000000;
-pub const SSL_OP_SINGLE_DH_USE: c_ulong = 0x00000000;
-pub const SSL_OP_NO_SSLv2: c_ulong = 0x00000000;
+pub const SSL_OP_MICROSOFT_SESS_ID_BUG: c_ulong = 0x00000000;
+pub const SSL_OP_NETSCAPE_CHALLENGE_BUG: c_ulong = 0x00000000;
+pub const SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG: c_ulong = 0x00000000;
+pub const SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER: c_ulong = 0x00000000;
+pub const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: c_ulong = 0x00000000;
+pub const SSL_OP_TLS_D5_BUG: c_ulong = 0x00000000;
+pub const SSL_OP_TLS_BLOCK_PADDING_BUG: c_ulong = 0x00000000;
+pub const SSL_OP_SINGLE_ECDH_USE: c_ulong = 0x00000000;
+pub const SSL_OP_SINGLE_DH_USE: c_ulong = 0x00000000;
+pub const SSL_OP_NO_SSLv2: c_ulong = 0x00000000;
pub const OPENSSL_VERSION: c_int = 0;
pub const OPENSSL_CFLAGS: c_int = 1;
@@ -54,7 +54,7 @@ pub const X509_CHECK_FLAG_NEVER_CHECK_SUBJECT: c_uint = 0x20;
pub fn init() {}
-extern {
+extern "C" {
pub fn BIO_new(type_: *const BIO_METHOD) -> *mut BIO;
pub fn BIO_s_file() -> *const BIO_METHOD;
pub fn BIO_s_mem() -> *const BIO_METHOD;
@@ -77,7 +77,10 @@ extern {
pub fn HMAC_CTX_new() -> *mut HMAC_CTX;
pub fn HMAC_CTX_free(ctx: *mut HMAC_CTX);
- pub fn OCSP_cert_to_id(dgst: *const ::EVP_MD, subject: *const ::X509, issuer: *const ::X509) -> *mut ::OCSP_CERTID;
+ pub fn OCSP_cert_to_id(dgst: *const ::EVP_MD,
+ subject: *const ::X509,
+ issuer: *const ::X509)
+ -> *mut ::OCSP_CERTID;
pub fn TLS_method() -> *const ::SSL_METHOD;
pub fn DTLS_method() -> *const ::SSL_METHOD;
@@ -85,20 +88,52 @@ extern {
pub fn X509_get_subject_name(x: *const ::X509) -> *mut ::X509_NAME;
pub fn X509_set1_notAfter(x: *mut ::X509, tm: *const ::ASN1_TIME) -> c_int;
pub fn X509_set1_notBefore(x: *mut ::X509, tm: *const ::ASN1_TIME) -> c_int;
- pub fn X509_get_ext_d2i(x: *const ::X509, nid: c_int, crit: *mut c_int, idx: *mut c_int) -> *mut c_void;
- pub fn X509_NAME_add_entry_by_NID(x: *mut ::X509_NAME, field: c_int, ty: c_int, bytes: *const c_uchar, len: c_int, loc: c_int, set: c_int) -> c_int;
+ pub fn X509_get_ext_d2i(x: *const ::X509,
+ nid: c_int,
+ crit: *mut c_int,
+ idx: *mut c_int)
+ -> *mut c_void;
+ pub fn X509_NAME_add_entry_by_NID(x: *mut ::X509_NAME,
+ field: c_int,
+ ty: c_int,
+ bytes: *const c_uchar,
+ len: c_int,
+ loc: c_int,
+ set: c_int)
+ -> c_int;
pub fn X509_get_signature_nid(x: *const X509) -> c_int;
- pub fn X509_ALGOR_get0(paobj: *mut *const ::ASN1_OBJECT, pptype: *mut c_int, ppval: *mut *const c_void, alg: *const ::X509_ALGOR);
+ pub fn X509_ALGOR_get0(paobj: *mut *const ::ASN1_OBJECT,
+ pptype: *mut c_int,
+ ppval: *mut *const c_void,
+ alg: *const ::X509_ALGOR);
pub fn X509_NAME_get_entry(n: *const ::X509_NAME, loc: c_int) -> *mut ::X509_NAME_ENTRY;
pub fn X509_NAME_ENTRY_get_data(ne: *const ::X509_NAME_ENTRY) -> *mut ::ASN1_STRING;
- pub fn X509V3_EXT_nconf_nid(conf: *mut ::CONF, ctx: *mut ::X509V3_CTX, ext_nid: c_int, value: *const c_char) -> *mut ::X509_EXTENSION;
- pub fn X509V3_EXT_nconf(conf: *mut ::CONF, ctx: *mut ::X509V3_CTX, name: *const c_char, value: *const c_char) -> *mut ::X509_EXTENSION;
+ pub fn X509V3_EXT_nconf_nid(conf: *mut ::CONF,
+ ctx: *mut ::X509V3_CTX,
+ ext_nid: c_int,
+ value: *const c_char)
+ -> *mut ::X509_EXTENSION;
+ pub fn X509V3_EXT_nconf(conf: *mut ::CONF,
+ ctx: *mut ::X509V3_CTX,
+ name: *const c_char,
+ value: *const c_char)
+ -> *mut ::X509_EXTENSION;
pub fn ASN1_STRING_to_UTF8(out: *mut *mut c_uchar, s: *const ::ASN1_STRING) -> c_int;
pub fn BN_is_negative(b: *const ::BIGNUM) -> c_int;
pub fn EVP_CIPHER_key_length(cipher: *const EVP_CIPHER) -> c_int;
pub fn EVP_CIPHER_block_size(cipher: *const EVP_CIPHER) -> c_int;
pub fn EVP_CIPHER_iv_length(cipher: *const EVP_CIPHER) -> c_int;
- pub fn EVP_PBE_scrypt(pass: *const c_char, passlen: size_t, salt: *const c_uchar, saltlen: size_t, N: u64, r: u64, p: u64, maxmem: u64, key: *mut c_uchar, keylen: size_t) -> c_int;
+ pub fn EVP_PBE_scrypt(pass: *const c_char,
+ passlen: size_t,
+ salt: *const c_uchar,
+ saltlen: size_t,
+ N: u64,
+ r: u64,
+ p: u64,
+ maxmem: u64,
+ key: *mut c_uchar,
+ keylen: size_t)
+ -> c_int;
pub fn DSA_get0_pqg(d: *const ::DSA,
p: *mut *const ::BIGNUM,
q: *mut *const ::BIGNUM,
@@ -110,59 +145,59 @@ extern {
n: *mut *const ::BIGNUM,
e: *mut *const ::BIGNUM,
d: *mut *const ::BIGNUM);
- pub fn RSA_get0_factors(r: *const ::RSA,
- p: *mut *const ::BIGNUM,
- q: *mut *const ::BIGNUM);
+ pub fn RSA_get0_factors(r: *const ::RSA, p: *mut *const ::BIGNUM, q: *mut *const ::BIGNUM);
pub fn RSA_set0_key(r: *mut ::RSA,
n: *mut ::BIGNUM,
e: *mut ::BIGNUM,
- d: *mut ::BIGNUM) -> c_int;
- pub fn RSA_set0_factors(r: *mut ::RSA,
- p: *mut ::BIGNUM,
- q: *mut ::BIGNUM) -> c_int;
+ d: *mut ::BIGNUM)
+ -> c_int;
+ pub fn RSA_set0_factors(r: *mut ::RSA, p: *mut ::BIGNUM, q: *mut ::BIGNUM) -> c_int;
pub fn RSA_set0_crt_params(r: *mut ::RSA,
dmp1: *mut ::BIGNUM,
dmq1: *mut ::BIGNUM,
- iqmp: *mut ::BIGNUM) -> c_int;
+ iqmp: *mut ::BIGNUM)
+ -> c_int;
pub fn ASN1_STRING_get0_data(x: *const ::ASN1_STRING) -> *const c_uchar;
pub fn OPENSSL_sk_num(stack: *const ::OPENSSL_STACK) -> c_int;
- pub fn OPENSSL_sk_value(stack: *const ::OPENSSL_STACK,
- idx: c_int) -> *mut c_void;
+ pub fn OPENSSL_sk_value(stack: *const ::OPENSSL_STACK, idx: c_int) -> *mut c_void;
pub fn SSL_CTX_get_options(ctx: *const ::SSL_CTX) -> c_ulong;
pub fn SSL_CTX_set_options(ctx: *mut ::SSL_CTX, op: c_ulong) -> c_ulong;
pub fn SSL_CTX_clear_options(ctx: *mut ::SSL_CTX, op: c_ulong) -> c_ulong;
pub fn X509_getm_notAfter(x: *const ::X509) -> *mut ::ASN1_TIME;
pub fn X509_getm_notBefore(x: *const ::X509) -> *mut ::ASN1_TIME;
- pub fn X509_get0_signature(psig: *mut *const ::ASN1_BIT_STRING, palg: *mut *const ::X509_ALGOR, x: *const ::X509);
+ pub fn X509_get0_signature(psig: *mut *const ::ASN1_BIT_STRING,
+ palg: *mut *const ::X509_ALGOR,
+ x: *const ::X509);
pub fn DH_set0_pqg(dh: *mut ::DH,
p: *mut ::BIGNUM,
q: *mut ::BIGNUM,
- g: *mut ::BIGNUM) -> c_int;
+ g: *mut ::BIGNUM)
+ -> c_int;
pub fn BIO_set_init(a: *mut ::BIO, init: c_int);
pub fn BIO_set_data(a: *mut ::BIO, data: *mut c_void);
pub fn BIO_get_data(a: *mut ::BIO) -> *mut c_void;
pub fn BIO_meth_new(type_: c_int, name: *const c_char) -> *mut ::BIO_METHOD;
pub fn BIO_meth_free(biom: *mut ::BIO_METHOD);
pub fn BIO_meth_set_write(biom: *mut ::BIO_METHOD,
- write: unsafe extern fn(*mut ::BIO,
- *const c_char,
- c_int) -> c_int) -> c_int;
+ write: unsafe extern "C" fn(*mut ::BIO, *const c_char, c_int)
+ -> c_int)
+ -> c_int;
pub fn BIO_meth_set_read(biom: *mut ::BIO_METHOD,
- read: unsafe extern fn(*mut ::BIO,
- *mut c_char,
- c_int) -> c_int) -> c_int;
+ read: unsafe extern "C" fn(*mut ::BIO, *mut c_char, c_int) -> c_int)
+ -> c_int;
pub fn BIO_meth_set_puts(biom: *mut ::BIO_METHOD,
- read: unsafe extern fn(*mut ::BIO,
- *const c_char) -> c_int) -> c_int;
+ read: unsafe extern "C" fn(*mut ::BIO, *const c_char) -> c_int)
+ -> c_int;
pub fn BIO_meth_set_ctrl(biom: *mut ::BIO_METHOD,
- read: unsafe extern fn(*mut ::BIO,
- c_int,
- c_long,
- *mut c_void) -> c_long) -> c_int;
+ read: unsafe extern "C" fn(*mut ::BIO, c_int, c_long, *mut c_void)
+ -> c_long)
+ -> c_int;
pub fn BIO_meth_set_create(biom: *mut ::BIO_METHOD,
- create: unsafe extern fn(*mut ::BIO) -> c_int) -> c_int;
+ create: unsafe extern "C" fn(*mut ::BIO) -> c_int)
+ -> c_int;
pub fn BIO_meth_set_destroy(biom: *mut ::BIO_METHOD,
- destroy: unsafe extern fn(*mut ::BIO) -> c_int) -> c_int;
+ destroy: unsafe extern "C" fn(*mut ::BIO) -> c_int)
+ -> c_int;
pub fn CRYPTO_get_ex_new_index(class_index: c_int,
argl: c_long,
argp: *mut c_void,
@@ -188,7 +223,8 @@ extern {
pub fn OpenSSL_version(key: c_int) -> *const c_char;
pub fn OPENSSL_sk_new_null() -> *mut ::OPENSSL_STACK;
pub fn OPENSSL_sk_free(st: *mut ::OPENSSL_STACK);
- pub fn OPENSSL_sk_pop_free(st: *mut ::OPENSSL_STACK, free: Option<unsafe extern "C" fn (*mut c_void)>);
+ pub fn OPENSSL_sk_pop_free(st: *mut ::OPENSSL_STACK,
+ free: Option<unsafe extern "C" fn(*mut c_void)>);
pub fn OPENSSL_sk_push(st: *mut ::OPENSSL_STACK, data: *const c_void) -> c_int;
pub fn OPENSSL_sk_pop(st: *mut ::OPENSSL_STACK) -> *mut c_void;
@@ -201,7 +237,8 @@ extern {
nid_cert: c_int,
iter: c_int,
mac_iter: c_int,
- keytype: c_int) -> *mut PKCS12;
+ keytype: c_int)
+ -> *mut PKCS12;
pub fn X509_REQ_get_version(req: *const X509_REQ) -> c_long;
pub fn X509_REQ_get_subject_name(req: *const X509_REQ) -> *mut ::X509_NAME;
}