http2: ignore invalid headers explicitly
Required in order for `parallel/test-http2-response-splitting` to pass after upgrading `nghttp2`. PR-URL: https://github.com/nodejs/node/pull/14955 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This commit is contained in:
parent
97d34ddf56
commit
772145674c
@ -140,6 +140,16 @@ inline int Nghttp2Session::OnFrameNotSent(nghttp2_session *session,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline int Nghttp2Session::OnInvalidHeader(nghttp2_session* session,
|
||||||
|
const nghttp2_frame* frame,
|
||||||
|
nghttp2_rcbuf* name,
|
||||||
|
nghttp2_rcbuf* value,
|
||||||
|
uint8_t flags,
|
||||||
|
void* user_data) {
|
||||||
|
// Ignore invalid header fields by default.
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
// Called when nghttp2 closes a stream, either in response to an RST_STREAM
|
// Called when nghttp2 closes a stream, either in response to an RST_STREAM
|
||||||
// frame or the stream closing naturally on it's own
|
// frame or the stream closing naturally on it's own
|
||||||
inline int Nghttp2Session::OnStreamClose(nghttp2_session *session,
|
inline int Nghttp2Session::OnStreamClose(nghttp2_session *session,
|
||||||
@ -910,6 +920,8 @@ Nghttp2Session::Callbacks::Callbacks(bool kHasGetPaddingCallback) {
|
|||||||
callbacks, OnDataChunkReceived);
|
callbacks, OnDataChunkReceived);
|
||||||
nghttp2_session_callbacks_set_on_frame_not_send_callback(
|
nghttp2_session_callbacks_set_on_frame_not_send_callback(
|
||||||
callbacks, OnFrameNotSent);
|
callbacks, OnFrameNotSent);
|
||||||
|
nghttp2_session_callbacks_set_on_invalid_header_callback2(
|
||||||
|
callbacks, OnInvalidHeader);
|
||||||
|
|
||||||
#ifdef NODE_DEBUG_HTTP2
|
#ifdef NODE_DEBUG_HTTP2
|
||||||
nghttp2_session_callbacks_set_error_callback(
|
nghttp2_session_callbacks_set_error_callback(
|
||||||
|
@ -240,6 +240,12 @@ class Nghttp2Session {
|
|||||||
int32_t id,
|
int32_t id,
|
||||||
uint32_t code,
|
uint32_t code,
|
||||||
void* user_data);
|
void* user_data);
|
||||||
|
static inline int OnInvalidHeader(nghttp2_session* session,
|
||||||
|
const nghttp2_frame* frame,
|
||||||
|
nghttp2_rcbuf* name,
|
||||||
|
nghttp2_rcbuf* value,
|
||||||
|
uint8_t flags,
|
||||||
|
void* user_data);
|
||||||
static inline int OnDataChunkReceived(nghttp2_session* session,
|
static inline int OnDataChunkReceived(nghttp2_session* session,
|
||||||
uint8_t flags,
|
uint8_t flags,
|
||||||
int32_t id,
|
int32_t id,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user