test(integration): add BoringSSL cohort to expand mTLS coverage#5659
Merged
kaukabrizvi merged 26 commits intoaws:mainfrom Dec 31, 2025
Merged
test(integration): add BoringSSL cohort to expand mTLS coverage#5659kaukabrizvi merged 26 commits intoaws:mainfrom
kaukabrizvi merged 26 commits intoaws:mainfrom
Conversation
maddeleine
approved these changes
Dec 15, 2025
jmayclin
reviewed
Dec 18, 2025
| # NOTE: BoringSSL is disabled on macOS to avoid symbol collisions with | ||
| # OpenSSL; see https://github.com/aws/s2n-tls/pull/5659 for details. | ||
| [target.'cfg(not(target_os = "macos"))'.dependencies.boring] | ||
| git = "https://github.com/kaukabrizvi/boring.git" |
Contributor
There was a problem hiding this comment.
I'm fine with this, but can we just open an issue to find a way to "time bomb" ourselves? I'd like our CI to fail if your fork goes more than e.g. 6 months without a commit. "trust but verify" 😉
Contributor
Author
There was a problem hiding this comment.
I’ve installed https://wei.github.io/pull/ on the fork, which should help keep it in check. That said, an additional guardrail would be useful - I’ll open a follow-up issue after this lands to add a CI “time-bomb” so the fork doesn’t silently go stale.
4cf7c36 to
5f5cf65
Compare
jmayclin
approved these changes
Dec 31, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Goal
This PR does two things:
Why
The mTLS tests were introduced to ensure that s2n can interop with peers for basic, synchronous callback, and asynchronous callback cases. This PR continues that work by expanding coverage. Currently, the tests only assert on interoperability with rustls, this PR adds cases for BoringSSL. This also sets the foundation to add more integration test coverage with BoringSSL as a peer in the future.
How
Adds a dependency on my fork of BoringSSL (see callouts section) for the integration and tls-harness crates. Adds a module for the boringssl harness which matches most of the flow in the OpenSSL harness. Integrates BoringSSL into the mTLS test, following the same flow of existing tests, adding cases for BoringSSL as the peer.
Callouts
Once we have a reliable macOS path (potentially via Add symbol prefixing feature for BoringSSL cloudflare/boring#401), we can remove this target-specific gate.
Testing
Related
mTLS coverage is the primary goal of this PR, though future work could include expanding other tests now that BoringSSL is supported in the harness.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.