James M Snell
b0d5bfe73d
deps: re-enable OPENSSL_NO_QUIC guards
...
PR-URL: https://github.com/nodejs/node/pull/34033
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/36520
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Michael Dawson <midawson@redhat.com >
Reviewed-By: Beth Griggs <bgriggs@redhat.com >
2020-12-16 21:49:41 -05:00
James M Snell
9e446b3e9f
worker: add experimental BroadcastChannel
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/36271
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2020-12-01 08:02:28 -08:00
James M Snell
8ff2501a04
module: add isPreloading indicator
...
Adds a `module.isPreloading` property that is `true` only during the
preload (`-r`) phase of Node.js bootstrap. This provides modules an
easy, non-hacky way of knowing if they are being loaded during preload.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/36263
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-11-30 08:26:46 -08:00
James M Snell
4388c1478a
test: fix missed warning for non-experimental AbortController
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/36240
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Michael Dawson <midawson@redhat.com >
Reviewed-By: Shelley Vohr <codebytere@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-11-23 20:49:35 -08:00
James M Snell
513764b580
events: graduate Event, EventTarget, AbortController
...
Graduate these from experimental status
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/35949
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2020-11-23 09:33:41 -08:00
James M Snell
abe3456b29
doc: cleanup events.md structure
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/36100
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-11-23 08:05:36 -08:00
James M Snell
dc79f3f37c
events: add max listener warning for EventTarget
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/36001
Fixes: https://github.com/nodejs/node/issues/35990
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-11-16 09:48:18 +00:00
James M Snell
35274cbddf
src,crypto: refactoring of crypto_context, SecureContext
...
Cleaup and improvement of crypto_context and SecureContext.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/35665
Reviewed-By: Alba Mendez <me@alba.sh >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com >
2020-11-11 12:05:32 -08:00
James M Snell and Benjamin Gruenbaum
aa1eb1fd59
timers: cleanup abort listener on awaitable timers
...
Co-authored-by: Benjamin Gruenbaum <benjamingr@gmail.com >
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/36006
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-11-09 08:23:10 +00:00
James M Snell
fc8e3e2cdc
src: remove redundant OpenSSLBuffer
...
Replace the OpenSSLBuffer utility with ByteSource and
remove OpenSSLBuffer.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/35663
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2020-11-03 16:23:37 -08:00
James M Snell
05bb1b3f94
crypto: fixup scrypt regressions
...
Fixes a handful of regressions in scrypt support following
the refactor.
Fixes: https://github.com/nodejs/node/issues/35815
PR-URL: https://github.com/nodejs/node/pull/35821
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-10-30 11:08:09 +00:00
James M Snell
4cbcfaee9c
crypto: fix regression on randomFillSync
...
Signed-off-by: James M Snell <jasnell@gmail.com >
Fixes: https://github.com/nodejs/node/issues/35722
PR-URL: https://github.com/nodejs/node/pull/35723
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com >
Reviewed-By: Myles Borins <myles.borins@gmail.com >
Reviewed-By: Evan Lucas <evanlucas@me.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: Beth Griggs <bgriggs@redhat.com >
2020-10-21 15:10:36 +05:30
James M Snell
84a7880749
src: minor cleanup and simplification of crypto::Hash
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/35651
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-10-19 14:34:19 +00:00
James M Snell
bfc906906f
src: combine TLSWrap/SSLWrap
...
SSLWrap was needlessly defined as a template class, splitting the
TLS implementation over multiple locations. The original idea, I
surmise, was to make it possible to reuse SSLWrap for some other
purpose that never manifest. This squashes them down into a single
TLSWrap class and moves tls_wrap.h/cc into src/crypto.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/35552
Reviewed-By: Alba Mendez <me@alba.sh >
2020-10-15 09:20:27 -07:00
James M Snell
6751b6dc3d
test: check for AbortController existence
...
Running tests comparitively on older versions of Node.js that
do not have AbortController can be a pain. Only add the
AbortController to knownGlobals if it actually exists.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/35616
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-10-15 08:40:13 -07:00
James M Snell
efe60a5fe2
test: mark test-webcrypto-encrypt-decrypt-aes flaky
...
Appears to be flaky only on rhe17-390x. Will be investigating
refs: https://github.com/nodejs/node/issues/35586
PR-URL: https://github.com/nodejs/node/pull/35587
Refs: https://github.com/nodejs/node/issues/35586
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2020-10-13 17:03:06 +00:00
James M Snell
f7ed5f4ae3
src: remove toLocalChecked in crypto_context
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/35509
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-10-13 09:51:36 -07:00
James M Snell
17d5d94921
src: replace more toLocalCheckeds in crypto_*
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/35509
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-10-13 09:51:32 -07:00
James M Snell
095be6a01f
crypto: add getCipherInfo method
...
Simple method for retrieving basic information about a cipher
(such as block length, expected or default iv length, key length,
etc)
Signed-off-by: James M Snell <jasnell@gmail.com >
Fixes: https://github.com/nodejs/node/issues/22304
PR-URL: https://github.com/nodejs/node/pull/35368
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
2020-10-13 09:30:53 -07:00
James M Snell
83eaaf9731
src: remove unused AsyncWrapObject
...
Following the crypto subsystem refactor, this is now unused.
Begone!!
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/35511
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-10-10 08:36:13 -07:00
James M Snell
2310f679a1
src: move node_binding to modern THROW_ERR*
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/35469
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2020-10-10 08:17:48 -07:00
James M Snell
eb322bbe7f
src: move node_contextify to modern THROW_ERR_*
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/35470
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2020-10-10 08:01:49 -07:00
James M Snell
b28ba4b177
src: move node_process to modern THROW_ERR*
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/35472
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2020-10-10 08:00:32 -07:00
James M Snell
dae283d96f
crypto: refactoring internals, add WebCrypto
...
Fixes: https://github.com/nodejs/node/issues/678
Refs: https://github.com/nodejs/node/issues/26854
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/35093
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-10-07 17:27:05 -07:00
James M Snell
ba77dc8597
crypto: move node_crypto files to src/crypto
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/35093
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-10-07 17:27:01 -07:00
James M Snell
8beef5eeb8
src: more idiomatic error pattern in node_wasi
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/35493
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-10-06 04:38:56 -07:00
James M Snell
530acd1071
src: use env->ThrowUVException in pipe_wrap
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/35493
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-10-06 04:38:54 -07:00
James M Snell
df1023bb22
events: allow use of AbortController with on
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/34912
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
2020-09-02 07:53:47 -07:00
James M Snell
883fc779b6
events: allow use of AbortController with once
...
Allows an AbortSignal to be passed in to events.once() to cancel
waiting on an event.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/34911
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2020-08-31 15:09:57 +00:00
James M Snell
37a8179673
net: make blocklist family case insensitive
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/34864
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2020-08-31 15:09:47 +00:00
James M Snell
010383a174
doc: improve fs doc intro
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/34843
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ricky Zhou <0x19951125@gmail.com >
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2020-08-24 11:07:33 -07:00
James M Snell
44e6a6af67
quic: use qlog fin flag
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/34752
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-08-21 09:18:49 -07:00
James M Snell
2a80737278
quic: fixups after ngtcp2/nghttp3 update
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/34752
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-08-21 09:18:47 -07:00
James M Snell
c6e1edcc28
src: add Update(const sockaddr*) variant
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/34752
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-08-21 09:18:44 -07:00
James M Snell
757bac6711
deps: update nghttp3
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/34752
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-08-21 09:18:42 -07:00
James M Snell
c788be2e6e
deps: update ngtcp2
...
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/34752
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-08-21 09:18:39 -07:00
James M Snell
c855c3e8ca
quic: use net.BlockList for limiting access to a QuicSocket
...
PR-URL: https://github.com/nodejs/node/pull/34741
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-08-17 11:31:28 -07:00
James M Snell
1c14810edc
src: allow instances of net.BlockList to be created internally
...
Initial PR had it so that user code would create BlockList
instances. This sets it up so that instances can be created
internally by Node.js
PR-URL: https://github.com/nodejs/node/pull/34741
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-08-17 11:31:26 -07:00
James M Snell
bfc35354c1
quic: consolidate stats collecting in QuicSession
...
PR-URL: https://github.com/nodejs/node/pull/34741
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-08-17 11:31:24 -07:00
James M Snell
94aa291348
quic: clarify TODO statements
...
PR-URL: https://github.com/nodejs/node/pull/34741
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-08-17 11:31:22 -07:00
James M Snell
19e712b9b2
quic: resolve InitializeSecureContext TODO comment
...
Using a static label is sufficient.
PR-URL: https://github.com/nodejs/node/pull/34741
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-08-17 11:31:20 -07:00
James M Snell
240592228b
quic: fixup session ticket app data todo comments
...
PR-URL: https://github.com/nodejs/node/pull/34741
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-08-17 11:31:18 -07:00
James M Snell
c17eaa3f3f
quic: add natRebinding argument to docs
...
PR-URL: https://github.com/nodejs/node/pull/34669
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-08-17 11:27:34 -07:00
James M Snell
442968c92a
quic: check setSocket natRebinding argument, extend test
...
PR-URL: https://github.com/nodejs/node/pull/34669
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-08-17 11:27:32 -07:00
James M Snell
10d5047a4f
quic: fixup set_socket, fix skipped test
...
PR-URL: https://github.com/nodejs/node/pull/34669
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-08-17 11:27:30 -07:00
James M Snell
344c5e4e50
quic: limit push check to http/3
...
PR-URL: https://github.com/nodejs/node/pull/34655
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-08-17 11:23:28 -07:00
James M Snell
34165f03aa
quic: resolve some minor TODOs
...
PR-URL: https://github.com/nodejs/node/pull/34655
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-08-17 11:23:25 -07:00
James M Snell
1e6e5c3ef3
quic: resolve minor TODO in QuicSocket
...
PR-URL: https://github.com/nodejs/node/pull/34655
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-08-17 11:23:23 -07:00
James M Snell
1f9b20b637
net: introduce net.BlockList
...
`net.BlockList` provides an object intended to be used by net APIs to
specify rules for disallowing network activity with specific IP
addresses. This commit adds the basic mechanism but does not add the
specific uses.
PR-URL: https://github.com/nodejs/node/pull/34625
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Bradley Farias <bradley.meck@gmail.com >
2020-08-11 11:13:17 -07:00
James M Snell
5b6cd6fa1a
quic: use the SocketAddressLRU to track validation status
...
PR-URL: https://github.com/nodejs/node/pull/34618
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-08-10 07:52:09 -07:00
James M Snell
f75e69a94b
quic: use SocketAddressLRU to track known SocketAddress info
...
Using the `SocketAddressLRU` utility allows us to put an upper
bound on the amount of memory that will be used to track known
SocketAddress information (such as current number of connections,
validation status, reset and retry counts, etc. The LRU is bounded
by both max size and time, with any entry older than 10 seconds
dropped whenever another item is accessed or updated.
PR-URL: https://github.com/nodejs/node/pull/34618
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-08-10 07:52:06 -07:00
James M Snell
6d1f0aed52
src: add SocketAddressLRU Utility
...
Adds a LRU cache for information associated with a SocketAddress.
PR-URL: https://github.com/nodejs/node/pull/34618
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-08-10 07:52:03 -07:00
James M Snell
6b0b33cd4c
quic: cleanup some outstanding todo items
...
PR-URL: https://github.com/nodejs/node/pull/34618
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-08-10 07:52:01 -07:00
James M Snell
74df7496ff
async_hooks: add AsyncResource.bind utility
...
Creates an internal AsyncResource and binds a function to it,
ensuring that the function is invoked within execution context
in which bind was called.
PR-URL: https://github.com/nodejs/node/pull/34574
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Andrey Pechkurov <apechkurov@gmail.com >
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
2020-08-03 18:40:16 -07:00
James M Snell
744a284ccc
stream: support async for stream impl functions
...
PR-URL: https://github.com/nodejs/node/pull/34416
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com >
2020-08-03 17:54:08 -07:00
James M Snell
6e65f26b73
quic: use QuicCallbackScope consistently for QuicSession
...
PR-URL: https://github.com/nodejs/node/pull/34541
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
2020-08-03 12:03:06 +00:00
James M Snell
d96083bad5
quic: introduce QuicCallbackScope
...
Alternative to `CallbackScope` that handles destroying the
`QuicSession` in the try_catch cleanup.
PR-URL: https://github.com/nodejs/node/pull/34541
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
2020-08-03 12:03:03 +00:00
James M Snell
4b0275ab87
quic: refactor clientHello
...
Refactor the `'clientHello'` event into a `clientHelloHandler`
configuration option and async function. Remove the addContext
API as it's not needed.
PR-URL: https://github.com/nodejs/node/pull/34541
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
2020-08-03 12:03:00 +00:00
James M Snell
a97b5f9c6a
quic: use OpenSSL built-in cert and hostname validation
...
PR-URL: https://github.com/nodejs/node/pull/34533
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-31 11:06:16 -07:00
James M Snell
1f94b89309
quic: refactor ocsp to use async function rather than event/callback
...
PR-URL: https://github.com/nodejs/node/pull/34498
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-27 13:33:14 -07:00
James M Snell
06664298fa
quic: remove no-longer relevant TODO statements
...
PR-URL: https://github.com/nodejs/node/pull/34498
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-27 13:33:12 -07:00
James M Snell
2fb92f4cc6
quic: remove extraneous unused debug property
...
PR-URL: https://github.com/nodejs/node/pull/34498
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-27 13:33:10 -07:00
James M Snell
b06fe33de1
quic: use async _construct for QuicStream
...
PR-URL: https://github.com/nodejs/node/pull/34351
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-23 06:52:59 -07:00
James M Snell
8bd61d4c38
quic: documentation updates
...
PR-URL: https://github.com/nodejs/node/pull/34351
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-23 06:52:56 -07:00
James M Snell
086c916997
quic: extensive refactoring of QuicStream lifecycle
...
This one was a bit of a rabbit hole... but, with this set of
changes, `QuicStream` should now work with autoDestroy, supports
a promisified `close()`, and fixes a number of other internal
bugs that were spotted trying to get it to work.
PR-URL: https://github.com/nodejs/node/pull/34351
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-23 06:52:53 -07:00
James M Snell
cf28f8a7dd
quic: gitignore qlog files
...
qlog files are diagnostic files that are being used to verify
the quic implementation. Make sure they don't get checked in.
PR-URL: https://github.com/nodejs/node/pull/34351
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-23 06:52:50 -07:00
James M Snell
83bf0d7e8c
quic: remove unneeded quicstream.aborted and fixup docs
...
PR-URL: https://github.com/nodejs/node/pull/34351
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-23 06:52:47 -07:00
James M Snell
a65296db2c
quic: remove stream pending code
...
Removing no longer needed code
PR-URL: https://github.com/nodejs/node/pull/34351
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-23 06:52:45 -07:00
James M Snell
da20287e1a
quic: simplify QuicStream construction logic
...
PR-URL: https://github.com/nodejs/node/pull/34351
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-23 06:52:42 -07:00
James M Snell
6e30fe7a7f
quic: convert openStream to Promise
...
Although most of the time openStream will be able to create the stream
immediately, when a stream is opened before the handshake is complete
we have to wait for the handshake to be complete before continuing.
PR-URL: https://github.com/nodejs/node/pull/34351
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-23 06:52:40 -07:00
James M Snell
89453cfc08
quic: fixup quic.md
...
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:17:08 -07:00
James M Snell
4523d4a813
quic: fixup closing/draining period timing
...
When entering the closing or draining periods, servers should wait
three times the current probe timeout before releasing session
state.
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:17:06 -07:00
James M Snell
ed4882241c
quic: properly pass readable/writable constructor options
...
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:17:04 -07:00
James M Snell
57c1129508
quic: implement QuicSession close as promise
...
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:17:01 -07:00
James M Snell
8e5c5b16ab
quic: cleanup QuicClientSession constructor
...
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:16:59 -07:00
James M Snell
fe4e7e4598
quic: use promisified dns lookup
...
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:16:57 -07:00
James M Snell
346aeaf874
quic: eliminate "ready"/"not ready" states for QuicSession
...
QuicClientSession and QuicServerSessions are now always immediately
ready for use when they are created, so no more need to track
ready state.
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:16:55 -07:00
James M Snell
6665dda9f6
quic: implement QuicSocket Promise API, part 2
...
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:16:52 -07:00
James M Snell
79c0e892dd
quic: implement QuicSocket Promise API, part 1
...
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:16:50 -07:00
James M Snell
53b12f0c7b
quic: implement QuicEndpoint Promise API
...
This is the start of a conversion over to a fully Promise-centric API
for the QUIC implementation.
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:16:48 -07:00
James M Snell
16b32eae3e
quic: handle unhandled rejections on QuicSession
...
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:16:45 -07:00
James M Snell
e5d963e24d
quic: fixup kEndpointClose
...
Ensure that the QuicSocket is properly destroyed if the QuicEndpoint
is destroyed directly rather than through QuicSocket destroy
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:16:43 -07:00
James M Snell
9f552df5b4
quic: fix endpointClose error handling, document
...
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:16:41 -07:00
James M Snell
b80108c033
quic: restrict addEndpoint to before QuicSocket bind
...
Restricting this to pre-bind keeps things simple
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:16:39 -07:00
James M Snell
81c01bbdba
quic: use a getter for stream options
...
Doesn't need to be a function
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:16:37 -07:00
James M Snell
b8945ba2ab
quic: clarifying code comments
...
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:16:35 -07:00
James M Snell
429ab1dce6
quic: minor reduction in code duplication
...
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:16:32 -07:00
James M Snell
aafdc2fcad
quic: replace ipv6Only option with 'udp6-only' type
...
Since the `ipv6Only` option was mutually exclusive with
using `'udp6'`, making it it's own type simplifies things
a bit.
PR-URL: https://github.com/nodejs/node/pull/34283
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-15 17:16:30 -07:00
James M Snell
f1dc5cd614
doc: buffer documentation improvements
...
PR-URL: https://github.com/nodejs/node/pull/34230
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-14 15:11:31 +02:00
James M Snell
c176d5fac2
quic: set destroyed at timestamps for duration calculation
...
PR-URL: https://github.com/nodejs/node/pull/34262
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-10 13:51:18 -07:00
James M Snell
48a349efd9
quic: use Number instead of BigInt for more stats
...
PR-URL: https://github.com/nodejs/node/pull/34262
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-10 13:51:16 -07:00
James M Snell
5e769b2eaf
quic: use less specific error codes
...
Stop the madness. Only you can prevent excessive error code
proliferation.
PR-URL: https://github.com/nodejs/node/pull/34262
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-10 13:51:13 -07:00
James M Snell
99f0404646
doc: specify encoding in text/html examples
...
Fixes: https://github.com/nodejs/node/issues/29739
PR-URL: https://github.com/nodejs/node/pull/34222
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2020-07-09 08:49:50 -07:00
James M Snell
f98a441bf7
doc: document the ready event for Http2Stream
...
Fixes: https://github.com/nodejs/node/issues/22804
PR-URL: https://github.com/nodejs/node/pull/34221
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2020-07-09 07:36:34 -07:00
James M Snell
a720c0edcc
doc: add comment to example about 2xx status codes
...
Fixes: https://github.com/nodejs/node/issues/29714
PR-URL: https://github.com/nodejs/node/pull/34223
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2020-07-09 07:35:37 -07:00
James M Snell
14ac6e4226
doc: document that whitespace is ignored in base64 decoding
...
Fixes: https://github.com/nodejs/node/issues/8569
PR-URL: https://github.com/nodejs/node/pull/34227
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
2020-07-09 07:34:30 -07:00
James M Snell
62bdb7e801
doc: add note about multiple sync events and once
...
Fixes: https://github.com/nodejs/node/issues/32431
PR-URL: https://github.com/nodejs/node/pull/34220
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2020-07-09 07:31:54 -07:00
James M Snell
949d1c1f0c
doc: document behavior for once(ee, 'error')
...
Fixes: https://github.com/nodejs/node/issues/31244
PR-URL: https://github.com/nodejs/node/pull/34225
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-09 07:25:08 -07:00
James M Snell
a95fb930d0
doc: document security issues with url.parse()
...
Fixes: https://github.com/nodejs/node/issues/31279
PR-URL: https://github.com/nodejs/node/pull/34226
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2020-07-09 07:21:04 -07:00
James M Snell
26493c02a2
quic: remove no longer valid CHECK
...
PR-URL: https://github.com/nodejs/node/pull/34247
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-07-09 07:15:44 -07:00