This is an automated email from the ASF dual-hosted git repository.
rmaucher pushed a commit to branch 11.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/11.0.x by this push:
new 322a493cd7 Fix HALF_CLOSED_REMOTE unexpected frames handling
322a493cd7 is described below
commit 322a493cd7e452e7d8f3882fa4180f50502854de
Author: remm <[email protected]>
AuthorDate: Mon Aug 31 13:32:49 2026 +0200
Fix HALF_CLOSED_REMOTE unexpected frames handling
RFC 9113 5.1
half-closed (remote):
A stream that is "half-closed (remote)" is no longer being used by the
peer to send frames. In this state, an endpoint is no longer obligated
to maintain a receiver flow-control window.
If an endpoint receives additional frames, other than WINDOW_UPDATE,
PRIORITY, or RST_STREAM, for a stream that is in this state, it MUST
respond with a stream error (Section 5.4.2) of type STREAM_CLOSED.
---
java/org/apache/coyote/http2/StreamStateMachine.java | 2 +-
webapps/docs/changelog.xml | 4 ++++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/java/org/apache/coyote/http2/StreamStateMachine.java
b/java/org/apache/coyote/http2/StreamStateMachine.java
index be02a4de5a..b8c4e2fe63 100644
--- a/java/org/apache/coyote/http2/StreamStateMachine.java
+++ b/java/org/apache/coyote/http2/StreamStateMachine.java
@@ -183,7 +183,7 @@ class StreamStateMachine {
FrameType.RST,
FrameType.PUSH_PROMISE,
FrameType.WINDOW_UPDATE),
- HALF_CLOSED_REMOTE (false, true, true, true,
+ HALF_CLOSED_REMOTE (false, true, true, false,
Http2Error.STREAM_CLOSED, FrameType.PRIORITY,
FrameType.RST,
FrameType.WINDOW_UPDATE),
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index b12fac47f6..695a6c4936 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -186,6 +186,10 @@
<fix>
Align xreflection better with IntrospectionUtils. (remm)
</fix>
+ <fix>
+ In HTTP/2 after half closed (remote), any unexpected frame should be
+ a stream error. (remm)
+ </fix>
</changelog>
</subsection>
<subsection name="Cluster">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]