Import upstream fixes to type-safety flaws in rust-openssl

This imports:
https://github.com/sfackler/rust-openssl/commit/ed6e1ae859f40c64fb9eb0b01f9e92f8ac6ce14c
https://github.com/sfackler/rust-openssl/commit/6fb228bebb8b09942242c2741e255c408cdbd0ef

These patches are needed to build with the latest BoringSSL.
rust-openssl uses an unsound bindings strategy that is not type-safe.
While upstream rust-openssl have been fixing a few of the surface-level
issues (though not the underlying design flaw), Android's copy is
behind, so we need to manually import patches to unblock updates.

Test: treehugger
Change-Id: Ic8915ff05ea5de62c25a866c1c2dbb01ccab9015
5 files changed
tree: c3908d37f13065ea6d2389790ba4314d3a8d02f2
  1. .cargo/
  2. examples/
  3. patches/
  4. src/
  5. test/
  6. .cargo_vcs_info.json
  7. Android.bp
  8. build.rs
  9. Cargo.lock
  10. Cargo.toml
  11. Cargo.toml.orig
  12. cargo_embargo.json
  13. CHANGELOG.md
  14. LICENSE
  15. METADATA
  16. MODULE_LICENSE_APACHE2
  17. OWNERS
  18. README.android
  19. README.md
  20. TEST_MAPPING
README.md

rust-openssl

crates.io

OpenSSL bindings for the Rust programming language.

Documentation.

Release Support

The current supported release of openssl is 0.10 and openssl-sys is 0.9.

New major versions will be published at most once per year. After a new release, the previous major version will be partially supported with bug fixes for 3 months, after which support will be dropped entirely.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed under the terms of both the Apache License, Version 2.0 and the MIT license without any additional terms or conditions.