This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch rfc9218
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 0ae556edfa9f59ff96922b5a02dbecf58710d307
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Tue Dec 6 18:14:00 2022 +0000

    Ensure RFC 7540 priorities are not re-enabled
---
 java/org/apache/coyote/http2/Http2UpgradeHandler.java | 5 +++++
 java/org/apache/coyote/http2/LocalStrings.properties  | 1 +
 2 files changed, 6 insertions(+)

diff --git a/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
index 8d402c64b9..c89fe44c1f 100644
--- a/java/org/apache/coyote/http2/Http2UpgradeHandler.java
+++ b/java/org/apache/coyote/http2/Http2UpgradeHandler.java
@@ -1835,6 +1835,11 @@ class Http2UpgradeHandler extends AbstractStream 
implements InternalHttpUpgradeH
                             h2e.getError(), stream.getIdAsInt()));
                }
             }
+        } else if (setting == Setting.NO_RFC7540_PRIORITIES) {
+            // This should not be changed after the initial setting
+            if (value != ConnectionSettingsBase.DEFAULT_NO_RFC7540_PRIORITIES) 
{
+                throw new 
ConnectionException(sm.getString("upgradeHandler.enableRfc7450Priorities", 
connectionId), Http2Error.PROTOCOL_ERROR);
+            }
         } else {
             remoteSettings.set(setting, value);
         }
diff --git a/java/org/apache/coyote/http2/LocalStrings.properties 
b/java/org/apache/coyote/http2/LocalStrings.properties
index 7587a86f33..7f7bf3a8c6 100644
--- a/java/org/apache/coyote/http2/LocalStrings.properties
+++ b/java/org/apache/coyote/http2/LocalStrings.properties
@@ -148,6 +148,7 @@ upgradeHandler.pruned=Connection [{0}] Pruned completed 
stream [{1}]
 upgradeHandler.prunedPriority=Connection [{0}] Pruned unused stream [{1}] that 
may have been part of the priority tree
 upgradeHandler.releaseBacklog=Connection [{0}], Stream [{1}] released from 
backlog
 upgradeHandler.reset.receive=Connection [{0}], Stream [{1}], Reset received 
due to [{2}]
+upgradeHandler.enableRfc7450Priorities=Connection [{0}], RFC 7450 priorities 
may not be enabled after being disabled in the initial connection settings 
frame (see RFC 9218)
 upgradeHandler.rst.debug=Connection [{0}], Stream [{1}], Error [{2}], Message 
[{3}],  RST (closing stream)
 upgradeHandler.sendPrefaceFail=Connection [{0}], Failed to send preface to 
client
 upgradeHandler.sendfile.reservation=Connection [{0}], Stream [{1}], Connection 
reservation [{2}], Stream reservation [{3}] prior to sendfile write


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to