Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

actix-web: Add rustls 0.23 #3363

Merged
merged 20 commits into from
May 18, 2024
Merged

Conversation

asonix
Copy link
Contributor

@asonix asonix commented May 12, 2024

PR Type

Feature

PR Checklist

  • Tests for the changes have been added / updated.
  • Documentation comments have been added / updated.
  • A changelog entry has been made for the appropriate packages.
  • Format code with the latest stable rustfmt.
  • (Team) Label with affected crates and semver status.

Overview

Followup to #3362

  • Add new bind and listen methods for rustls 0.23
  • Enable tls handshake timeout for rustls 0.22 and 0.23

asonix added 14 commits May 3, 2024 14:03
When the feature for rustls 0.22 is enabled, and rustls 0.23 is also
present in a project, there suddently exist multiple paths for errors
when building middleware chains due to the use of two consecutive `?`
operators without specifying the intermediate error type.

This commit addresses the issue by removing the first `?`, so that the
first error type will always be known, and the second `?` always has a
well defined implementation.
This also fixes certificate lookup when native-roots is enabled for rustls 0.22.
@robjtede robjtede added B-semver-minor A-web project: actix-web labels May 18, 2024
@robjtede robjtede enabled auto-merge May 18, 2024 18:41
@asonix
Copy link
Contributor Author

asonix commented May 18, 2024

doc tests are failing due to the no_run on vec![b"http/1.1".to_vec(), "h2".to_vec()] example, which should either get a ; at the end or should be marked ignore

@robjtede
Copy link
Member

robjtede commented May 18, 2024

Ahh yea... I really don't want to ignore rust blocks if possible; they show up with big warnings on docs.rs.

@robjtede robjtede added this pull request to the merge queue May 18, 2024
Merged via the queue into actix:master with commit 2e63ff5 May 18, 2024
13 checks passed
@robjtede robjtede added the A-awc project: awc label May 18, 2024
@robjtede robjtede mentioned this pull request May 18, 2024
5 tasks
jonatansalemes pushed a commit to jonatansalemes/actix-web that referenced this pull request May 19, 2024
* Fix type confusion in some scenarios

When the feature for rustls 0.22 is enabled, and rustls 0.23 is also
present in a project, there suddently exist multiple paths for errors
when building middleware chains due to the use of two consecutive `?`
operators without specifying the intermediate error type.

This commit addresses the issue by removing the first `?`, so that the
first error type will always be known, and the second `?` always has a
well defined implementation.

* Add CHANGES entry about type confusion

* actix-http: add rustls 0.23 support

* actix-http: update ws example, tests for rustls 0.23

* actix-http: add rustls 0.23 to changelog

* Update comments to mention 0.23 instead of 0.22

* awc: add rustls 0.23 support

This also fixes certificate lookup when native-roots is enabled for rustls 0.22.

* awc: update changelog for rustls 0.23

* awc: Add base rustls-0_23 feature without roots to better enable custom config

* actix-test: add rustls-0.23

* actix-test: add rustls 0.23 to changelog

* awc: update changelog with rustls 0.23 tweaks

* actix-web: add rustls 0.23

* Add rustls-0_23 to CI

* Update tls_rustls.rs

* review nits

* review nits part 2

* fix doc test

---------

Co-authored-by: Rob Ede <robjtede@icloud.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-awc project: awc A-web project: actix-web B-semver-minor
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants