diff options
author | Denys Otrishko <shishugi@gmail.com> | 2019-11-18 22:12:15 +0200 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2019-11-28 00:48:57 +0100 |
commit | 988034be6aece7bd103249e18ac7f0a5d3f92545 (patch) | |
tree | aaa2d24a4e27be44427c94dc9ffe80dfcf245a4e /src/node_http2.cc | |
parent | 74f6bc70560aac981ac1b3019f628b81528a7053 (diff) | |
download | android-node-v8-988034be6aece7bd103249e18ac7f0a5d3f92545.tar.gz android-node-v8-988034be6aece7bd103249e18ac7f0a5d3f92545.tar.bz2 android-node-v8-988034be6aece7bd103249e18ac7f0a5d3f92545.zip |
http2: make maximum tolerated rejected streams configurable
PR-URL: https://github.com/nodejs/node/pull/30534
Fixes: https://github.com/nodejs/node/issues/30505
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'src/node_http2.cc')
-rw-r--r-- | src/node_http2.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/node_http2.cc b/src/node_http2.cc index 459cc3b0e6..17a8a859d9 100644 --- a/src/node_http2.cc +++ b/src/node_http2.cc @@ -920,7 +920,8 @@ int Http2Session::OnBeginHeadersCallback(nghttp2_session* handle, if (UNLIKELY(!session->CanAddStream() || Http2Stream::New(session, id, frame->headers.cat) == nullptr)) { - if (session->rejected_stream_count_++ > 100) + if (session->rejected_stream_count_++ > + session->js_fields_.max_rejected_streams) return NGHTTP2_ERR_CALLBACK_FAILURE; // Too many concurrent streams being opened nghttp2_submit_rst_stream(**session, NGHTTP2_FLAG_NONE, id, @@ -3062,6 +3063,7 @@ void Initialize(Local<Object> target, NODE_DEFINE_CONSTANT(target, kSessionPriorityListenerCount); NODE_DEFINE_CONSTANT(target, kSessionFrameErrorListenerCount); NODE_DEFINE_CONSTANT(target, kSessionMaxInvalidFrames); + NODE_DEFINE_CONSTANT(target, kSessionMaxRejectedStreams); NODE_DEFINE_CONSTANT(target, kSessionUint8FieldCount); NODE_DEFINE_CONSTANT(target, kSessionHasRemoteSettingsListeners); |