Skip to content
  • Alex Crichton's avatar
    43c951f7
    Add support for OpenSSL 1.1.0 · 43c951f7
    Alex Crichton authored
    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
    43c951f7
    Add support for OpenSSL 1.1.0
    Alex Crichton authored
    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
This project manages its dependencies using Cargo. Learn more
Loading