Commit 9f008330 authored by Tatsuhiro Tsujikawa's avatar Tatsuhiro Tsujikawa

Fix strange use of session_detect_idle_stream

parent dd93b293
...@@ -3429,6 +3429,8 @@ int nghttp2_session_on_request_headers_received(nghttp2_session *session, ...@@ -3429,6 +3429,8 @@ int nghttp2_session_on_request_headers_received(nghttp2_session *session,
return NGHTTP2_ERR_IGN_HEADER_BLOCK; return NGHTTP2_ERR_IGN_HEADER_BLOCK;
} }
assert(session->server);
if (!session_is_new_peer_stream_id(session, frame->hd.stream_id)) { if (!session_is_new_peer_stream_id(session, frame->hd.stream_id)) {
/* The spec says if an endpoint receives a HEADERS with invalid /* The spec says if an endpoint receives a HEADERS with invalid
stream ID, it MUST issue connection error with error code stream ID, it MUST issue connection error with error code
...@@ -3437,7 +3439,8 @@ int nghttp2_session_on_request_headers_received(nghttp2_session *session, ...@@ -3437,7 +3439,8 @@ int nghttp2_session_on_request_headers_received(nghttp2_session *session,
Then connection error is too harsh. It means that we only use Then connection error is too harsh. It means that we only use
connection error if stream ID refers idle stream. OTherwise we connection error if stream ID refers idle stream. OTherwise we
just ignore HEADERS for now. */ just ignore HEADERS for now. */
if (session_detect_idle_stream(session, frame->hd.stream_id)) { if (frame->hd.stream_id == 0 ||
nghttp2_session_is_my_stream_id(session, frame->hd.stream_id)) {
return session_inflate_handle_invalid_connection( return session_inflate_handle_invalid_connection(
session, frame, NGHTTP2_ERR_PROTO, session, frame, NGHTTP2_ERR_PROTO,
"request HEADERS: invalid stream_id"); "request HEADERS: invalid stream_id");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment