0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
nodejs/lib
Anna Henningsen c44ee7a14a
http2: only call into JS when necessary for session events
For some JS events, it only makes sense to call into JS when there
are listeners for the event in question.

The overhead is noticeable if a lot of these events are emitted during
the lifetime of a session. To reduce this overhead, keep track of
whether any/how many JS listeners are present, and if there are none,
skip calls into JS altogether.

This is part of performance improvements to mitigate CVE-2019-9513.

PR-URL: https://github.com/nodejs/node/pull/29122
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-08-15 09:50:22 +02:00
..
internal http2: only call into JS when necessary for session events 2019-08-15 09:50:22 +02:00
_http_agent.js https: do not automatically use invalid servername 2019-06-17 11:58:26 +02:00
_http_client.js http: follow symbol naming convention 2019-08-14 15:54:01 -07:00
_http_common.js http: improve parser error messages 2019-07-05 22:36:53 -07:00
_http_incoming.js
_http_outgoing.js http: follow symbol naming convention 2019-08-14 15:54:01 -07:00
_http_server.js http: follow symbol naming convention 2019-08-14 15:54:01 -07:00
_stream_duplex.js stream: add writableFinished 2019-06-25 14:46:10 -07:00
_stream_passthrough.js
_stream_readable.js stream: encapsulate buffer-list 2019-08-09 11:11:53 -07:00
_stream_transform.js stream: remove TODO and add a description instead 2019-05-02 23:16:14 +02:00
_stream_wrap.js
_stream_writable.js stream: inline and simplify onwritedrain 2019-08-09 16:42:14 -07:00
_tls_common.js tls: rename validateKeyCert in _tls_common.js 2019-06-12 20:58:27 -07:00
_tls_wrap.js crypto: add debug info client emit secureConnect 2019-06-10 05:29:10 +02:00
.eslintrc.yaml
assert.js deps: update acorn to 6.2.0 2019-07-15 00:04:50 +02:00
async_hooks.js process: improve queueMicrotask performance 2019-06-10 07:49:40 +02:00
buffer.js buffer: improve copy() performance 2019-08-14 15:59:32 -07:00
child_process.js stream: use readableEncoding public api for child_process 2019-07-14 22:27:33 -07:00
cluster.js
console.js
constants.js
crypto.js
dgram.js dgram: changed 'var' to 'let' and 'const' 2019-07-29 23:12:18 -07:00
dns.js dns: update lookupService() first arg name 2019-08-10 19:06:21 -07:00
domain.js domain: use strong reference to domain while active 2019-07-24 20:40:42 -07:00
events.js events: give subclass name in unhandled 'error' message 2019-08-06 19:28:12 -07:00
fs.js fs: validate fds as int32s 2019-08-07 13:27:55 -07:00
http2.js
http.js
https.js http, http2: remove default server timeout 2019-05-09 08:54:04 -07:00
inspector.js inspector: add inspector.waitForDebugger() 2019-07-20 22:19:06 -07:00
module.js lib: rework logic of stripping BOM+Shebang from commonjs 2019-05-26 13:04:29 -05:00
net.js net: shallow copy option when create Server 2019-08-03 21:58:03 -07:00
os.js
path.js path: improve normalization performance 2019-08-05 19:17:32 +08:00
perf_hooks.js perf_hooks: add HttpRequest statistics monitoring #28445 2019-07-12 00:36:27 +02:00
process.js
punycode.js
querystring.js
readline.js lib: rename lib/internal/readline.js 2019-07-20 11:56:53 -07:00
repl.js repl: fix some repl context issues 2019-07-17 20:59:12 -07:00
stream.js
string_decoder.js
sys.js
timers.js lib: remove outdated optimizations 2019-04-29 20:46:53 +08:00
tls.js tls: remove unnecessary set of DEFAULT_MAX_VERSION 2019-06-17 14:39:41 +02:00
trace_events.js perf_hooks,trace_events: use stricter equality 2019-06-16 16:45:15 +08:00
tty.js tty: expose stream API from readline methods 2019-07-18 17:20:45 -04:00
url.js tools: enable block-scoped-var eslint rule 2019-05-10 16:58:49 +02:00
util.js
v8.js src: export v8.GetHeapCodeAndMetadataStatistics() 2019-07-30 11:36:51 -07:00
vm.js vm: fix gc bug with modules and compiled functions 2019-07-19 16:45:46 -05:00
worker_threads.js worker: add ability to unshift message from MessagePort 2019-05-19 22:01:34 +02:00
zlib.js zlib: remove usage of public util module 2019-07-19 11:06:29 -07:00