You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by bc...@apache.org on 2015/09/10 23:59:06 UTC
trafficserver git commit: TS-3902: Wrong conditional for checking on
continuation frame and to send the go_away frame Moved the continuation id
check outside of the mutex
Repository: trafficserver
Updated Branches:
refs/heads/master 4bfe74677 -> 6a9c92775
TS-3902: Wrong conditional for checking on continuation frame and to send the go_away frame
Moved the continuation id check outside of the mutex
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/6a9c9277
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/6a9c9277
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/6a9c9277
Branch: refs/heads/master
Commit: 6a9c92775a3a84ef4ebd7807484f9f21b075477a
Parents: 4bfe746
Author: Bryan Call <bc...@apache.org>
Authored: Thu Sep 10 14:54:28 2015 -0700
Committer: Bryan Call <bc...@apache.org>
Committed: Thu Sep 10 14:54:28 2015 -0700
----------------------------------------------------------------------
proxy/http2/Http2ClientSession.cc | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/6a9c9277/proxy/http2/Http2ClientSession.cc
----------------------------------------------------------------------
diff --git a/proxy/http2/Http2ClientSession.cc b/proxy/http2/Http2ClientSession.cc
index 843c6c9..5d9abf6 100644
--- a/proxy/http2/Http2ClientSession.cc
+++ b/proxy/http2/Http2ClientSession.cc
@@ -362,9 +362,10 @@ 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 && 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() && continued_stream_id != this->current_hdr.streamid) {
+ if (!this->connection_state.is_state_closed()) {
this->connection_state.send_goaway_frame(this->current_hdr.streamid, HTTP2_ERROR_PROTOCOL_ERROR);
}
return 0;