sainadh777 opened a new pull request, #1174: URL: https://github.com/apache/tomcat/pull/1174
## Summary - keep HTTP/2 HPACK state synchronized by continuing to decode header blocks for streams ignored after `GOAWAY` - count ignored DATA payloads against the connection flow-control window without creating a new stream - replace the checked-in Section 6.8 TODO with regression coverage for both behaviors ## Rationale and impact RFC 9113 section 6.8 requires an endpoint that ignores newer streams after sending `GOAWAY` to perform enough processing to maintain HPACK and connection flow-control state. Tomcat already decoded ignored header blocks, but DATA on those streams was rejected as a connection error. This narrowly changes that path to swallow the payload while preserving connection-level accounting; normal stream processing is unchanged. ## Validation - Regression proof before the handler change: `ant -Dtest.entry=org.apache.coyote.http2.TestHttp2Section_6_8 test` failed both sync and async variants with `PROTOCOL_ERROR` for stream 5. - `ant -Dexecute.validate=true validate` — passed (Checkstyle 14.4.0). - `ant clean` — passed. - `ant -Dexecute.validate=true` — passed (clean source build). - `ant -Dtest.entry=org.apache.coyote.http2.TestHttp2Section_6_8 test` — passed, 6 tests, 0 failures, 0 errors, 0 skipped. - `ant -Dtest.openssl.path=/opt/homebrew/opt/openssl@3/bin/openssl test` — passed, 43,125 tests, 0 failures, 0 errors, 496 platform/native-capability skips; `BUILD SUCCESSFUL` in 24m49s. - Generated-distribution smoke test — started `output/build` with an isolated `CATALINA_BASE`, received HTTP 200 from `http://127.0.0.1:18080/`, stopped cleanly, and found no severe/error/exception markers in `catalina.out`. The first full-suite attempt selected macOS `/usr/bin/openssl` (LibreSSL 3.3.6) and failed only the two OpenSSL cipher parser suites because LibreSSL does not support `-ciphersuites`. Those suites passed individually and the complete unfiltered suite passed after setting Tomcat's `test.openssl.path` property to Homebrew OpenSSL 3.6.3 as recorded above. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
