aboutsummaryrefslogtreecommitdiff
path: root/openssl-sys/src
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2018-09-13 14:37:21 -0700
committerGitHub <[email protected]>2018-09-13 14:37:21 -0700
commitb09929fd07808d1dbcc8b9fbdba0d0957f6360d3 (patch)
treebce9f2edb0e22d80c8540fd9654ef0f3bc995419 /openssl-sys/src
parentMerge pull request #990 from sfackler/one-sys-mod (diff)
parentFix missing symbol (diff)
downloadrust-openssl-b09929fd07808d1dbcc8b9fbdba0d0957f6360d3.tar.xz
rust-openssl-b09929fd07808d1dbcc8b9fbdba0d0957f6360d3.zip
Merge pull request #991 from sfackler/libressl-28
Support libressl 2.8.0
Diffstat (limited to 'openssl-sys/src')
-rw-r--r--openssl-sys/src/asn1.rs2
-rw-r--r--openssl-sys/src/bio.rs19
-rw-r--r--openssl-sys/src/ec.rs2
-rw-r--r--openssl-sys/src/evp.rs35
-rw-r--r--openssl-sys/src/ossl_typ.rs26
-rw-r--r--openssl-sys/src/pkcs12.rs2
-rw-r--r--openssl-sys/src/ssl.rs33
-rw-r--r--openssl-sys/src/x509.rs33
-rw-r--r--openssl-sys/src/x509v3.rs2
9 files changed, 93 insertions, 61 deletions
diff --git a/openssl-sys/src/asn1.rs b/openssl-sys/src/asn1.rs
index 9cf321ea..90eaeffa 100644
--- a/openssl-sys/src/asn1.rs
+++ b/openssl-sys/src/asn1.rs
@@ -49,7 +49,7 @@ extern "C" {
}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
extern "C" {
pub fn ASN1_STRING_to_UTF8(out: *mut *mut c_uchar, s: *const ASN1_STRING) -> c_int;
}
diff --git a/openssl-sys/src/bio.rs b/openssl-sys/src/bio.rs
index ce660145..8c26fd42 100644
--- a/openssl-sys/src/bio.rs
+++ b/openssl-sys/src/bio.rs
@@ -36,7 +36,7 @@ pub type bio_info_cb =
Option<unsafe extern "C" fn(*mut BIO, c_int, *const c_char, c_int, c_long, c_long)>;
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
pub enum BIO_METHOD {}
} else {
#[repr(C)]
@@ -60,23 +60,14 @@ pub unsafe fn BIO_get_mem_data(b: *mut BIO, pp: *mut *mut c_char) -> c_long {
}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
extern "C" {
pub fn BIO_s_file() -> *const BIO_METHOD;
- }
- } else {
- extern "C" {
- pub fn BIO_s_file() -> *mut BIO_METHOD;
- }
- }
-}
-cfg_if! {
- if #[cfg(ossl110)] {
- extern "C" {
pub fn BIO_new(type_: *const BIO_METHOD) -> *mut BIO;
}
} else {
extern "C" {
+ pub fn BIO_s_file() -> *mut BIO_METHOD;
pub fn BIO_new(type_: *mut BIO_METHOD) -> *mut BIO;
}
}
@@ -96,7 +87,7 @@ extern "C" {
}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
extern "C" {
pub fn BIO_s_mem() -> *const BIO_METHOD;
}
@@ -107,7 +98,7 @@ cfg_if! {
}
}
cfg_if! {
- if #[cfg(ossl102)] {
+ if #[cfg(any(ossl102, libressl280))] {
extern "C" {
pub fn BIO_new_mem_buf(buf: *const c_void, len: c_int) -> *mut BIO;
}
diff --git a/openssl-sys/src/ec.rs b/openssl-sys/src/ec.rs
index 3eea0d24..a33d4d46 100644
--- a/openssl-sys/src/ec.rs
+++ b/openssl-sys/src/ec.rs
@@ -166,7 +166,7 @@ extern "C" {
}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
pub enum ECDSA_SIG {}
} else {
#[repr(C)]
diff --git a/openssl-sys/src/evp.rs b/openssl-sys/src/evp.rs
index c78f7616..53d2e22f 100644
--- a/openssl-sys/src/evp.rs
+++ b/openssl-sys/src/evp.rs
@@ -108,19 +108,28 @@ extern "C" {
e: *mut ENGINE,
pkey: *mut EVP_PKEY,
) -> c_int;
- #[cfg(not(ossl102))]
- pub fn EVP_DigestVerifyFinal(
- ctx: *mut EVP_MD_CTX,
- sigret: *mut c_uchar,
- siglen: size_t,
- ) -> c_int;
- #[cfg(ossl102)]
- pub fn EVP_DigestVerifyFinal(
- ctx: *mut EVP_MD_CTX,
- sigret: *const c_uchar,
- siglen: size_t,
- ) -> c_int;
+}
+cfg_if! {
+ if #[cfg(any(ossl102, libressl280))] {
+ extern "C" {
+ pub fn EVP_DigestVerifyFinal(
+ ctx: *mut EVP_MD_CTX,
+ sigret: *const c_uchar,
+ siglen: size_t,
+ ) -> c_int;
+ }
+ } else {
+ extern "C" {
+ pub fn EVP_DigestVerifyFinal(
+ ctx: *mut EVP_MD_CTX,
+ sigret: *mut c_uchar,
+ siglen: size_t,
+ ) -> c_int;
+ }
+ }
+}
+extern "C" {
pub fn EVP_CIPHER_CTX_new() -> *mut EVP_CIPHER_CTX;
pub fn EVP_CIPHER_CTX_free(ctx: *mut EVP_CIPHER_CTX);
pub fn EVP_MD_CTX_copy_ex(dst: *mut EVP_MD_CTX, src: *const EVP_MD_CTX) -> c_int;
@@ -181,7 +190,7 @@ extern "C" {
pub fn EVP_PKEY_id(pkey: *const EVP_PKEY) -> c_int;
}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
extern "C" {
pub fn EVP_PKEY_bits(key: *const EVP_PKEY) -> c_int;
}
diff --git a/openssl-sys/src/ossl_typ.rs b/openssl-sys/src/ossl_typ.rs
index 58cab8d7..96c4d002 100644
--- a/openssl-sys/src/ossl_typ.rs
+++ b/openssl-sys/src/ossl_typ.rs
@@ -13,7 +13,7 @@ pub enum ASN1_OBJECT {}
pub enum bio_st {} // FIXME remove
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
pub enum BIO {}
} else {
#[repr(C)]
@@ -59,7 +59,7 @@ pub enum BN_CTX {}
pub enum BN_GENCB {}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
pub enum EVP_CIPHER {}
} else {
#[repr(C)]
@@ -90,7 +90,7 @@ cfg_if! {
pub enum EVP_CIPHER_CTX {}
pub enum EVP_MD {}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
pub enum EVP_MD_CTX {}
} else {
#[repr(C)]
@@ -105,7 +105,7 @@ cfg_if! {
}
}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
pub enum EVP_PKEY {}
} else {
#[repr(C)]
@@ -127,7 +127,7 @@ pub enum EVP_PKEY_ASN1_METHOD {}
pub enum EVP_PKEY_CTX {}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
pub enum HMAC_CTX {}
} else {
#[repr(C)]
@@ -143,7 +143,7 @@ cfg_if! {
}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
pub enum DH {}
} else {
#[repr(C)]
@@ -172,7 +172,7 @@ cfg_if! {
pub enum DH_METHOD {}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
pub enum DSA {}
} else {
#[repr(C)]
@@ -201,7 +201,7 @@ cfg_if! {
pub enum DSA_METHOD {}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
pub enum RSA {}
} else if #[cfg(libressl)] {
#[repr(C)]
@@ -267,7 +267,7 @@ pub enum RSA_METHOD {}
pub enum EC_KEY {}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
pub enum X509 {}
} else if #[cfg(libressl)] {
#[repr(C)]
@@ -344,7 +344,7 @@ pub enum X509_STORE {}
pub enum X509_STORE_CTX {}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
pub enum X509_VERIFY_PARAM {}
} else if #[cfg(libressl251)] {
#[repr(C)]
@@ -406,7 +406,7 @@ pub enum OPENSSL_INIT_SETTINGS {}
pub enum ENGINE {}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
pub enum SSL {}
} else if #[cfg(libressl251)] {
#[repr(C)]
@@ -708,7 +708,7 @@ cfg_if! {
}
}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
pub enum SSL_CTX {}
} else if #[cfg(libressl251)] {
#[repr(C)]
@@ -970,7 +970,7 @@ cfg_if! {
pub enum COMP_METHOD {}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
pub enum CRYPTO_EX_DATA {}
} else if #[cfg(libressl)] {
#[repr(C)]
diff --git a/openssl-sys/src/pkcs12.rs b/openssl-sys/src/pkcs12.rs
index 72170ea1..9cdba7e1 100644
--- a/openssl-sys/src/pkcs12.rs
+++ b/openssl-sys/src/pkcs12.rs
@@ -18,7 +18,7 @@ extern "C" {
) -> c_int;
}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
extern "C" {
pub fn PKCS12_create(
pass: *const c_char,
diff --git a/openssl-sys/src/ssl.rs b/openssl-sys/src/ssl.rs
index 39b165f1..e139a89c 100644
--- a/openssl-sys/src/ssl.rs
+++ b/openssl-sys/src/ssl.rs
@@ -25,7 +25,7 @@ pub const SSL_FILETYPE_ASN1: c_int = X509_FILETYPE_ASN1;
pub enum SSL_METHOD {}
pub enum SSL_CIPHER {}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
pub enum SSL_SESSION {}
} else if #[cfg(libressl251)] {
#[repr(C)]
@@ -292,7 +292,13 @@ cfg_if! {
pub const SSL_OP_ENABLE_MIDDLEBOX_COMPAT: c_ulong = 0x00100000;
pub const SSL_OP_CIPHER_SERVER_PREFERENCE: c_ulong = 0x00400000;
-pub const SSL_OP_TLS_ROLLBACK_BUG: c_ulong = 0x00800000;
+cfg_if! {
+ if #[cfg(libressl280)] {
+ pub const SSL_OP_TLS_ROLLBACK_BUG: c_ulong = 0;
+ } else {
+ pub const SSL_OP_TLS_ROLLBACK_BUG: c_ulong = 0x00800000;
+ }
+}
cfg_if! {
@@ -466,7 +472,7 @@ extern "C" {
);
}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
extern "C" {
pub fn SSL_CTX_sess_set_get_cb(
ctx: *mut ::SSL_CTX,
@@ -497,7 +503,7 @@ extern "C" {
}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
extern "C" {
pub fn SSL_CTX_set_cookie_verify_cb(
s: *mut SSL_CTX,
@@ -843,7 +849,7 @@ extern "C" {
pub fn SSL_CIPHER_get_bits(cipher: *const SSL_CIPHER, alg_bits: *mut c_int) -> c_int;
}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
extern "C" {
pub fn SSL_CIPHER_get_version(cipher: *const SSL_CIPHER) -> *const c_char;
}
@@ -1036,11 +1042,20 @@ extern "C" {
) -> *mut c_char;
pub fn SSL_get_certificate(ssl: *const SSL) -> *mut X509;
- #[cfg(not(ossl102))]
- pub fn SSL_get_privatekey(ssl: *mut SSL) -> *mut EVP_PKEY;
- #[cfg(ossl102)]
- pub fn SSL_get_privatekey(ssl: *const SSL) -> *mut EVP_PKEY;
+}
+cfg_if! {
+ if #[cfg(any(ossl102, libressl280))] {
+ extern "C" {
+ pub fn SSL_get_privatekey(ssl: *const SSL) -> *mut EVP_PKEY;
+ }
+ } else {
+ extern "C" {
+ pub fn SSL_get_privatekey(ssl: *mut SSL) -> *mut EVP_PKEY;
+ }
+ }
+}
+extern "C" {
#[cfg(ossl102)]
pub fn SSL_CTX_get0_certificate(ctx: *const SSL_CTX) -> *mut X509;
#[cfg(ossl102)]
diff --git a/openssl-sys/src/x509.rs b/openssl-sys/src/x509.rs
index 1a9018a9..a0da2069 100644
--- a/openssl-sys/src/x509.rs
+++ b/openssl-sys/src/x509.rs
@@ -191,7 +191,7 @@ extern "C" {
pub fn X509_set_issuer_name(x: *mut X509, name: *mut X509_NAME) -> c_int;
}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
extern "C" {
pub fn X509_get_issuer_name(x: *const ::X509) -> *mut ::X509_NAME;
}
@@ -205,15 +205,24 @@ extern "C" {
pub fn X509_set_subject_name(x: *mut X509, name: *mut X509_NAME) -> c_int;
}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
extern "C" {
pub fn X509_get_subject_name(x: *const ::X509) -> *mut ::X509_NAME;
+ }
+ } else {
+ extern "C" {
+ pub fn X509_get_subject_name(x: *mut ::X509) -> *mut ::X509_NAME;
+ }
+ }
+}
+cfg_if! {
+ if #[cfg(ossl110)] {
+ extern "C" {
pub fn X509_set1_notBefore(x: *mut ::X509, tm: *const ::ASN1_TIME) -> c_int;
pub fn X509_set1_notAfter(x: *mut ::X509, tm: *const ::ASN1_TIME) -> c_int;
}
} else {
extern "C" {
- pub fn X509_get_subject_name(x: *mut ::X509) -> *mut ::X509_NAME;
pub fn X509_set_notBefore(x: *mut ::X509, tm: *const ::ASN1_TIME) -> c_int;
pub fn X509_set_notAfter(x: *mut ::X509, tm: *const ::ASN1_TIME) -> c_int;
}
@@ -244,7 +253,7 @@ extern "C" {
}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
extern "C" {
pub fn X509_NAME_entry_count(n: *const X509_NAME) -> c_int;
}
@@ -255,11 +264,19 @@ cfg_if! {
}
}
-extern "C" {
- pub fn X509_NAME_get_index_by_NID(n: *mut X509_NAME, nid: c_int, last_pos: c_int) -> c_int;
+cfg_if! {
+ if #[cfg(libressl280)] {
+ extern "C" {
+ pub fn X509_NAME_get_index_by_NID(n: *const X509_NAME, nid: c_int, last_pos: c_int) -> c_int;
+ }
+ } else {
+ extern "C" {
+ pub fn X509_NAME_get_index_by_NID(n: *mut X509_NAME, nid: c_int, last_pos: c_int) -> c_int;
+ }
+ }
}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
extern "C" {
pub fn X509_NAME_get_entry(n: *const X509_NAME, loc: c_int) -> *mut X509_NAME_ENTRY;
pub fn X509_NAME_add_entry_by_NID(
@@ -305,7 +322,7 @@ extern "C" {
pub fn X509_add_ext(x: *mut X509, ext: *mut X509_EXTENSION, loc: c_int) -> c_int;
}
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
extern "C" {
pub fn X509_get_ext_d2i(
x: *const ::X509,
diff --git a/openssl-sys/src/x509v3.rs b/openssl-sys/src/x509v3.rs
index 81203526..d355a549 100644
--- a/openssl-sys/src/x509v3.rs
+++ b/openssl-sys/src/x509v3.rs
@@ -41,7 +41,7 @@ pub const X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS: c_uint = 0x10;
pub const X509_CHECK_FLAG_NEVER_CHECK_SUBJECT: c_uint = 0x20;
cfg_if! {
- if #[cfg(ossl110)] {
+ if #[cfg(any(ossl110, libressl280))] {
extern "C" {
pub fn X509V3_EXT_nconf_nid(
conf: *mut CONF,