Check header block limit after new stream is opened
This commit is contained in:
parent
4aaf111c58
commit
eacd6eeed2
|
@ -1733,14 +1733,6 @@ static int session_prep_frame(nghttp2_session *session,
|
||||||
|
|
||||||
aux_data = &item->aux_data.headers;
|
aux_data = &item->aux_data.headers;
|
||||||
|
|
||||||
estimated_payloadlen = session_estimate_headers_payload(
|
|
||||||
session, frame->headers.nva, frame->headers.nvlen,
|
|
||||||
NGHTTP2_PRIORITY_SPECLEN);
|
|
||||||
|
|
||||||
if (estimated_payloadlen > NGHTTP2_MAX_HEADERSLEN) {
|
|
||||||
return NGHTTP2_ERR_FRAME_SIZE_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (frame->headers.cat == NGHTTP2_HCAT_REQUEST) {
|
if (frame->headers.cat == NGHTTP2_HCAT_REQUEST) {
|
||||||
/* initial HEADERS, which opens stream */
|
/* initial HEADERS, which opens stream */
|
||||||
nghttp2_stream *stream;
|
nghttp2_stream *stream;
|
||||||
|
@ -1754,6 +1746,14 @@ static int session_prep_frame(nghttp2_session *session,
|
||||||
return NGHTTP2_ERR_NOMEM;
|
return NGHTTP2_ERR_NOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
estimated_payloadlen = session_estimate_headers_payload(
|
||||||
|
session, frame->headers.nva, frame->headers.nvlen,
|
||||||
|
NGHTTP2_PRIORITY_SPECLEN);
|
||||||
|
|
||||||
|
if (estimated_payloadlen > NGHTTP2_MAX_HEADERSLEN) {
|
||||||
|
return NGHTTP2_ERR_FRAME_SIZE_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
rv = session_predicate_request_headers_send(session, item);
|
rv = session_predicate_request_headers_send(session, item);
|
||||||
if (rv != 0) {
|
if (rv != 0) {
|
||||||
return rv;
|
return rv;
|
||||||
|
@ -1765,6 +1765,14 @@ static int session_prep_frame(nghttp2_session *session,
|
||||||
} else {
|
} else {
|
||||||
nghttp2_stream *stream;
|
nghttp2_stream *stream;
|
||||||
|
|
||||||
|
estimated_payloadlen = session_estimate_headers_payload(
|
||||||
|
session, frame->headers.nva, frame->headers.nvlen,
|
||||||
|
NGHTTP2_PRIORITY_SPECLEN);
|
||||||
|
|
||||||
|
if (estimated_payloadlen > NGHTTP2_MAX_HEADERSLEN) {
|
||||||
|
return NGHTTP2_ERR_FRAME_SIZE_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
stream = nghttp2_session_get_stream(session, frame->hd.stream_id);
|
stream = nghttp2_session_get_stream(session, frame->hd.stream_id);
|
||||||
|
|
||||||
if (session_predicate_push_response_headers_send(session, stream) ==
|
if (session_predicate_push_response_headers_send(session, stream) ==
|
||||||
|
|
Loading…
Reference in New Issue