Commit Graph
33080 Commits
Author SHA1 Message Date
Filip Skokan 8ddee73efc crypto: check ed/x webcrypto key import algorithm names
PR-URL: https://github.com/nodejs/node/pull/37305
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-02-26 11:16:52 +01:00
Antoine du Hamel 83cce8717f lib: use <array>.push and <array>.unshift instead of <array>.concat
Using `push` and `unshift` methods is more performant than reassigning a
new array created with `concat`.

PR-URL: https://github.com/nodejs/node/pull/37239
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-02-26 11:11:22 +01:00
Vít Ondruch f392ac0bbe crypto: make FIPS related options always awailable
There is no reason to hide FIPS functionality behind build flags.
OpenSSL always provide the information about FIPS availability via
`FIPS_mode()` function.

This makes the user experience more consistent, because the OpenSSL
library is always queried and the `crypto.getFips()` always returns
OpenSSL settings.

Fixes #34903

PR-URL: https://github.com/nodejs/node/pull/36341
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
2021-02-25 18:12:58 -05:00
James M Snell 148bc33347 fs: fixup negative length in fs.truncate
`fs.ftruncate`, `fsPromises.truncate`, and `fsPromises.ftruncate`
all adjust negative lengths to 0 before invoking the system call.
`fs.truncate()` was the one outlier.

This "fixes" https://github.com/nodejs/node/issues/35632 but in the
opposite direction than discussed in the issue -- specifically by
removing an EINVAL error from one function rather than adding it to
another.

Signed-off-by: James M Snell <jasnell@gmail.com>
Fixes: https://github.com/nodejs/node/issues/35632

PR-URL: https://github.com/nodejs/node/pull/37483
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2021-02-25 14:45:08 -08:00
James M Snell ee6c467c8a doc: recommend queueMicrotask over process.nextTick
We likely cannot ever deprecate process.nextTick, but we can start
steering people towards queueMicrotask for most cases.

Signed-off-by: James M Snell <jasnell@gmail.com>
Fixes: https://github.com/nodejs/node/issues/36870

PR-URL: https://github.com/nodejs/node/pull/37484
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
2021-02-25 14:33:59 -08:00
Ruy Adorno 43e29418c4 deps: upgrade npm to 7.5.6
PR-URL: https://github.com/nodejs/node/pull/37496
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
2021-02-25 09:52:12 -05:00
Richard Lau 448de26d7b deps: V8: cherry-pick 373f4ae739ee
Original commit message:

    [torque] Don't replace unmodified empty files

    To improve incremental builds.

    Bug: v8:7793
    Change-Id: I6990a97e058d22d34acd1f609167cd30ca7518ad
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2596789
    Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
    Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
    Cr-Commit-Position: refs/heads/master@{#72053}

Refs: https://github.com/v8/v8/commit/373f4ae739eeae0e4d2224b15002be35f1470312

PR-URL: https://github.com/nodejs/node/pull/37505
Fixes: https://github.com/nodejs/node/issues/37368
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2021-02-25 09:48:00 +01:00
ttzztztz 63794b4198 test: fix incorrect timers-promisified case
PR-URL: https://github.com/nodejs/node/pull/37425
Fixes: https://github.com/nodejs/node/issues/37395
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2021-02-25 07:27:23 +01:00
Michaël Zasso 001dc16cf1 src: use non-deprecated V8 module and script APIs
PR-URL: https://github.com/nodejs/node/pull/37330
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-25 00:16:41 +01:00
Michaël Zasso 43cc8e4b2e deps: bump minimum ICU version to 68
Refs: https://github.com/v8/v8/commit/1e69cdd95bad505ec5de1ddca9e58eee8cd9383f

PR-URL: https://github.com/nodejs/node/pull/37330
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-25 00:16:30 +01:00
Michaël Zasso 017661768a tools: update V8 gypfiles for 8.9
PR-URL: https://github.com/nodejs/node/pull/37330
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-25 00:16:26 +01:00
Michaël Zasso 8eeecc19ae deps: V8: cherry-pick 8957d4677aa7
Original commit message:

    [aarm64] Fix GetSharedLibraryAddresses

    This patch fixes a segmentation fault which occurs when using `--prof` flag on a Darwin ARM64 architecture.
    See https://github.com/nodejs/node/issues/36656

    Change-Id: Idc3ce6c8fd8a24f76f1b356f629e37340045b51e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2609413
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72886}

Refs: https://github.com/v8/v8/commit/8957d4677aa794c230577f234071af0dadb88f7b

PR-URL: https://github.com/nodejs/node/pull/37330
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-25 00:16:20 +01:00
Michaël Zasso b186142a0b deps: V8: backport a11395433dbd
Original commit message:

    [cppgc]: Fix build on msvc

    Fixes compilation with msvc 2019 toolchain.

    See: https://github.com/nodejs/node/pull/37330#issuecomment-783000812
    Change-Id: I3b658d9ef49889c0a0467a1146e8d16b50fca65d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2711152
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72917}

Refs: https://github.com/v8/v8/commit/a11395433dbd1880a1bb5b84078a36ab0804a623

PR-URL: https://github.com/nodejs/node/pull/37330
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-25 00:16:13 +01:00
Matin Zadehdolatabad d6b50611f4 deps: V8: cherry-pick 0c8b6e415c30
Original commit message:

    [mac][wasm] Work around MacOS 11.2 code page decommit failures

    MacOS 11.2 refuses to set "no access" permissions on memory that
    we previously used for JIT-compiled code. It is still unclear
    whether this is WAI on the part of the kernel. In the meantime,
    as a workaround, we use madvise(..., MADV_FREE_REUSABLE) instead
    of mprotect(..., NONE) when discarding code pages. This is inspired
    by what Chromium's gin platform does.

    Fixed: v8:11389
    Change-Id: I866586932573b4253002436ae5eee4e0411c45fc
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2679688
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72559}

Refs: https://github.com/v8/v8/commit/0c8b6e415c3020a987d2287f1543d629cd993535
Fixes: https://github.com/nodejs/node/issues/37061
PR-URL: https://github.com/nodejs/node/pull/37276
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ash Cripps <acripps@redhat.com>
2021-02-25 00:16:10 +01:00
Benjamin Coe bb2a98ff41 deps: V8: cherry-pick fe191e8d05cc
Original commit message:

    [coverage] optional chaining coverage

    Implement coverage tracking for optional chains.

    Bug: v8:10060
    Change-Id: I4f29eda64b6d859939f5f58f4fabead649905795
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2573013
    Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Reviewed-by: Gus Caplan <snek@chromium.org>
    Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
    Commit-Queue: Benjamin Coe <bencoe@google.com>
    Cr-Commit-Position: refs/heads/master@{#72075}

Refs: https://github.com/v8/v8/commit/fe191e8d05ccfa740432f56d34b1ff2d32265a8d

PR-URL: https://github.com/nodejs/node/pull/36956
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2021-02-25 00:16:07 +01:00
Michaël Zasso 290f2d8d3e deps: V8: cherry-pick deb0813166f3
Original commit message:

    [heap] Add proper rebind support to StrongRootBlockAllocator

    MSVC's STL in debug mode rebinds the allocator passed to vectors to
    allocate helper structures, so we need StrongRootBlockAllocator to have
    proper rebind support rather than assuming it always rebinds to Address.

    Bug: v8:11241
    Change-Id: I15688e43fe2c71ec4ff0c287a03e36ca57427417
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2622915
    Auto-Submit: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72060}

Refs: https://github.com/v8/v8/commit/deb0813166f3fcb72c742f76e3c7228f23568bf1

PR-URL: https://github.com/nodejs/node/pull/36139
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2021-02-25 00:16:06 +01:00
Michaël Zasso 63ed0b8bfe deps: V8: cherry-pick 9a6a22874c81
Original commit message:

    [heap] Fix DCHECK in TransitionArrayNeedsCompaction

    The dead target check in TransitionArrayNeedsCompaction, confirming that
    Smi (uninitialized) targets imply that no other target is dead, has to
    additionally support Smi entries.

    Bug: v8:11305
    Change-Id: I6f3fa9e7420b1bd0a64a25dae670f439e3f41162
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2622914
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
    Auto-Submit: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72040}

Refs: https://github.com/v8/v8/commit/9a6a22874c814be0a3ad12065b386722df110df5

PR-URL: https://github.com/nodejs/node/pull/36139
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
2021-02-25 00:16:02 +01:00
Michaël Zasso 47f1c5257a deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/37330
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-25 00:15:50 +01:00
cjihrig 19d975241f deps: workaround stod() limitations on SmartOS
std::stod() on SmartOS does not currently handle hex strings. This
commit provides a workaround based on strtol() until proper stod()
support is available.

PR-URL: https://github.com/nodejs/node/pull/37330
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-25 00:15:34 +01:00
Jiawen Geng 70f928c6a6 deps: fix V8 build issue with inline methods
PR-URL: https://github.com/nodejs/node/pull/35415
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-02-25 00:15:28 +01:00
Matheus Marchini b045e39513 deps: patch V8 to run on Xcode 8
Patch V8 (wasm/wasm-module.cc) to remove const qualifier from type
passed to template call of `OwnedVector::Of`. Xcode 8 can't convert
'OwnedVector<unsigned char>' to 'OwnedVector<const unsigned char>' when
returning from a function (which is likely a bug on Xcode, considering
this worked on the prior version of Xcode as well as newer versions).
This workaround shouldn't affect the application, since the const
qualifier is preserved in the AsmJsOffsetInformation::encoded_offset_.

There's also a V8 test passing a const-qualified type to ::Of, but since
we don't test V8 on Xcode 8, it should be fine to leave it as is.

Signed-off-by: Matheus Marchini <mmarchini@netflix.com>

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-25 00:15:23 +01:00
Joao Reis 32725d2224 deps: make v8.h compatible with VS2015
There is a bug in the most recent version of VS2015 that affects v8.h
and therefore prevents compilation of addons.

Refs: https://stackoverflow.com/q/38378693

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-25 00:15:21 +01:00
Refael Ackermann fe3cee7b37 deps: V8: forward declaration of Rtl*FunctionTable
This should be semver-patch since actual invocation is version
conditional.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-25 00:15:18 +01:00
Refael Ackermann b2d05f7349 deps: V8: patch register-arm64.h
Fixes a compilation issue on some platforms

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-25 00:15:16 +01:00
Ujjwal Sharma c7a0ab4e3d deps: patch V8 to run on older XCode versions
Patch V8 (compiler/js-heap-broker.cc) to remove the use of an optional
property, which is a fairly new C++ feature, since that requires a newer
XCode version than the minimum requirement in BUILDING.md and thus
breaks CI.

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-25 00:15:15 +01:00
Refael Ackermann 60b623ee90 deps: V8: un-cherry-pick bd019bd
Original commit message:

    [testrunner] delete ancient junit compatible format support

    Testrunner has ancient support for JUnit compatible XML output.

    This CL removes this old feature.

    R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
    CC=​machenbach@chromium.org

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: https://github.com/v8/v8/commit/bd019bdb725cebaa34327634d73936cd7003d17c

PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2021-02-25 00:15:09 +01:00
Michaël Zasso 47a90d9f37 src: update NODE_MODULE_VERSION to 92
Major V8 updates are usually API/ABI incompatible with previous
versions. This commit adapts NODE_MODULE_VERSION for V8 8.9.

Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md

PR-URL: https://github.com/nodejs/node/pull/37330
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-25 00:15:03 +01:00
Michaël Zasso f3c7078245 build: reset embedder string to "-node.0"
PR-URL: https://github.com/nodejs/node/pull/37330
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-25 00:14:59 +01:00
Michaël Zasso c5ff019a4e deps: update V8 to 8.9.255.19
PR-URL: https://github.com/nodejs/node/pull/37330
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-25 00:14:47 +01:00
Antoine du Hamel 67dc2bf208 deps: cherry-pick 8957d4677aa794c230577f234071af0 from V8 upstream
Original commit message:
	Fix GetSharedLibraryAddresses

	This patch fixes a segmentation fault which occurs when using `--prof` flag on a Darwin ARM64 architecture.
	See https://github.com/nodejs/node/issues/36656

	Change-Id: Idc3ce6c8fd8a24f76f1b356f629e37340045b51e
	Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2609413
	Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
	Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
	Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
	Cr-Commit-Position: refs/heads/master@{#72886}

Refs: https://github.com/v8/v8/commit/8957d4677aa794c230577f234071af0dadb88f7b
Fixes: https://github.com/nodejs/node/issues/36656

PR-URL: https://github.com/nodejs/node/pull/37471
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Ash Cripps <acripps@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2021-02-24 14:45:13 +01:00
Ikko Ashimine 2d52dc3efb test: fix typo in test_node_crypto.cc
settting -> setting

PR-URL: https://github.com/nodejs/node/pull/37469
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Pooja D P <Pooja.D.P@ibm.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2021-02-24 19:08:22 +05:30
Antoine du Hamel 76a073b67e module: runtime deprecate invalid package.json main entries
PR-URL: https://github.com/nodejs/node/pull/37204
Fixes: https://github.com/nodejs/node/issues/26588
Reviewed-By: Guy Bedford <guybedford@gmail.com>
Reviewed-By: Geoffrey Booth <webmaster@geoffreybooth.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2021-02-24 11:27:48 +01:00
Rich Trott 80098e605c test: remove FLAKY for test-http2-compat-client-upload-reject
As far as I know, this test hasn't failed since around the time it was
first reported in 2019.

Closes: https://github.com/nodejs/node/issues/30847

PR-URL: https://github.com/nodejs/node/pull/37462
Fixes: https://github.com/nodejs/node/issues/30847
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-02-23 15:08:27 -08:00
James M Snell ecc584251e test: fixup flaky test-performance-function-async test
The time assertion was inaccurate. Just remove it as it's
not strictly necessary

PR-URL: https://github.com/nodejs/node/pull/37493
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2021-02-23 14:58:00 -08:00
Michael Dawson 4eec919ba7 test: validate no debug info for http2
Refs: https://github.com/nodejs/node/issues/31763

This test would have helped us catch the noisy output
from http2 earlier. Currently none of the tests
fail if there is unexpected debug output.

Signed-off-by: Michael Dawson <mdawson@devrus.com>

PR-URL: https://github.com/nodejs/node/pull/37447
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
2021-02-23 17:55:10 -05:00
marsonya aecae193f2 doc: apply sentence case to headers in doc/guides
PR-URL: https://github.com/nodejs/node/pull/37478
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-02-23 11:48:18 -08:00
marsonya 15b3641bb4 doc: fix typo in doc/api/http2/md
PR-URL: https://github.com/nodejs/node/pull/37479
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-02-23 11:47:40 -08:00
Richard Lau eed3c72474 2021-02-23, Version 10.24.0 'Dubnium' (LTS)
This is a security release.

Notable changes

Vulnerabilities fixed:

- **CVE-2021-22883**: HTTP2 'unknownProtocol' cause Denial of Service by
    resource exhaustion
- **CVE-2021-22884**: DNS rebinding in --inspect
- **CVE-2021-23840**: OpenSSL - Integer overflow in CipherUpdate

PR-URL: https://github.com/nodejs-private/node-private/pull/255
2021-02-23 12:41:57 +00:00
Richard Lau 199c8bdb0d 2021-02-23, Version 12.21.0 'Erbium' (LTS)
This is a security release.

Notable changes

Vulnerabilities fixed:

- **CVE-2021-22883**: HTTP2 'unknownProtocol' cause Denial of Service by
    resource exhaustion
- **CVE-2021-22884**: DNS rebinding in --inspect
- **CVE-2021-23840**: OpenSSL - Integer overflow in CipherUpdate

PR-URL: https://github.com/nodejs-private/node-private/pull/256
2021-02-23 12:38:53 +00:00
Beth Griggs 40b805a6ef 2021-02-23, Version 14.16.0 'Fermium' (LTS)
This is a security release.

Notable changes:

Vulnerabilities fixed:

- **CVE-2021-22883**: HTTP2 'unknownProtocol' cause Denial of Service by
    resource exhaustion
- **CVE-2021-22884**: DNS rebinding in --inspect
- **CVE-2021-23840**: OpenSSL - Integer overflow in CipherUpdate

PR-URL: https://github.com/nodejs-private/node-private/pull/254
2021-02-23 12:22:11 +00:00
Beth Griggs 6f9b622737 2021-02-23, Version 15.10.0 (Current)
This is a security release.

Notable changes:

Vulnerabilities fixed:

- **CVE-2021-22883**: HTTP2 'unknownProtocol' cause Denial of Service by
    resource exhaustion
- **CVE-2021-22884**: DNS rebinding in --inspect
- **CVE-2021-23840**: OpenSSL - Integer overflow in CipherUpdate

PR-URL: https://github.com/nodejs-private/node-private/pull/253
2021-02-23 12:02:39 +00:00
Daniel Bevenius 47d6cedd85 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.

Refs: https://hackerone.com/reports/1043360
CVE-ID: CVE-2021-22883
PR-URL: https://github.com/nodejs-private/node-private/pull/246
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-23 11:25:59 +00:00
Matteo Collina 10d9efe965 src: drop localhost6 as allowed host for inspector
CVE-ID: CVE-2021-22884
Refs: https://hackerone.com/bugs?report_id=1069487
PR-URL: https://github.com/nodejs-private/node-private/pull/244
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-23 10:50:56 +00:00
Darshan Sen 954d911d98 src: fix alloc-dealloc-mismatch in node_snapshotable.h
Fixes: https://github.com/nodejs/node/issues/37442

PR-URL: https://github.com/nodejs/node/pull/37443
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2021-02-23 08:29:43 +00:00
Rich Trott 1d2ba1eb74 test: remove FLAKY designation for test-http2-client-upload-reject
The test hasn't failed in a long time as far as I can tell. The issue
may have been fixed by various event updates/changes to http2 and
related systems.

PR-URL: https://github.com/nodejs/node/pull/37461
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2021-02-22 17:14:46 -08:00
Rich Trott 32482a828b test: remove FLAKY for test-domain-error-types
PR-URL: https://github.com/nodejs/node/pull/37458
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2021-02-22 17:13:08 -08:00
bcoe 66ba0f1395 errors: remove experimental from --enable-source-maps
PR-URL: https://github.com/nodejs/node/pull/37362
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ian Sutherland <ian@iansutherland.ca>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
2021-02-22 09:02:15 -08:00
James M Snell f3eb224c83 perf_hooks: complete overhaul of the implementation
* Update the user timing implementation to conform to
  User Timing Level 3.
* Reimplement user timing and timerify with pure JavaScript
  implementations
* Simplify the C++ implementation for gc and http2 perf
* Runtime deprecate additional perf entry properties
  in favor of the standard detail argument
* Disable the `buffered` option on PerformanceObserver,
  all entries are queued and dispatched on setImmediate.
  Only entries with active observers are buffered.
* This does remove the user timing and timerify
  trace events. Because the trace_events are still
  considered experimental, those can be removed without
  a deprecation cycle. They are removed to improve
  performance and reduce complexity.

Old: `perf_hooks/usertiming.js n=100000: 92,378.01249733355`
New: perf_hooks/usertiming.js n=100000: 270,393.5280638482`

PR-URL: https://github.com/nodejs/node/pull/37136
Refs: https://github.com/nodejs/diagnostics/issues/464
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2021-02-22 08:46:11 -08:00
Rich Trott 9f2efaa6f3 doc: alphabetize vm Module class properties
PR-URL: https://github.com/nodejs/node/pull/37451
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2021-02-22 08:17:19 -08:00
Rich Trott 4085155440 doc: alphabetize crypto Cipher class entries
PR-URL: https://github.com/nodejs/node/pull/37450
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2021-02-22 08:15:24 -08:00