Author: markt
Date: Thu Jun  4 20:31:19 2015
New Revision: 1683630

URL: http://svn.apache.org/r1683630
Log:
Push promise frames should never be received by the server

Modified:
    tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java
    tomcat/trunk/java/org/apache/coyote/http2/LocalStrings.properties

Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java?rev=1683630&r1=1683629&r2=1683630&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java Thu Jun  4 
20:31:19 2015
@@ -100,7 +100,7 @@ class Http2Parser {
             readSettingsFrame(flags, payloadSize);
             break;
         case PUSH_PROMISE:
-            readPushPromiseFrame(streamId, flags, payloadSize);
+            readPushPromiseFrame(streamId);
             break;
         case PING:
             readPingFrame(flags);
@@ -251,9 +251,9 @@ class Http2Parser {
     }
 
 
-    private void readPushPromiseFrame(int streamId, int flags, int 
payloadSize) throws IOException {
-        // TODO: Should never be received by a server
-        swallow(payloadSize);
+    private void readPushPromiseFrame(int streamId) throws IOException {
+        throw new 
Http2Exception(sm.getString("http2Parser.processFramePushPromise",
+                connectionId, Integer.valueOf(streamId)), 0, 
ErrorCode.PROTOCOL_ERROR);
     }
 
 

Modified: tomcat/trunk/java/org/apache/coyote/http2/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/LocalStrings.properties?rev=1683630&r1=1683629&r2=1683630&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http2/LocalStrings.properties (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/LocalStrings.properties Thu Jun  
4 20:31:19 2015
@@ -47,6 +47,7 @@ http2Parser.processFrameHeaders.decoding
 http2Parser.processFrameHeaders.decodingDataLeft=Data left over after HPACK 
decoding - it should have been consumed
 http2Parser.processFramePing.invalidPayloadSize=Settings frame received with 
an invalid payload size of [{0}] (should be 8)
 http2Parser.processFramePriority.invalidPayloadSize=Priority frame received 
with an invalid payload size of [{0}] (should be 5)
+http2Parser.processFramePushPromise=Connection [{0}], Stream [{1}], Push 
promise frames should not be sent by the client
 http2Parser.processFrameSettings.ackWithNonZeroPayload=Settings frame received 
with the ACK flag set and payload present
 http2Parser.processFrameSettings.invalidPayloadSize=Settings frame received 
with a payload size of [{0}] which is not a multiple of 6
 http2Parser.processFrameWindowUpdate.debug=Connection [{0}], Stream [{1}], 
Window size increment [{2}]



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

Reply via email to