RFR: 8303965: java.net.http.HttpClient should reset the stream if response headers contain malformed header fields [v2]

Jaikiran Pai jpai at openjdk.org
Sat Mar 11 11:33:21 UTC 2023


On Fri, 10 Mar 2023 14:27:21 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:

>> According to RFC 7540:
>> 
>> Endpoints MUST treat a request or response that contains undefined or invalid pseudo-header fields as malformed (Section 8.1.2.6).
>> 
>> Section-8.1.2.6:
>> Malformed requests or responses that are detected MUST be treated as a stream error (Section 5.4.2) of type PROTOCOL_ERROR.
>> 
>> The current behavior is to close the connection with protocol error. This change makes it reset the stream instead.
>
> Daniel Fuchs has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:
> 
>  - add bug id to test
>  - Merge branch 'master' into MalformedResponse-8303965
>  - 8303965

src/java.net.http/share/classes/jdk/internal/net/http/Stream.java line 1603:

> 1601:                 }
> 1602:             } catch (UncheckedIOException uio) {
> 1603:                 // reset stream: From RFC 7540, section-8.1.2.6

Hello Daniel, should we instead refer to RFC-9113 (section 8.1.1) which obsoletes RFC-7540? In the context of this PR, the newer RFC continues to have the same expectations as that in RFC-7540.

-------------

PR: https://git.openjdk.org/jdk/pull/12976


More information about the net-dev mailing list