Reconcile exdata and version functions between libraries/versions.
This commit is contained in:
parent
98f91769e3
commit
d79090a00a
|
|
@ -13,6 +13,9 @@ pub fn get(openssl_version: Option<u64>, libressl_version: Option<u64>) -> Vec<&
|
|||
if libressl_version >= 0x2_07_00_00_0 {
|
||||
cfgs.push("libressl270");
|
||||
}
|
||||
if libressl_version >= 0x2_07_01_00_0 {
|
||||
cfgs.push("libressl271");
|
||||
}
|
||||
if libressl_version >= 0x2_07_03_00_0 {
|
||||
cfgs.push("libressl273");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,13 @@ cfg_if! {
|
|||
if #[cfg(ossl110)] {
|
||||
pub const CRYPTO_EX_INDEX_SSL: c_int = 0;
|
||||
pub const CRYPTO_EX_INDEX_SSL_CTX: c_int = 1;
|
||||
|
||||
} else if #[cfg(libressl)] {
|
||||
pub const CRYPTO_EX_INDEX_SSL: c_int = 1;
|
||||
pub const CRYPTO_EX_INDEX_SSL_CTX: c_int = 2;
|
||||
}
|
||||
}
|
||||
cfg_if! {
|
||||
if #[cfg(any(ossl110, libressl271))] {
|
||||
extern "C" {
|
||||
pub fn OpenSSL_version_num() -> c_ulong;
|
||||
pub fn OpenSSL_version(key: c_int) -> *const c_char;
|
||||
|
|
@ -64,7 +70,7 @@ pub type CRYPTO_EX_free = unsafe extern "C" fn(
|
|||
argp: *mut c_void,
|
||||
);
|
||||
extern "C" {
|
||||
#[cfg(ossl110)]
|
||||
#[cfg(any(ossl110, libressl))]
|
||||
pub fn CRYPTO_get_ex_new_index(
|
||||
class_index: c_int,
|
||||
argl: c_long,
|
||||
|
|
|
|||
|
|
@ -46,6 +46,10 @@ fn main() {
|
|||
println!("cargo:rustc-cfg=libressl270");
|
||||
}
|
||||
|
||||
if version >= 0x2_07_01_00_0 {
|
||||
println!("cargo:rustc-cfg=libressl271");
|
||||
}
|
||||
|
||||
if version >= 0x2_07_03_00_0 {
|
||||
println!("cargo:rustc-cfg=libressl273");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3833,7 +3833,12 @@ cfg_if! {
|
|||
cfg_if! {
|
||||
if #[cfg(any(ossl110, libressl291))] {
|
||||
use ffi::{TLS_method, DTLS_method};
|
||||
|
||||
} else {
|
||||
use ffi::{SSLv23_method as TLS_method, DTLSv1_method as DTLS_method};
|
||||
}
|
||||
}
|
||||
cfg_if! {
|
||||
if #[cfg(ossl110)] {
|
||||
unsafe fn get_new_idx(f: ffi::CRYPTO_EX_free) -> c_int {
|
||||
ffi::CRYPTO_get_ex_new_index(
|
||||
ffi::CRYPTO_EX_INDEX_SSL_CTX,
|
||||
|
|
@ -3856,8 +3861,6 @@ cfg_if! {
|
|||
)
|
||||
}
|
||||
} else {
|
||||
use ffi::{SSLv23_method as TLS_method, DTLSv1_method as DTLS_method};
|
||||
|
||||
unsafe fn get_new_idx(f: ffi::CRYPTO_EX_free) -> c_int {
|
||||
ffi::SSL_CTX_get_ex_new_index(0, ptr::null_mut(), None, None, Some(f))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
use std::ffi::CStr;
|
||||
|
||||
cfg_if! {
|
||||
if #[cfg(ossl110)] {
|
||||
if #[cfg(any(ossl110, libressl271))] {
|
||||
use ffi::{
|
||||
OPENSSL_VERSION, OPENSSL_CFLAGS, OPENSSL_BUILT_ON, OPENSSL_PLATFORM, OPENSSL_DIR,
|
||||
OpenSSL_version_num, OpenSSL_version,
|
||||
|
|
|
|||
Loading…
Reference in New Issue