Skip to content

Commit

Permalink
Add s2n-tls client TLS provider (#3965)
Browse files Browse the repository at this point in the history
## Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here -->

Adds s2n-tls as an optional TLS provider to the hyper1 branch.

Related issue: #2446

## Description
<!--- Describe your changes in detail -->

Currently, smithy-rs clients use rustls as the TLS provider. This PR
adds s2n-tls as an optional provider, allowing users to configure
smithy-rs to secure their HTTP requests with s2n-tls.

## Testing
<!--- Please describe in detail how you tested your changes -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->

I added a new client smoke test for s2n-tls. I also added a test that
makes sure s2n-tls is actually set as the provider when configured. I
was looking for more tests that invoke rustls that I could add an
equivalent s2n-tls test for, but was having trouble discovering them. If
there are tests that make sense to have please let me know and I will
add them!

Some of the CI jobs are still failing. However, they appear to be
unrelated to this change. These jobs also failed in the last hyper1
commit:
- Verify TLS configuration [failed similarly in the last
commit](https://github.com/smithy-lang/smithy-rs/actions/runs/12915992501/job/36020683438)
- Check for semver hazards [failed similarly in the last
commit](https://github.com/smithy-lang/smithy-rs/actions/runs/12915992496/job/36025552287)
- Check PR semver compliance [failed similarly in the last
commit](https://github.com/smithy-lang/smithy-rs/actions/runs/12915992521/job/36020685637)

Also, [the canary will need to be run
manually](https://github.com/smithy-lang/smithy-rs/actions/runs/12916010137/job/36020739770?pr=3965)
if necessary for this change.

## Checklist
<!--- If a checkbox below is not applicable, then please DELETE it
rather than leaving it unchecked -->
- [ ] For changes to the smithy-rs codegen or runtime crates, I have
created a changelog entry Markdown file in the `.changelog` directory,
specifying "client," "server," or both in the `applies_to` key.
- [ ] For changes to the AWS SDK, generated SDK code, or SDK runtime
crates, I have created a changelog entry Markdown file in the
`.changelog` directory, specifying "aws-sdk-rust" in the `applies_to`
key.

----

_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._
  • Loading branch information
goatgoose authored Jan 23, 2025
1 parent 8196903 commit 1761488
Show file tree
Hide file tree
Showing 12 changed files with 867 additions and 547 deletions.
14 changes: 7 additions & 7 deletions aws/rust-runtime/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions aws/rust-runtime/aws-config/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 1761488

Please sign in to comment.