You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2017/05/11 14:53:59 UTC
[trafficserver] branch 7.1.x updated: Fix Last-Stream-ID of GOAWAY
frame
This is an automated email from the ASF dual-hosted git repository.
zwoop pushed a commit to branch 7.1.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/7.1.x by this push:
new fc22468 Fix Last-Stream-ID of GOAWAY frame
fc22468 is described below
commit fc22468a37b18e48534f2585792dfff66d1d9b0d
Author: Masaori Koshiba <ma...@apache.org>
AuthorDate: Fri Apr 28 16:09:51 2017 +0900
Fix Last-Stream-ID of GOAWAY frame
(cherry picked from commit 1fb534c3518ade7755bb282ba4971b2194df0428)
---
proxy/http2/Http2ClientSession.cc | 2 +-
proxy/http2/Http2ConnectionState.cc | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/proxy/http2/Http2ClientSession.cc b/proxy/http2/Http2ClientSession.cc
index fe5086e..42907c9 100644
--- a/proxy/http2/Http2ClientSession.cc
+++ b/proxy/http2/Http2ClientSession.cc
@@ -486,7 +486,7 @@ Http2ClientSession::state_process_frame_read(int event, VIO *vio, bool inside_fr
if (err > Http2ErrorCode::HTTP2_ERROR_NO_ERROR) {
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, err);
+ this->connection_state.send_goaway_frame(this->connection_state.get_latest_stream_id_in(), err);
}
}
return 0;
diff --git a/proxy/http2/Http2ConnectionState.cc b/proxy/http2/Http2ConnectionState.cc
index 3ec834b..9960386 100644
--- a/proxy/http2/Http2ConnectionState.cc
+++ b/proxy/http2/Http2ConnectionState.cc
@@ -903,7 +903,7 @@ Http2ConnectionState::main_event_handler(int event, void *edata)
Error("HTTP/2 connection error client_ip=%s session_id=%" PRId64 " %s", client_ip, ua_session->connection_id(),
error.msg);
}
- this->send_goaway_frame(stream_id, error.code);
+ this->send_goaway_frame(this->latest_streamid_in, error.code);
// The streams will be cleaned up by the HTTP2_SESSION_EVENT_FINI event
// The Http2ClientSession will shutdown because connection_state.is_state_closed() will be true
@@ -1356,7 +1356,7 @@ Http2ConnectionState::send_headers_frame(Http2Stream *stream)
// Change stream state
if (!stream->change_state(HTTP2_FRAME_TYPE_HEADERS, flags)) {
- this->send_goaway_frame(stream->get_id(), Http2ErrorCode::HTTP2_ERROR_PROTOCOL_ERROR);
+ this->send_goaway_frame(this->latest_streamid_in, Http2ErrorCode::HTTP2_ERROR_PROTOCOL_ERROR);
h2_hdr.destroy();
ats_free(buf);
return;
@@ -1514,7 +1514,7 @@ Http2ConnectionState::send_rst_stream_frame(Http2StreamId id, Http2ErrorCode ec)
Http2Stream *stream = find_stream(id);
if (stream != nullptr) {
if (!stream->change_state(HTTP2_FRAME_TYPE_RST_STREAM, 0)) {
- this->send_goaway_frame(stream->get_id(), Http2ErrorCode::HTTP2_ERROR_PROTOCOL_ERROR);
+ this->send_goaway_frame(this->latest_streamid_in, Http2ErrorCode::HTTP2_ERROR_PROTOCOL_ERROR);
return;
}
}
@@ -1547,7 +1547,7 @@ Http2ConnectionState::send_settings_frame(const Http2ConnectionSettings &new_set
// Write settings to send buffer
if (!http2_write_settings(param, iov)) {
- send_goaway_frame(0, Http2ErrorCode::HTTP2_ERROR_INTERNAL_ERROR);
+ send_goaway_frame(this->latest_streamid_in, Http2ErrorCode::HTTP2_ERROR_INTERNAL_ERROR);
return;
}
iov.iov_base = reinterpret_cast<uint8_t *>(iov.iov_base) + HTTP2_SETTINGS_PARAMETER_LEN;
--
To stop receiving notification emails like this one, please contact
['"commits@trafficserver.apache.org" <co...@trafficserver.apache.org>'].