Switch to workspace, move ech-fetch to separate crate, add ECH CI coverage #509
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This branch switches the project to be a cargo workspace, moving the existing crate from the root of git repo into a crate named
librustls
. At the same time, switch all the non-rustls deps to be workspace deps, and use thepki_types
export fromrustls
instead of importing it directly.Next, we move
librustls/tests/ech_fetch.rs
to a newtools
crate in the workspace where we can implement it as a proper binary instead of a weird integration test that disables the test runner. Thetools
crate will be used for other items in the near future (e.g. an API doc generator utility for #215).Finally, use the
ech_fetch.rs
utility in CI to test theclient.c
example can successfully negotiate ECH against a test server from linux, macOS and windows (for the aws-lc-rs builds since ring lacks support for HPKE). This resolves #498.One other fix comes along for the ride: I accidentally broke the "keep the rustls.h header file up-to-date" CI check in the transition to CMake. That's fixed and I had to regen the header to pick up some changes that weren't sync'd from #231.