Skip to content

Conversation

@bjin
Copy link
Contributor

@bjin bjin commented May 9, 2023

I'm adding HTTP/3 support to hprox, and find that CONNECT proxy is not (yet) supported. After some investigation and tracing, I find two blocking issues. This pull request contains fixes to make CONNECT proxy working with HTTP/3.

The client I'm using to test is the builtin QUIC Proxy implementation in Chrome 112 (it supports h3 protocol).

There is still a minor issue that conduit pipes in my implementation is not closed even both client and server closed streams (the same is not happening with HTTP/2), I will try to figure it out why, and possibly open another pull request.

EDIT: opened PR kazu-yamamoto/quic#54

bjin added 2 commits May 9, 2023 14:01
Only the first frame in control streams are required to be SETTINGS
frame, so 'loop0' should be called only at the beginning.
Without this fix, clients won't be able to open second stream in the
same connection, since any non-SETTINGS frame in control stream will
abort the whole connection (PRIORITY_UPDATE frame in my case).
@bjin bjin changed the title Fix HTTP/3 CONNECT proxy Fixes for HTTP/3 CONNECT proxy May 9, 2023
@kazu-yamamoto kazu-yamamoto self-requested a review May 10, 2023 03:23
Copy link
Owner

@kazu-yamamoto kazu-yamamoto left a comment

Choose a reason for hiding this comment

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

Nice catch!

@kazu-yamamoto kazu-yamamoto merged commit 1c92eae into kazu-yamamoto:master May 10, 2023
@kazu-yamamoto
Copy link
Owner

Merged.
Thank you for your contributions!
I have released a new version.

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.

2 participants