node/lib/internal
Daniel Bevenius 3f2e9dc40c
http2: add unknownProtocol timeout
This commit add a configuration options named unknownProtocolTimeout
which can be specified to set a value for the timeout in milliseconds
that a server should wait when an unknowProtocol is sent to it. When
this happens a timer will be started and the if the socket has not been
destroyed during that time the timer callback will destoy it.

CVE-ID: CVE-2021-22883
Refs: https://hackerone.com/reports/1043360
PR-URL: https://github.com/nodejs-private/node-private/pull/246
Backport PR-URL: https://github.com/nodejs-private/node-private/pull/248
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2021-02-22 19:12:26 +00:00
..
bootstrap lib: fix comment nits in bootstrap\loaders.js 2019-12-17 17:08:16 -05:00
cluster cluster: refactor empty for in round_robin_handle.js 2019-04-17 00:15:11 +01:00
crypto crypto: increase maxmem range from 32 to 53 bits 2019-10-01 19:20:29 +01:00
dns dns: fix inconsistent (hostname vs host) 2018-11-29 11:39:04 -05:00
fs fs,net: standardize pending stream property 2019-05-16 14:56:00 -04:00
http2 http2: add unknownProtocol timeout 2021-02-22 19:12:26 +00:00
modules esm: fix esm load bug 2019-06-06 13:59:16 +01:00
process process: use public readableFlowing property 2019-10-17 23:32:03 +01:00
repl repl: support top-level for-await-of 2019-03-20 02:36:30 -04:00
streams stream: extract Readable.from in its own file 2019-12-17 17:08:17 -05:00
test lib,test: remove lib/internal/test/unicode.js 2019-05-16 14:56:18 -04:00
util util: fix util.inspect with proxied function 2019-05-16 14:56:14 -04:00
vm vm: add dynamic import support 2019-02-28 23:37:31 +11:00
assert.js assert: remove internal errorCache property 2018-10-10 04:15:57 +02:00
async_hooks.js bootstrapper: move internalBinding to NativeModule 2018-11-29 11:38:30 -05:00
bash_completion.js src: cache the result of GetOptions() in JS land 2018-12-25 02:17:24 -05:00
buffer.js buffer: add {read|write}Big[U]Int64{BE|LE} methods 2020-02-25 00:17:56 +00:00
child_process.js child_process: ensure message sanity at source 2019-04-17 11:29:11 +01:00
cli_table.js lib,test: remove lib/internal/test/unicode.js 2019-05-16 14:56:18 -04:00
constants.js os: lazy loaded 2018-05-22 14:13:28 -04:00
dgram.js bootstrapper: move internalBinding to NativeModule 2018-11-29 11:38:30 -05:00
domexception.js lib: do not register DOMException in a module 2019-02-28 23:37:36 +11:00
encoding.js src: remove function hasTextDecoder in encoding.js 2018-12-26 11:18:44 -05:00
error-serdes.js worker: improve error (de)serialization 2018-06-13 08:45:03 +02:00
errors.js zlib: add brotli support 2019-05-16 14:57:03 -04:00
fixed_queue.js lib: expose FixedQueue internally and fix nextTick bug 2018-05-08 18:26:16 -07:00
freelist.js async_hooks: add missing async_hooks destroys in AsyncReset 2018-11-29 11:39:01 -05:00
http.js http,https: protect against slow headers attack 2018-11-27 15:11:44 +11:00
inspector_async_hook.js async_hooks: lazy loading for startup performance 2018-05-22 14:13:28 -04:00
linkedlist.js linkedlist: correct grammar in comments 2017-07-31 08:03:19 +08:00
net.js net: port isIPv6 to JS 2018-09-11 20:40:40 +02:00
options.js src: cache the result of GetOptions() in JS land 2018-12-25 02:17:24 -05:00
per_context.js lib: fix segfault with --without-intl 2018-06-30 11:09:25 +02:00
print_help.js lib: suppress crypto related env vars in help msg 2019-02-28 23:37:34 +11:00
querystring.js lib: move encodeStr function to internal for reusable 2019-01-28 21:54:52 -08:00
readline.js lib: remove some useless assignments 2019-02-28 23:37:39 +11:00
readme.md doc: clarify text about internal module changes 2018-07-31 09:38:48 +02:00
repl.js lib: switch to Number.isNaN 2018-02-16 18:09:56 +01:00
safe_globals.js lib: simplify own keys retrieval 2019-02-28 23:37:33 +11:00
socket_list.js lib: convert to arrow function 2019-02-28 23:37:33 +11:00
stream_base_commons.js bootstrapper: move internalBinding to NativeModule 2018-11-29 11:38:30 -05:00
timers.js timers: use custom inspection for linked lists 2018-10-03 07:59:08 +02:00
tls.js tls: change var to const 2018-08-15 20:23:17 +10:00
trace_events_async_hooks.js bootstrapper: move internalBinding to NativeModule 2018-11-29 11:38:30 -05:00
tty.js tty: add hasColors function 2019-04-17 00:15:13 +01:00
url.js url: handle quasi-WHATWG URLs in urlToOptions() 2020-03-24 14:29:25 +00:00
util.js util: simplify code 2019-05-16 14:56:10 -04:00
v8_prof_polyfill.js v8_prof_polyfill: remove unused catch bindings 2018-12-03 13:33:02 -05:00
v8_prof_processor.js lib: convert to Arrow Function 2019-02-28 23:37:35 +11:00
validators.js lib: extract validateNumber validator 2018-09-06 08:52:21 +02:00
worker.js worker: add missing return value in case of fatal exceptions 2019-10-15 19:44:00 +01:00
wrap_js_stream.js tls: do not rely on 'drain' handlers in StreamWrap 2019-01-28 21:54:52 -08:00

Internal Modules

The modules in lib/internal are intended for internal use in Node.js core only, and are not accessible with require() from user modules. These modules can be changed at any time. Reliance on these modules outside of core is not supported in any way.