Repository: trafficserver
Updated Branches:
  refs/heads/6.0.x 59b1e44c9 -> 27f8e2cda


TS-3902: Wrong conditional for checking on continuation frame and to send the 
go_away frame

This closes #292

(cherry picked from commit ce415f5de67d0d2029eca980f86519eba8dd8a4e)


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/27f8e2cd
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/27f8e2cd
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/27f8e2cd

Branch: refs/heads/6.0.x
Commit: 27f8e2cda9133864e6ffae0224c799fde5f10290
Parents: 59b1e44
Author: Masaori Koshiba <[email protected]>
Authored: Mon Sep 14 08:31:41 2015 -0700
Committer: Bryan Call <[email protected]>
Committed: Mon Sep 14 15:14:16 2015 -0700

----------------------------------------------------------------------
 proxy/http2/Http2ClientSession.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/27f8e2cd/proxy/http2/Http2ClientSession.cc
----------------------------------------------------------------------
diff --git a/proxy/http2/Http2ClientSession.cc 
b/proxy/http2/Http2ClientSession.cc
index 21f0466..2de3f2e 100644
--- a/proxy/http2/Http2ClientSession.cc
+++ b/proxy/http2/Http2ClientSession.cc
@@ -364,8 +364,8 @@ Http2ClientSession::state_start_frame_read(int event, void 
*edata)
     // CONTINUATIONs MUST follow behind HEADERS which doesn't have END_HEADERS
     Http2StreamId continued_stream_id = 
this->connection_state.get_continued_stream_id();
 
-    if (continued_stream_id != 0 && continued_stream_id != 
this->current_hdr.streamid &&
-        this->current_hdr.type != HTTP2_FRAME_TYPE_CONTINUATION) {
+    if (continued_stream_id != 0 &&
+        (continued_stream_id != this->current_hdr.streamid || 
this->current_hdr.type != HTTP2_FRAME_TYPE_CONTINUATION)) {
       SCOPED_MUTEX_LOCK(lock, this->connection_state.mutex, this_ethread());
       if (!this->connection_state.is_state_closed()) {
         this->connection_state.send_goaway_frame(this->current_hdr.streamid, 
HTTP2_ERROR_PROTOCOL_ERROR);

Reply via email to