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