From 43c951f743e68fac5f45119eda7c994882a1d489 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Fri, 30 Sep 2016 00:43:05 -0700 Subject: Add support for OpenSSL 1.1.0 This commit is relatively major refactoring of the `openssl-sys` crate as well as the `openssl` crate itself. The end goal here was to support OpenSSL 1.1.0, and lots of other various tweaks happened along the way. The major new features are: * OpenSSL 1.1.0 is supported * OpenSSL 0.9.8 is no longer supported (aka all OSX users by default) * All FFI bindings are verified with the `ctest` crate (same way as the `libc` crate) * CI matrixes are vastly expanded to include 32/64 of all platforms, more OpenSSL version coverage, as well as ARM coverage on Linux * The `c_helpers` module is completely removed along with the `gcc` dependency. * The `openssl-sys` build script was completely rewritten * Now uses `OPENSSL_DIR` to find the installation, not include/lib env vars. * Better error messages for mismatched versions. * Better error messages for failing to find OpenSSL on a platform (more can be done here) * Probing of OpenSSL build-time configuration to inform the API of the `*-sys` crate. * Many Cargo features have been removed as they're now enabled by default. As this is a breaking change to both the `openssl` and `openssl-sys` crates this will necessitate a major version bump of both. There's still a few more API questions remaining but let's hash that out on a PR! Closes #452 --- openssl/src/macros.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'openssl/src/macros.rs') diff --git a/openssl/src/macros.rs b/openssl/src/macros.rs index e2d9cae5..31c298fa 100644 --- a/openssl/src/macros.rs +++ b/openssl/src/macros.rs @@ -80,3 +80,17 @@ macro_rules! lift_ssl_returns_size { } }) } + +#[cfg(ossl10x)] +macro_rules! CRYPTO_free { + ($e:expr) => (::ffi::CRYPTO_free($e)) +} + +#[cfg(ossl110)] +macro_rules! CRYPTO_free { + ($e:expr) => ( + ::ffi::CRYPTO_free($e, + concat!(file!(), "\0").as_ptr() as *const _, + line!() as i32) + ) +} -- cgit v1.2.3