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: [email protected]
For additional commands, e-mail: [email protected]