-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Alt-Svc header parser doesn't accept empty ALPN #83775
Comments
Tagging subscribers to this area: @dotnet/ncl Issue DetailsThis is a root cause for failing outerloop test: The server sends this Alt-Svc header:
Note the first item missing ALPN. Our header parsing then discards the whole header. RFC says that empty ALPN is not allowed as it specifies it as Firefox has no issues with this and is able to process the next request via h3. Question is whether we should allow this? We could just ignore the unparsable value or allow empty ALPN.
|
I would be in favor of ignoring fragments where practical instead of ignoring whole header. I agree that the example seems to violate RFC but it may be good for improving interior. Upgrading to H/3 should be optional so I don't see it is critical. |
Looking at the current Alt-Svc logic, there are other weird things going on:
|
Triage: our behavior follows RFC, the impact is minimal as we only do not upgrade to h3 which is on its own voluntary, moving to future. |
I've extracted your notes to a separate issue. They might be tackled together, but that's not necessary. |
This is a root cause for failing outerloop test:
Public_Interop_Upgrade_Request3OrLower_Success
for https://www.litespeedtech.com/The server sends this Alt-Svc header:
Note the first item is missing ALPN. Our header parsing then discards the whole header. RFC says that empty ALPN is not allowed as it specifies it as
token
Firefox has no issues with this and is able to process the next request via h3.
Question is whether we should allow this? We could just ignore the unparsable value or allow empty ALPN.
The text was updated successfully, but these errors were encountered: