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

x/net/http2: 100-continue handling is case sensitive #57824

Closed
shawkins opened this issue Jan 16, 2023 · 3 comments
Closed

x/net/http2: 100-continue handling is case sensitive #57824

shawkins opened this issue Jan 16, 2023 · 3 comments
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@shawkins
Copy link

What version of Go are you using (go version)?

This does not appear to be version dependent. At least the go version that is the basis for several kubernetes / openshift releases are affected.

Does this issue reproduce with the latest release?

Yes, it appears to still be an issue: https://github.com/golang/net/blob/7805fdc37dc2b54b28b9d621030e14dcf1dab67c/http2/server.go#L2195

What operating system and processor architecture are you using (go env)?

N/A

What did you do?

According to https://datatracker.ietf.org/doc/html/rfc7231#section-5.1.1 and the similar issue envoyproxy/envoy#20602 100-continue should not be a case sensitive value.

We have observed that different http clients, send different values for this. In particular the JDK 11 httpclient sends 100-Continue: https://github.com/openjdk/jdk/blob/master/src/java.net.http/share/classes/jdk/internal/net/http/Exchange.java#L536

Thus when using the JDK client to interact with a go server based, this feature does not work as expected.

What did you expect to see?

Case insensitive handling of 100-continue.

What did you see instead?

The JDK client appears to hang as it gets a response it does not understand.

@seankhliao
Copy link
Member

is this an issue for http1 and http2 or just http2?

@seankhliao
Copy link
Member

cc @neild

@seankhliao seankhliao added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Jan 16, 2023
@bcmills bcmills added this to the Backlog milestone Jan 17, 2023
@gopherbot
Copy link
Contributor

Change https://go.dev/cl/463096 mentions this issue: http2: case insensitive handling for 100-continue

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
None yet
Development

No branches or pull requests

4 participants