Repository: trafficserver Updated Branches: refs/heads/master 00b697d89 -> ce415f5de
TS-3902: Wrong conditional for checking on continuation frame and to send the go_away frame This closes #292 Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/ce415f5d Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/ce415f5d Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/ce415f5d Branch: refs/heads/master Commit: ce415f5de67d0d2029eca980f86519eba8dd8a4e Parents: 00b697d Author: Masaori Koshiba <[email protected]> Authored: Mon Sep 14 08:31:41 2015 -0700 Committer: Bryan Call <[email protected]> Committed: Mon Sep 14 08:31:41 2015 -0700 ---------------------------------------------------------------------- proxy/http2/Http2ClientSession.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce415f5d/proxy/http2/Http2ClientSession.cc ---------------------------------------------------------------------- diff --git a/proxy/http2/Http2ClientSession.cc b/proxy/http2/Http2ClientSession.cc index 2d36768..41d48da 100644 --- a/proxy/http2/Http2ClientSession.cc +++ b/proxy/http2/Http2ClientSession.cc @@ -365,8 +365,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);
