Commit Graph

3346 Commits

Author SHA1 Message Date
Kevin Guthrie bc42edc552 Introduce and use read_uninit and write_uninit duplicated from openssl-0.10.61 and tokio-openssl-0.6.4 2024-02-21 09:07:39 +01:00
Anthony Ramine db01409165 Release 4.5.0 2024-02-08 11:00:16 +01:00
Anthony Ramine 8ab1873d8b Introduce SslRef::set_private_key 2024-02-08 10:10:50 +01:00
Rushil Mehra 7ead83cf40 Release 4.4.1 2024-02-02 10:44:53 -08:00
Rushil Mehra d3a42b0aeb Fix building with BORING_BSSL_PATH / BORING_BSSL_FIPS_PATH
When passing BORING_BSSL_FIPS_PATH, you need to add /lib/ to the search
path, and when passing BORING_BSSL_PATH you need to add /crypto/ and
/ssl/ to the search path.
2024-02-02 10:23:41 -08:00
Rushil Mehra 5aed467dcb Fix building with non bazel commits of boringssl
We need to add `/build/crypto` and `/build/ssl` to the library search
path to handle the case where we pass `BORING_BSSL_SOURCE_PATH` when
building without enabling any fips features. Otherwise, non bazel
commits will not work because `/build/` itself will not contain any
crypto libraries to link with
2024-02-02 14:56:55 +00:00
Anthony Ramine 3cf8bc445a Release 4.4.0 2024-01-17 17:58:57 +01:00
Jonathan Hoyland e370083af5 Expose `set_compliance_policy` and `get_ciphers` 2024-01-17 17:57:47 +01:00
Evan Rittenhouse 0f5731b1d8 Expose SSL_get_error 2024-01-09 16:42:58 +01:00
Anthony Ramine 20f9991c18 Fix support for fips-link-precompiled
This feature expects a recent boringssl checkout (such as the one
found in boring-sys/deps/boringssl), so it should not be using
the same bindings as the fips feature, which are based on
boring-sys/deps/boringssl-fips, which is older and with a different
API.
2024-01-08 14:37:55 +01:00
Anthony Ramine f9dfd2c47e Release 4.3.0 2024-01-03 19:39:59 +01:00
Anthony Ramine dfd49f4fef Introduce X509Flags
For now it has a single associated constant, X509Flags::TRUSTED_FIRST.
2024-01-03 19:37:59 +01:00
Anthony Ramine 94457340ac Move x509 tests to a subdirectory 2024-01-03 19:37:59 +01:00
Anthony Ramine 1321ded678 Rearrange imports in x509 module 2024-01-03 19:37:59 +01:00
Anthony Ramine 3637bfed2f Introduce HttpsLayer::set_ssl_callback
This lets us customize the Ssl of each connection,
like set_callback which lets us customize the ConnectConfiguration
a step earlier.
2024-01-03 15:43:52 +01:00
Anthony Ramine 9b0e422c8d Don't use self-signed certs in hyper-boring tests 2024-01-03 15:43:52 +01:00
Anthony Ramine a8dea4a22c Introduce X509CheckFlags::UNDERSCORE_WILDCARDS 2024-01-02 15:37:36 +01:00
Anthony Ramine 3df405443a Release 4.2.0 2023-12-14 16:35:54 +01:00
Anthony Ramine 72f4bf5724 Introduce set_custom_verify_callback and set_async_custom_verify_callback 2023-12-14 16:31:09 +01:00
Anthony Ramine b97446a3c9 Restore rpk feature in tokio-boring
It serves no purpose as there is no additional API in tokio-boring when
this feature is enabled, but there is a test gated by it and it can't
be conditionnally enabled only when boring's feature is enabled.
2023-12-14 16:30:49 +01:00
Anthony Ramine 6f5f59d7a9 Remove rpk from hyper docsrs features
The feature doesn't exist anymore.
2023-12-14 16:30:49 +01:00
Anthony Ramine 446b65550a Introduce tokio_boring::SslStreamBuilder 2023-12-14 16:05:09 +01:00
Chris Eager dd281f6ab6 Swap build and run order; always build 2023-12-14 13:25:47 +01:00
Chris Eager 59ef71327f Remove unused target_env from boring-sys build config 2023-12-14 13:25:47 +01:00
Jordan Rose 44f8f72a16 boring-sys: Blocklist max_align_t in bindgen
https://github.com/rust-lang/rust-bindgen/issues/1823
2023-12-14 13:25:47 +01:00
Jordan Rose 5dc531a38c boring-sys: Don't check for MSVC with target_env
x86_64-pc-windows-gnu is identified as `target_env = "msvc"` too,
but doesn't use the Visual Studio CMake generator.
2023-12-14 13:25:47 +01:00
Jordan Rose 4d66ada007 Use gcc/g++ as the compilers for windows-gnu, not Clang 2023-12-14 13:25:47 +01:00
Jordan Rose 016d5cb61e Always run tests in bash
This is only necessary for the windows-gnu target, but causes no
issues anywhere else.
2023-12-14 13:25:47 +01:00
Jordan Rose 8b86852d8a Add arm64-macos cross-compile to CI 2023-12-14 13:25:47 +01:00
Jordan Rose f82f3fcb0f Add custom linker for Android cross-compilation 2023-12-14 13:25:47 +01:00
Jordan Rose 16327cf5c5 Add custom environment for ARM Linux cross-compilation 2023-12-14 13:25:47 +01:00
Chris Eager 2f62df492b Build tests even for cross-compiling 2023-12-14 13:25:47 +01:00
Jordan Rose 1028909b40 Remove musl test; there's no standard musl C++ setup for us to use 2023-12-14 13:25:47 +01:00
Chris Eager 08c417a97e Make arm and Android builds check-only 2023-12-14 13:25:47 +01:00
Chris Eager f5583312c5 Add matrix.apt_packages 2023-12-14 13:25:47 +01:00
Chris Eager bccb80b115 Refactor check-only and extra-test-args 2023-12-14 13:25:47 +01:00
Chris Eager bbe8cd1b9e Add relevant `--target` to `cargo test` in CI 2023-12-14 13:25:47 +01:00
vuittont60 4d1b7fc816 Fix typos 2023-12-14 02:28:11 +01:00
Jordan Rose af0c36a22f boring-sys: Don't use CMake cross-compilation for macOS->iOS
(or macOS->macOS)
2023-11-30 15:03:23 +01:00
Anthony Ramine 9cf03ae4c1 Move async callbacks infra to boring itself
This helps drive async callbacks from outside tokio-boring, such as in quiche.

Not a breaking change because every public item in tokio-boring is preserved as is.
2023-11-27 11:53:35 +01:00
Anthony Ramine c38ed71511 Use replace_ex_data more
Setting callbacks multiple times on a SslContextBuilder causes the previous callback
installed to leak, using replace_ex_data internally prevents that.

We also start using it in tokio-boring in with_ex_data_future, my understanding
is that the futures currently in use are never installed twice by that function
but that could change in the future with the addition of more async callbacks.
2023-11-23 11:07:17 +01:00
Anthony Ramine 2ab71411c1 Release 4.1.0 2023-11-16 19:50:55 +01:00
Anthony Ramine a32783374f Properly drop overwritten ex data
We introduce new methods replace_ex_data for both SslContextBuilder
and Ssl in case anyone is relying on the leaking behaviour of their
set_ex_data methods, but we do document that they leak now.
2023-11-16 19:47:16 +01:00
Anthony Ramine d7a13a8468 Fix clippy lint 2023-11-16 19:47:16 +01:00
Chris Branch cdb76dcba2 Release 4.0.0 2023-11-10 11:51:13 +00:00
Anthony Ramine d4518f5af7 Release 4.0.0-rc.2 2023-11-06 13:31:47 +00:00
Anthony Ramine 8c90adbcdc Update release notes 2023-11-06 13:31:47 +00:00
Anthony Ramine b5c76432b8 Add cargo-release metadata 2023-11-06 13:31:47 +00:00
Anthony Ramine 7c5fdfa0a8 Remove Sync trait bounds on callback futures
They are unnecessary as we ever only retrieve the futures from ex data
to poll them, thus when we have mutable access to them, so Send is all we need.
2023-11-03 13:31:11 +00:00
Anthony Ramine 7a7de40833 Update Cargo.toml 2023-10-30 13:21:44 +01:00