Loading openssl-sys/Cargo.toml +1 −1 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ vendored = ['openssl-src'] libc = "0.2" [build-dependencies] bindgen = { version = "0.59", optional = true } bindgen = { version = "0.59.2", optional = true } cc = "1.0" openssl-src = { version = "300", optional = true } pkg-config = "0.3.9" Loading openssl-sys/build/main.rs +4 −4 Original line number Diff line number Diff line Loading @@ -67,9 +67,6 @@ fn main() { let (lib_dir, include_dir) = find_openssl(&target); #[cfg(feature = "bindgen")] run_bindgen::run(&include_dir); if !Path::new(&lib_dir).exists() { panic!( "OpenSSL library directory does not exist: {}", Loading @@ -89,7 +86,7 @@ fn main() { ); println!("cargo:include={}", include_dir.to_string_lossy()); let version = validate_headers(&[include_dir]); let version = validate_headers(&[include_dir.clone()]); let libs_env = env("OPENSSL_LIBS"); let libs = match libs_env.as_ref().and_then(|s| s.to_str()) { Loading Loading @@ -131,6 +128,9 @@ fn main() { println!("cargo:rustc-link-lib=dylib=ws2_32"); println!("cargo:rustc-link-lib=dylib=advapi32"); } #[cfg(feature = "bindgen")] run_bindgen::run(&include_dir); } fn check_rustc_versions() { Loading openssl-sys/build/run_bindgen.rs +8 −8 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ use std::env; use std::path::{Path, PathBuf}; const INCLUDES: &str = " #include <openssl/crypto.h> #include <openssl/stack.h> "; Loading @@ -14,14 +15,13 @@ pub fn run(include_dir: &Path) { .parse_callbacks(Box::new(OpensslCallbacks)) .rust_target(RustTarget::Stable_1_47) .ctypes_prefix("::libc") .allowlist_type("OPENSSL.*") .allowlist_type("CRYPTO.*") .allowlist_type("EVP.*") .allowlist_type("_STACK") .allowlist_function("OPENSSL.*") .allowlist_function("CRYPTO.*") .allowlist_function("EVP.*") .allowlist_function("sk_.*") .raw_line("use libc::*;") .blocklist_file("stdlib.h") .blocklist_file("time.h") // libc is missing pthread_once_t on macOS .blocklist_type("CRYPTO_ONCE") .blocklist_function("CRYPTO_THREAD_run_once") .layout_tests(false) .clang_arg("-I") .clang_arg(include_dir.display().to_string()) .header_contents("includes.h", INCLUDES) Loading openssl-sys/src/crypto.rs +1 −96 Original line number Diff line number Diff line Loading @@ -49,8 +49,6 @@ pub const CRYPTO_LOCK_SSL_CTX: c_int = 12; #[cfg(not(ossl110))] pub const CRYPTO_LOCK_SSL_SESSION: c_int = 14; stack!(stack_st_void); cfg_if! { if #[cfg(ossl110)] { pub const CRYPTO_EX_INDEX_SSL: c_int = 0; Loading @@ -60,22 +58,15 @@ cfg_if! { 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; } pub const OPENSSL_VERSION: c_int = 0; pub const OPENSSL_CFLAGS: c_int = 1; pub const OPENSSL_BUILT_ON: c_int = 2; pub const OPENSSL_PLATFORM: c_int = 3; pub const OPENSSL_DIR: c_int = 4; } else { extern "C" { pub fn SSLeay() -> c_ulong; pub fn SSLeay_version(key: c_int) -> *const c_char; } pub const SSLEAY_VERSION: c_int = 0; pub const SSLEAY_CFLAGS: c_int = 2; pub const SSLEAY_BUILT_ON: c_int = 3; Loading @@ -84,90 +75,4 @@ cfg_if! { } } // FIXME should be options 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, ); extern "C" { #[cfg(any(ossl110, libressl))] pub fn CRYPTO_get_ex_new_index( class_index: c_int, 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 const CRYPTO_LOCK: c_int = 1; extern "C" { #[cfg(not(ossl110))] pub fn CRYPTO_num_locks() -> c_int; #[cfg(not(ossl110))] pub fn CRYPTO_set_locking_callback( func: unsafe extern "C" fn(mode: c_int, n: c_int, file: *const c_char, line: c_int), ); #[cfg(not(ossl110))] pub fn CRYPTO_set_id_callback(func: unsafe extern "C" fn() -> c_ulong); #[cfg(not(ossl110))] pub fn CRYPTO_add_lock( pointer: *mut c_int, amount: c_int, type_: c_int, file: *const c_char, line: c_int, ) -> c_int; } cfg_if! { if #[cfg(ossl110)] { extern "C" { pub fn CRYPTO_malloc(num: size_t, file: *const c_char, line: c_int) -> *mut c_void; pub fn CRYPTO_free(buf: *mut c_void, file: *const c_char, line: c_int); } } else { extern "C" { pub fn CRYPTO_malloc(num: c_int, file: *const c_char, line: c_int) -> *mut c_void; pub fn CRYPTO_free(buf: *mut c_void); } } } extern "C" { #[cfg(all(ossl101, not(ossl300)))] pub fn FIPS_mode() -> c_int; #[cfg(all(ossl101, not(ossl300)))] pub fn FIPS_mode_set(onoff: c_int) -> c_int; pub fn CRYPTO_memcmp(a: *const c_void, b: *const c_void, len: size_t) -> c_int; #[cfg(ossl300)] pub fn OSSL_LIB_CTX_new() -> *mut OSSL_LIB_CTX; #[cfg(ossl300)] pub fn OSSL_LIB_CTX_free(libcts: *mut OSSL_LIB_CTX); } openssl-sys/src/handwritten/crypto.rs 0 → 100644 +104 −0 Original line number Diff line number Diff line use libc::*; use *; stack!(stack_st_void); 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; } } else { extern "C" { pub fn SSLeay() -> c_ulong; pub fn SSLeay_version(key: c_int) -> *const c_char; } } } // FIXME should be options 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, ); extern "C" { #[cfg(any(ossl110, libressl))] pub fn CRYPTO_get_ex_new_index( class_index: c_int, 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; } extern "C" { #[cfg(not(ossl110))] pub fn CRYPTO_num_locks() -> c_int; #[cfg(not(ossl110))] pub fn CRYPTO_set_locking_callback( func: unsafe extern "C" fn(mode: c_int, n: c_int, file: *const c_char, line: c_int), ); #[cfg(not(ossl110))] pub fn CRYPTO_set_id_callback(func: unsafe extern "C" fn() -> c_ulong); #[cfg(not(ossl110))] pub fn CRYPTO_add_lock( pointer: *mut c_int, amount: c_int, type_: c_int, file: *const c_char, line: c_int, ) -> c_int; } cfg_if! { if #[cfg(ossl110)] { extern "C" { pub fn CRYPTO_malloc(num: size_t, file: *const c_char, line: c_int) -> *mut c_void; pub fn CRYPTO_free(buf: *mut c_void, file: *const c_char, line: c_int); } } else { extern "C" { pub fn CRYPTO_malloc(num: c_int, file: *const c_char, line: c_int) -> *mut c_void; pub fn CRYPTO_free(buf: *mut c_void); } } } extern "C" { #[cfg(all(ossl101, not(ossl300)))] pub fn FIPS_mode() -> c_int; #[cfg(all(ossl101, not(ossl300)))] pub fn FIPS_mode_set(onoff: c_int) -> c_int; pub fn CRYPTO_memcmp(a: *const c_void, b: *const c_void, len: size_t) -> c_int; #[cfg(ossl300)] pub fn OSSL_LIB_CTX_new() -> *mut OSSL_LIB_CTX; #[cfg(ossl300)] pub fn OSSL_LIB_CTX_free(libcts: *mut OSSL_LIB_CTX); } Loading
openssl-sys/Cargo.toml +1 −1 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ vendored = ['openssl-src'] libc = "0.2" [build-dependencies] bindgen = { version = "0.59", optional = true } bindgen = { version = "0.59.2", optional = true } cc = "1.0" openssl-src = { version = "300", optional = true } pkg-config = "0.3.9" Loading
openssl-sys/build/main.rs +4 −4 Original line number Diff line number Diff line Loading @@ -67,9 +67,6 @@ fn main() { let (lib_dir, include_dir) = find_openssl(&target); #[cfg(feature = "bindgen")] run_bindgen::run(&include_dir); if !Path::new(&lib_dir).exists() { panic!( "OpenSSL library directory does not exist: {}", Loading @@ -89,7 +86,7 @@ fn main() { ); println!("cargo:include={}", include_dir.to_string_lossy()); let version = validate_headers(&[include_dir]); let version = validate_headers(&[include_dir.clone()]); let libs_env = env("OPENSSL_LIBS"); let libs = match libs_env.as_ref().and_then(|s| s.to_str()) { Loading Loading @@ -131,6 +128,9 @@ fn main() { println!("cargo:rustc-link-lib=dylib=ws2_32"); println!("cargo:rustc-link-lib=dylib=advapi32"); } #[cfg(feature = "bindgen")] run_bindgen::run(&include_dir); } fn check_rustc_versions() { Loading
openssl-sys/build/run_bindgen.rs +8 −8 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ use std::env; use std::path::{Path, PathBuf}; const INCLUDES: &str = " #include <openssl/crypto.h> #include <openssl/stack.h> "; Loading @@ -14,14 +15,13 @@ pub fn run(include_dir: &Path) { .parse_callbacks(Box::new(OpensslCallbacks)) .rust_target(RustTarget::Stable_1_47) .ctypes_prefix("::libc") .allowlist_type("OPENSSL.*") .allowlist_type("CRYPTO.*") .allowlist_type("EVP.*") .allowlist_type("_STACK") .allowlist_function("OPENSSL.*") .allowlist_function("CRYPTO.*") .allowlist_function("EVP.*") .allowlist_function("sk_.*") .raw_line("use libc::*;") .blocklist_file("stdlib.h") .blocklist_file("time.h") // libc is missing pthread_once_t on macOS .blocklist_type("CRYPTO_ONCE") .blocklist_function("CRYPTO_THREAD_run_once") .layout_tests(false) .clang_arg("-I") .clang_arg(include_dir.display().to_string()) .header_contents("includes.h", INCLUDES) Loading
openssl-sys/src/crypto.rs +1 −96 Original line number Diff line number Diff line Loading @@ -49,8 +49,6 @@ pub const CRYPTO_LOCK_SSL_CTX: c_int = 12; #[cfg(not(ossl110))] pub const CRYPTO_LOCK_SSL_SESSION: c_int = 14; stack!(stack_st_void); cfg_if! { if #[cfg(ossl110)] { pub const CRYPTO_EX_INDEX_SSL: c_int = 0; Loading @@ -60,22 +58,15 @@ cfg_if! { 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; } pub const OPENSSL_VERSION: c_int = 0; pub const OPENSSL_CFLAGS: c_int = 1; pub const OPENSSL_BUILT_ON: c_int = 2; pub const OPENSSL_PLATFORM: c_int = 3; pub const OPENSSL_DIR: c_int = 4; } else { extern "C" { pub fn SSLeay() -> c_ulong; pub fn SSLeay_version(key: c_int) -> *const c_char; } pub const SSLEAY_VERSION: c_int = 0; pub const SSLEAY_CFLAGS: c_int = 2; pub const SSLEAY_BUILT_ON: c_int = 3; Loading @@ -84,90 +75,4 @@ cfg_if! { } } // FIXME should be options 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, ); extern "C" { #[cfg(any(ossl110, libressl))] pub fn CRYPTO_get_ex_new_index( class_index: c_int, 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 const CRYPTO_LOCK: c_int = 1; extern "C" { #[cfg(not(ossl110))] pub fn CRYPTO_num_locks() -> c_int; #[cfg(not(ossl110))] pub fn CRYPTO_set_locking_callback( func: unsafe extern "C" fn(mode: c_int, n: c_int, file: *const c_char, line: c_int), ); #[cfg(not(ossl110))] pub fn CRYPTO_set_id_callback(func: unsafe extern "C" fn() -> c_ulong); #[cfg(not(ossl110))] pub fn CRYPTO_add_lock( pointer: *mut c_int, amount: c_int, type_: c_int, file: *const c_char, line: c_int, ) -> c_int; } cfg_if! { if #[cfg(ossl110)] { extern "C" { pub fn CRYPTO_malloc(num: size_t, file: *const c_char, line: c_int) -> *mut c_void; pub fn CRYPTO_free(buf: *mut c_void, file: *const c_char, line: c_int); } } else { extern "C" { pub fn CRYPTO_malloc(num: c_int, file: *const c_char, line: c_int) -> *mut c_void; pub fn CRYPTO_free(buf: *mut c_void); } } } extern "C" { #[cfg(all(ossl101, not(ossl300)))] pub fn FIPS_mode() -> c_int; #[cfg(all(ossl101, not(ossl300)))] pub fn FIPS_mode_set(onoff: c_int) -> c_int; pub fn CRYPTO_memcmp(a: *const c_void, b: *const c_void, len: size_t) -> c_int; #[cfg(ossl300)] pub fn OSSL_LIB_CTX_new() -> *mut OSSL_LIB_CTX; #[cfg(ossl300)] pub fn OSSL_LIB_CTX_free(libcts: *mut OSSL_LIB_CTX); }
openssl-sys/src/handwritten/crypto.rs 0 → 100644 +104 −0 Original line number Diff line number Diff line use libc::*; use *; stack!(stack_st_void); 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; } } else { extern "C" { pub fn SSLeay() -> c_ulong; pub fn SSLeay_version(key: c_int) -> *const c_char; } } } // FIXME should be options 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, ); extern "C" { #[cfg(any(ossl110, libressl))] pub fn CRYPTO_get_ex_new_index( class_index: c_int, 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; } extern "C" { #[cfg(not(ossl110))] pub fn CRYPTO_num_locks() -> c_int; #[cfg(not(ossl110))] pub fn CRYPTO_set_locking_callback( func: unsafe extern "C" fn(mode: c_int, n: c_int, file: *const c_char, line: c_int), ); #[cfg(not(ossl110))] pub fn CRYPTO_set_id_callback(func: unsafe extern "C" fn() -> c_ulong); #[cfg(not(ossl110))] pub fn CRYPTO_add_lock( pointer: *mut c_int, amount: c_int, type_: c_int, file: *const c_char, line: c_int, ) -> c_int; } cfg_if! { if #[cfg(ossl110)] { extern "C" { pub fn CRYPTO_malloc(num: size_t, file: *const c_char, line: c_int) -> *mut c_void; pub fn CRYPTO_free(buf: *mut c_void, file: *const c_char, line: c_int); } } else { extern "C" { pub fn CRYPTO_malloc(num: c_int, file: *const c_char, line: c_int) -> *mut c_void; pub fn CRYPTO_free(buf: *mut c_void); } } } extern "C" { #[cfg(all(ossl101, not(ossl300)))] pub fn FIPS_mode() -> c_int; #[cfg(all(ossl101, not(ossl300)))] pub fn FIPS_mode_set(onoff: c_int) -> c_int; pub fn CRYPTO_memcmp(a: *const c_void, b: *const c_void, len: size_t) -> c_int; #[cfg(ossl300)] pub fn OSSL_LIB_CTX_new() -> *mut OSSL_LIB_CTX; #[cfg(ossl300)] pub fn OSSL_LIB_CTX_free(libcts: *mut OSSL_LIB_CTX); }