Skip to content

quic: fixing hostname consistency#20436

Merged
alyssawilk merged 6 commits intoenvoyproxy:mainfrom
alyssawilk:resolve_hostname_final
Mar 28, 2022
Merged

quic: fixing hostname consistency#20436
alyssawilk merged 6 commits intoenvoyproxy:mainfrom
alyssawilk:resolve_hostname_final

Conversation

@alyssawilk
Copy link
Copy Markdown
Contributor

@alyssawilk alyssawilk commented Mar 21, 2022

Fixing hostname issues for upstream HTTP/3.

Consistently using correct SNI (configured or auto) as server ID and alt-svc origin everywhere.
This also unfortunately required tweaking a LOT of integration tests, as it meant the hostname for SNI was pulled from host headers (as we auto-sni by default in integrationt tests) and HTTP/3 validates that hostname against the certs (test certs are for "foo.lyft.com" but default host for request headers was "host")

Risk Level: Low (uptream HTTP/3)
Testing: fixed a lot of integration tests.
Docs Changes: n/a
Release Notes: n/a

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@repokitteh-read-only
Copy link
Copy Markdown

As a reminder, PRs marked as draft will not be automatically assigned reviewers,
or be handled by maintainer-oncall triage.

Please mark your PR as ready when you want it to be reviewed!

🐱

Caused by: #20436 was opened by alyssawilk.

see: more, trace.

@alyssawilk
Copy link
Copy Markdown
Contributor Author

@RyanTheOptimist opened this as draft to check CI and I'm working on merge conflicts, but if you can take a look at the test changes and lmk if you want them split into their own Pr, that'd be great.

@alyssawilk
Copy link
Copy Markdown
Contributor Author

(not that they're super major, but I tend to not like mixing functional changes and large test changes, and the test changes are borderline large)

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Copy link
Copy Markdown
Contributor

@RyanTheOptimist RyanTheOptimist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I'd be inclined to split the test changes out into their own PR. As you say, they are quite big. But I could live with them here in this PR.


Quic::QuicStatNames& quic_stat_names_;
Stats::Scope& scope_;
// The origin for this pool.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It might be nice to mention how this host's hostname might differ from the origin's hostname, and the semantics involved.

alyssawilk added a commit that referenced this pull request Mar 21, 2022
Upcoming #20436 fixes QUIC to use auto_sni when it's configured.
The Envoy integration tests use auto_sni by default, but this causes problems for HTTP/3 which validates that the sni hostname (currently "host" for most test) matches the certificate (*.lyft.com for most tests).

Changing the tests independently of the fix PR per request.

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@alyssawilk alyssawilk marked this pull request as ready for review March 22, 2022 12:39
Copy link
Copy Markdown
Contributor

@RyanTheOptimist RyanTheOptimist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

@alyssawilk
Copy link
Copy Markdown
Contributor Author

@ggreenway ping?

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
ggreenway
ggreenway previously approved these changes Mar 28, 2022
Copy link
Copy Markdown
Member

@ggreenway ggreenway left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but CI is failing

/wait

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@alyssawilk alyssawilk enabled auto-merge (squash) March 28, 2022 15:55
@alyssawilk alyssawilk merged commit 70859b2 into envoyproxy:main Mar 28, 2022
ravenblackx pushed a commit to ravenblackx/envoy that referenced this pull request Jun 8, 2022
Upcoming envoyproxy#20436 fixes QUIC to use auto_sni when it's configured.
The Envoy integration tests use auto_sni by default, but this causes problems for HTTP/3 which validates that the sni hostname (currently "host" for most test) matches the certificate (*.lyft.com for most tests).

Changing the tests independently of the fix PR per request.

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
ravenblackx pushed a commit to ravenblackx/envoy that referenced this pull request Jun 8, 2022
Fixing hostname issues for upstream HTTP/3.

Consistently using correct SNI (configured or auto) as server ID and alt-svc origin everywhere.
This also unfortunately required tweaking a LOT of integration tests, as it meant the hostname for SNI was pulled from host headers (as we auto-sni by default in integrationt tests) and HTTP/3 validates that hostname against the certs (test certs are for "foo.lyft.com" but default host for request headers was "host")

Risk Level: Low (uptream HTTP/3)
Testing: fixed a lot of integration tests.
Docs Changes: n/a
Release Notes: n/a

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@alyssawilk alyssawilk deleted the resolve_hostname_final branch August 4, 2022 01:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants