On Fri, 10 Mar 2023 14:27:21 GMT, Daniel Fuchs <dfu...@openjdk.org> wrote:
>> According to RFC 9113: >> >> A malformed request or response is one that is an otherwise valid sequence >> of HTTP/2 frames but is invalid due to the presence of extraneous frames, >> prohibited fields or pseudo-header fields, the absence of mandatory >> pseudo-header fields, the inclusion of uppercase field names, or invalid >> field names and/or values (in certain circumstances; see [Section >> 8.2](https://www.rfc-editor.org/rfc/rfc9113#HttpHeaders)). >> [...] >> Malformed requests or responses that are detected MUST be treated as a >> [stream error](https://www.rfc-editor.org/rfc/rfc9113#StreamErrorHandler) >> ([Section 5.4.2](https://www.rfc-editor.org/rfc/rfc9113#StreamErrorHandler)) >> of type >> [PROTOCOL_ERROR](https://www.rfc-editor.org/rfc/rfc9113#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 1607: > 1605: // treated as a stream error (Section 5.4.2) of type > 1606: // PROTOCOL_ERROR. > 1607: onProtocolError(uio.getCause()); Suggestion: // reset stream: From RFC 9113, section 8.1 // Malformed requests or responses that are detected MUST be // treated as a stream error (Section 5.4.2) of type // PROTOCOL_ERROR. onProtocolError(uio.getCause()); src/java.net.http/share/classes/jdk/internal/net/http/common/ValidatingHeadersConsumer.java line 32: > 30: > 31: /* > 32: * Checks RFC 7540 rules (relaxed) compliance regarding pseudo-headers. Suggestion: * Checks RFC 9113 rules (relaxed) compliance regarding pseudo-headers. ------------- PR: https://git.openjdk.org/jdk/pull/12976