chore: bump node to v16.7.0 (main) (#30350)

* chore: bump node in DEPS to v16.6.0

* chore: bump node in DEPS to v16.6.1

* crypto: fix generateKeyPair with encoding 'jwk'

https://github.com/nodejs/node/pull/39319

* build: add library_files to gyp variables

https://github.com/nodejs/node/pull/39293

* debugger: rename internal module

https://github.com/nodejs/node/pull/39378

* chore: fixup patch indices

* deps: extract gtest source files to deps/googletest

https://github.com/nodejs/node/pull/39386

* crypto: fix generateKeyPair with encoding 'jwk'

https://github.com/nodejs/node/pull/39319

* deps: bump HdrHistogram_C to 0.11.2

https://github.com/nodejs/node/pull/39462

* fixup! deps: extract gtest source files to deps/googletest

* chore: bump node in DEPS to v16.6.2

* chore: update patches

* deps: reflect c-ares source tree

https://github.com/nodejs/node/pull/39653

* deps: update c-ares to 1.17.2

https://github.com/nodejs/node/pull/39724

* fix: _ReadBarrier undefined symbol error on WOA arm64

* chore: update patches

* chore: bump node in DEPS to v16.7.0

* deps: upgrade to libuv 1.42.0

https://github.com/nodejs/node/pull/39525

* chore: update filenames

* src: remove extra semicolons outside fns

* chore: fixup patch filenames

* chore: sort and alphabetize disabled tests

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
This commit is contained in:
electron-roller[bot] 2021-08-20 19:25:50 +02:00 коммит произвёл GitHub
Родитель 517b174c3c
Коммит fb990ba1eb
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
24 изменённых файлов: 351 добавлений и 230 удалений

2
DEPS
Просмотреть файл

@ -17,7 +17,7 @@ vars = {
'chromium_version':
'94.0.4590.2',
'node_version':
'v16.5.0',
'v16.7.0',
'nan_version':
# The following commit hash of NAN is v2.14.2 with *only* changes to the
# test suite. This should be updated to a specific tag when one becomes

Просмотреть файл

@ -17,7 +17,6 @@ chore_add_context_to_context_aware_module_prevention.patch
chore_read_nobrowserglobals_from_global_not_process.patch
enable_31_bit_smis_on_64bit_arch_and_ptr_compression.patch
fix_handle_boringssl_and_openssl_incompatibilities.patch
fix_-wincompatible-pointer-types-discards-qualifiers_error.patch
fix_add_v8_enable_reverse_jsargs_defines_in_common_gypi.patch
fix_allow_preventing_initializeinspector_in_env.patch
src_allow_embedders_to_provide_a_custom_pageallocator_to.patch
@ -26,3 +25,5 @@ fix_account_for_debugger_agent_race_condition.patch
fix_use_new_v8_error_message_property_access_format.patch
add_should_read_node_options_from_env_option_to_disable_node_options.patch
repl_fix_crash_when_sharedarraybuffer_disabled.patch
fix_readbarrier_undefined_symbol_error_on_woa_arm64.patch
src_remove_extra_semicolons_outside_fns.patch

Просмотреть файл

@ -21,10 +21,10 @@ index 1cc7da1ce15f43905ce607adcc1a23ed9d92948a..16af6aec3791df1363682f1ed024c522
Isolate* isolate,
const std::vector<std::string>& args,
diff --git a/src/env.h b/src/env.h
index 45210f074a0ca4d57f9fdc5019e8e82540b28b72..c0da6c53028bc9459065caf25c1221f556b22d68 100644
index 0877f5b1fe2db42acf908e0e1085626fc258ef54..25a8027b9e4ab7817e5ec153ddeccb3c1438912e 100644
--- a/src/env.h
+++ b/src/env.h
@@ -1143,6 +1143,8 @@ class Environment : public MemoryRetainer {
@@ -1142,6 +1142,8 @@ class Environment : public MemoryRetainer {
inline double trigger_async_id();
inline double get_default_trigger_async_id();

Просмотреть файл

@ -7,10 +7,10 @@ This adds GN build files for Node, so we don't have to build with GYP.
diff --git a/BUILD.gn b/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..bd26c3623d3314539609a978270d3ced1d167777
index 0000000000000000000000000000000000000000..52fb22305bb67c75c9a1cf4bc39cd901420cf7a9
--- /dev/null
+++ b/BUILD.gn
@@ -0,0 +1,400 @@
@@ -0,0 +1,401 @@
+import("//electron/build/asar.gni")
+import("//v8/gni/v8.gni")
+
@ -205,6 +205,7 @@ index 0000000000000000000000000000000000000000..bd26c3623d3314539609a978270d3ced
+ ":node_js2c",
+ "deps/cares",
+ "deps/histogram",
+ "deps/googletest:gtest",
+ "deps/llhttp",
+ "deps/nghttp2",
+ "deps/uvwasi",
@ -413,18 +414,18 @@ index 0000000000000000000000000000000000000000..bd26c3623d3314539609a978270d3ced
+}
diff --git a/deps/cares/BUILD.gn b/deps/cares/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..367d537c91be1f62e161a41e737a60cb3522b0f5
index 0000000000000000000000000000000000000000..8e0aa4b7a858ab432dca9da9ead9fcf44f6009f4
--- /dev/null
+++ b/deps/cares/BUILD.gn
@@ -0,0 +1,133 @@
+config("cares_config") {
+ include_dirs = [ "include" ]
+ include_dirs = [ "include", "src/lib" ]
+}
+static_library("cares") {
+ defines = [ "CARES_STATICLIB" ]
+ include_dirs = [
+ "include",
+ "src",
+ "src/lib",
+ ]
+ public_configs = [ ":cares_config" ]
+
@ -437,80 +438,80 @@ index 0000000000000000000000000000000000000000..367d537c91be1f62e161a41e737a60cb
+
+ sources = [
+ "include/ares.h",
+ "include/ares_dns.h",
+ "include/ares_rules.h",
+ "include/ares_version.h",
+ "include/nameser.h",
+ "src/ares__close_sockets.c",
+ "src/ares__get_hostent.c",
+ "src/ares__parse_into_addrinfo.c",
+ "src/ares__read_line.c",
+ "src/ares__readaddrinfo.c",
+ "src/ares__sortaddrinfo.c",
+ "src/ares__timeval.c",
+ "src/ares_android.c",
+ "src/ares_cancel.c",
+ "src/ares_create_query.c",
+ "src/ares_data.c",
+ "src/ares_data.h",
+ "src/ares_destroy.c",
+ "src/ares_dns.h",
+ "src/ares_expand_name.c",
+ "src/ares_expand_string.c",
+ "src/ares_fds.c",
+ "src/ares_free_hostent.c",
+ "src/ares_free_string.c",
+ "src/ares_freeaddrinfo.c",
+ "src/ares_getaddrinfo.c",
+ "src/ares_getenv.h",
+ "src/ares_gethostbyaddr.c",
+ "src/ares_gethostbyname.c",
+ "src/ares_getnameinfo.c",
+ "src/ares_getopt.c",
+ "src/ares_getopt.h",
+ "src/ares_getsock.c",
+ "src/ares_inet_net_pton.h",
+ "src/ares_init.c",
+ "src/ares_ipv6.h",
+ "src/ares_library_init.c",
+ "src/ares_library_init.h",
+ "src/ares_llist.c",
+ "src/ares_llist.h",
+ "src/ares_mkquery.c",
+ "src/ares_nowarn.c",
+ "src/ares_nowarn.h",
+ "src/ares_options.c",
+ "src/ares_parse_a_reply.c",
+ "src/ares_parse_aaaa_reply.c",
+ "src/ares_parse_caa_reply.c",
+ "src/ares_parse_mx_reply.c",
+ "src/ares_parse_naptr_reply.c",
+ "src/ares_parse_ns_reply.c",
+ "src/ares_parse_ptr_reply.c",
+ "src/ares_parse_soa_reply.c",
+ "src/ares_parse_srv_reply.c",
+ "src/ares_parse_txt_reply.c",
+ "src/ares_platform.h",
+ "src/ares_private.h",
+ "src/ares_process.c",
+ "src/ares_query.c",
+ "src/ares_search.c",
+ "src/ares_send.c",
+ "src/ares_setup.h",
+ "src/ares_strcasecmp.c",
+ "src/ares_strcasecmp.h",
+ "src/ares_strdup.c",
+ "src/ares_strdup.h",
+ "src/ares_strerror.c",
+ "src/ares_strsplit.c",
+ "src/ares_timeout.c",
+ "src/ares_version.c",
+ "src/ares_writev.c",
+ "src/ares_writev.h",
+ "src/bitncmp.c",
+ "src/bitncmp.h",
+ "src/inet_net_pton.c",
+ "src/inet_ntop.c",
+ "src/setup_once.h",
+ "src/lib/ares_android.c",
+ "src/lib/ares_cancel.c",
+ "src/lib/ares__close_sockets.c",
+ "src/lib/ares_create_query.c",
+ "src/lib/ares_data.c",
+ "src/lib/ares_data.h",
+ "src/lib/ares_destroy.c",
+ "src/lib/ares_expand_name.c",
+ "src/lib/ares_expand_string.c",
+ "src/lib/ares_fds.c",
+ "src/lib/ares_free_hostent.c",
+ "src/lib/ares_free_string.c",
+ "src/lib/ares_freeaddrinfo.c",
+ "src/lib/ares_getenv.h",
+ "src/lib/ares_getaddrinfo.c",
+ "src/lib/ares_gethostbyaddr.c",
+ "src/lib/ares_gethostbyname.c",
+ "src/lib/ares__get_hostent.c",
+ "src/lib/ares_getnameinfo.c",
+ "src/lib/ares_getsock.c",
+ "src/lib/ares_init.c",
+ "src/lib/ares_ipv6.h",
+ "src/lib/ares_library_init.c",
+ "src/lib/ares_library_init.h",
+ "src/lib/ares_llist.c",
+ "src/lib/ares_llist.h",
+ "src/lib/ares_mkquery.c",
+ "src/lib/ares_nameser.h",
+ "src/lib/ares_nowarn.c",
+ "src/lib/ares_nowarn.h",
+ "src/lib/ares_options.c",
+ "src/lib/ares__parse_into_addrinfo.c",
+ "src/lib/ares_parse_aaaa_reply.c",
+ "src/lib/ares_parse_a_reply.c",
+ "src/lib/ares_parse_caa_reply.c",
+ "src/lib/ares_parse_mx_reply.c",
+ "src/lib/ares_parse_naptr_reply.c",
+ "src/lib/ares_parse_ns_reply.c",
+ "src/lib/ares_parse_ptr_reply.c",
+ "src/lib/ares_parse_soa_reply.c",
+ "src/lib/ares_parse_srv_reply.c",
+ "src/lib/ares_parse_txt_reply.c",
+ "src/lib/ares_platform.h",
+ "src/lib/ares_private.h",
+ "src/lib/ares_process.c",
+ "src/lib/ares_query.c",
+ "src/lib/ares__read_line.c",
+ "src/lib/ares__readaddrinfo.c",
+ "src/lib/ares_search.c",
+ "src/lib/ares_send.c",
+ "src/lib/ares_setup.h",
+ "src/lib/ares__sortaddrinfo.c",
+ "src/lib/ares_strcasecmp.c",
+ "src/lib/ares_strcasecmp.h",
+ "src/lib/ares_strdup.c",
+ "src/lib/ares_strdup.h",
+ "src/lib/ares_strerror.c",
+ "src/lib/ares_strsplit.c",
+ "src/lib/ares_timeout.c",
+ "src/lib/ares__timeval.c",
+ "src/lib/ares_version.c",
+ "src/lib/ares_writev.c",
+ "src/lib/ares_writev.h",
+ "src/lib/bitncmp.c",
+ "src/lib/bitncmp.h",
+ "src/lib/inet_net_pton.c",
+ "src/lib/inet_ntop.c",
+ "src/lib/ares_inet_net_pton.h",
+ "src/lib/setup_once.h",
+ "src/tools/ares_getopt.c",
+ "src/tools/ares_getopt.h",
+ ]
+
+ if (!is_win) {
@ -526,11 +527,11 @@ index 0000000000000000000000000000000000000000..367d537c91be1f62e161a41e737a60cb
+ defines += [ "CARES_PULL_WS2TCPIP_H=1" ]
+ include_dirs += [ "config/win32" ]
+ sources += [
+ "src/ares_getenv.c",
+ "src/ares_iphlpapi.h",
+ "src/ares_platform.c",
+ "src/config-win32.h",
+ "src/windows_port.c",
+ "src/lib/ares_getenv.c",
+ "src/lib/ares_iphlpapi.h",
+ "src/lib/ares_platform.c",
+ "src/lib/config-win32.h",
+ "src/lib/windows_port.c",
+ ]
+ libs += [
+ "ws2_32.lib",
@ -550,18 +551,89 @@ index 0000000000000000000000000000000000000000..367d537c91be1f62e161a41e737a60cb
+ sources += [ "config/darwin/ares_config.h" ]
+ }
+}
diff --git a/deps/googletest/BUILD.gn b/deps/googletest/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..34c4289eb35af910a470db6ef40abc91954ed848
--- /dev/null
+++ b/deps/googletest/BUILD.gn
@@ -0,0 +1,63 @@
+config("gtest_config") {
+ include_dirs = [ "include" ]
+ defines = [ "UNIT_TEST" ]
+}
+
+static_library("gtest") {
+ include_dirs = [
+ "include",
+ "." # src
+ ]
+
+ public_configs = [ ":gtest_config" ]
+
+ cflags_cc = [
+ "-Wno-c++98-compat-extra-semi",
+ "-Wno-unused-const-variable"
+ ]
+
+ defines = [
+ "GTEST_HAS_POSIX_RE=0",
+ "GTEST_LANG_CXX11=1",
+ ]
+
+ sources = [
+ "include/gtest/gtest_pred_impl.h",
+ "include/gtest/gtest_prod.h",
+ "include/gtest/gtest-death-test.h",
+ "include/gtest/gtest-matchers.h",
+ "include/gtest/gtest-message.h",
+ "include/gtest/gtest-param-test.h",
+ "include/gtest/gtest-printers.h",
+ "include/gtest/gtest-spi.h",
+ "include/gtest/gtest-test-part.h",
+ "include/gtest/gtest-typed-test.h",
+ "include/gtest/gtest.h",
+ "include/gtest/internal/gtest-death-test-internal.h",
+ "include/gtest/internal/gtest-filepath.h",
+ "include/gtest/internal/gtest-internal.h",
+ "include/gtest/internal/gtest-param-util.h",
+ "include/gtest/internal/gtest-port-arch.h",
+ "include/gtest/internal/gtest-port.h",
+ "include/gtest/internal/gtest-string.h",
+ "include/gtest/internal/gtest-type-util.h",
+ "include/gtest/internal/custom/gtest-port.h",
+ "include/gtest/internal/custom/gtest-printers.h",
+ "include/gtest/internal/custom/gtest.h",
+ "src/gtest-all.cc",
+ "src/gtest-death-test.cc",
+ "src/gtest-filepath.cc",
+ "src/gtest-internal-inl.h",
+ "src/gtest-matchers.cc",
+ "src/gtest-port.cc",
+ "src/gtest-printers.cc",
+ "src/gtest-test-part.cc",
+ "src/gtest-typed-test.cc",
+ "src/gtest.cc",
+ ]
+}
+
+static_library("gtest_main") {
+ deps = [ ":gtest" ]
+ sources = [ "src/gtest_main.cc" ]
+}
diff --git a/deps/histogram/BUILD.gn b/deps/histogram/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..e741a2a9c238a782a674ddcb9a1f98de5b36db79
index 0000000000000000000000000000000000000000..8ba89a379fa2937b4b2fa5092f18727c7d0788a6
--- /dev/null
+++ b/deps/histogram/BUILD.gn
@@ -0,0 +1,17 @@
@@ -0,0 +1,19 @@
+config("histogram_config") {
+ include_dirs = [ "src" ]
+
+ cflags = [
+ "-Wno-implicit-function-declaration",
+ "-Wno-incompatible-pointer-types",
+ "-Wno-unused-function",
+ "-Wno-atomic-alignment",
+ ]
+}
+
@ -650,10 +722,10 @@ index 0000000000000000000000000000000000000000..58eb2f87990d2cbad711aa39f2a73b20
+}
diff --git a/deps/uv/BUILD.gn b/deps/uv/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..6f30ab169f24e2d8b1c4ec4e927451d82194018c
index 0000000000000000000000000000000000000000..11a65c2334acc653614577fa1f95791dad72e9e3
--- /dev/null
+++ b/deps/uv/BUILD.gn
@@ -0,0 +1,192 @@
@@ -0,0 +1,193 @@
+config("libuv_config") {
+ include_dirs = [ "include" ]
+
@ -826,6 +898,7 @@ index 0000000000000000000000000000000000000000..6f30ab169f24e2d8b1c4ec4e927451d8
+ if (is_linux) {
+ defines += [ "_GNU_SOURCE" ]
+ sources += [
+ "src/unix/epoll.c",
+ "src/unix/linux-core.c",
+ "src/unix/linux-inotify.c",
+ "src/unix/linux-syscalls.c",
@ -892,10 +965,10 @@ index 0000000000000000000000000000000000000000..2c9d2826c85bdd033f1df1d6188df636
+}
diff --git a/filenames.json b/filenames.json
new file mode 100644
index 0000000000000000000000000000000000000000..6ce2f7899ffc39e145a767685a51597fa4473e50
index 0000000000000000000000000000000000000000..4f5588c17cf9720dab05a82ee64ba56b1860ab78
--- /dev/null
+++ b/filenames.json
@@ -0,0 +1,544 @@
@@ -0,0 +1,548 @@
+// This file is automatically generated by generate_gn_filenames_json.py
+// DO NOT EDIT
+{
@ -913,12 +986,6 @@ index 0000000000000000000000000000000000000000..6ce2f7899ffc39e145a767685a51597f
+ ]
+ },
+ {
+ "dest_dir": "include/node//cppgc/",
+ "files": [
+ "//v8/include/cppgc/common.h"
+ ]
+ },
+ {
+ "dest_dir": "include/node//",
+ "files": [
+ "//v8/include/v8-internal.h",
@ -938,6 +1005,18 @@ index 0000000000000000000000000000000000000000..6ce2f7899ffc39e145a767685a51597f
+ ]
+ },
+ {
+ "dest_dir": "include/node//cppgc/",
+ "files": [
+ "//v8/include/cppgc/common.h"
+ ]
+ },
+ {
+ "dest_dir": "include/node//",
+ "files": [
+ "deps/uv/include/uv.h"
+ ]
+ },
+ {
+ "dest_dir": "include/node//uv/",
+ "files": [
+ "deps/uv/include/uv/aix.h",
@ -956,12 +1035,6 @@ index 0000000000000000000000000000000000000000..6ce2f7899ffc39e145a767685a51597f
+ "deps/uv/include/uv/version.h",
+ "deps/uv/include/uv/win.h"
+ ]
+ },
+ {
+ "dest_dir": "include/node//",
+ "files": [
+ "deps/uv/include/uv.h"
+ ]
+ }
+ ],
+ "library_files": [
@ -1025,6 +1098,7 @@ index 0000000000000000000000000000000000000000..6ce2f7899ffc39e145a767685a51597f
+ "lib/timers/promises.js",
+ "lib/path/win32.js",
+ "lib/path/posix.js",
+ "lib/stream/consumers.js",
+ "lib/stream/promises.js",
+ "lib/stream/web.js",
+ "lib/internal/constants.js",
@ -1100,6 +1174,7 @@ index 0000000000000000000000000000000000000000..6ce2f7899ffc39e145a767685a51597f
+ "lib/internal/webstreams/writablestream.js",
+ "lib/internal/webstreams/readablestream.js",
+ "lib/internal/webstreams/queuingstrategies.js",
+ "lib/internal/webstreams/encoding.js",
+ "lib/internal/webstreams/transformstream.js",
+ "lib/internal/webstreams/transfer.js",
+ "lib/internal/bootstrap/loaders.js",
@ -1155,7 +1230,7 @@ index 0000000000000000000000000000000000000000..6ce2f7899ffc39e145a767685a51597f
+ "lib/internal/child_process/serialization.js",
+ "lib/internal/debugger/inspect_repl.js",
+ "lib/internal/debugger/inspect_client.js",
+ "lib/internal/debugger/_inspect.js",
+ "lib/internal/debugger/inspect.js",
+ "lib/internal/worker/io.js",
+ "lib/internal/worker/js_transferable.js",
+ "lib/internal/main/repl.js",
@ -1193,6 +1268,8 @@ index 0000000000000000000000000000000000000000..6ce2f7899ffc39e145a767685a51597f
+ "lib/internal/fs/dir.js",
+ "lib/internal/fs/streams.js",
+ "lib/internal/fs/utils.js",
+ "lib/internal/fs/cp/cp.js",
+ "lib/internal/fs/cp/cp-sync.js",
+ "lib/internal/perf/nodetiming.js",
+ "lib/internal/perf/usertiming.js",
+ "lib/internal/perf/performance_entry.js",
@ -1646,7 +1723,7 @@ index 0000000000000000000000000000000000000000..d1d6b51e8c0c5bc6a5d09e217eb30483
+ args = rebase_path(inputs + outputs, root_build_dir)
+}
diff --git a/src/node_version.h b/src/node_version.h
index 0523885212d429ee5c4142137524cb127d8adc97..116815364055a01f0c0619f0f22e9a387c2f2e2e 100644
index ee1263b8eaaab696b213b308d4aeb01359a289c8..5c4bda9aa24ee8f5db89d20772c28e66d574bcaa 100644
--- a/src/node_version.h
+++ b/src/node_version.h
@@ -89,7 +89,10 @@
@ -1679,7 +1756,7 @@ index 0000000000000000000000000000000000000000..01f62d4ae6e3b9d539444e3dff069f00
+ main(sys.argv[1:])
diff --git a/tools/generate_gn_filenames_json.py b/tools/generate_gn_filenames_json.py
new file mode 100755
index 0000000000000000000000000000000000000000..ece315d915f0a7b2c8e823caccba7ffec8420fdf
index 0000000000000000000000000000000000000000..8f884a41f57630ac432eb85ebfc9b8bc82cddaca
--- /dev/null
+++ b/tools/generate_gn_filenames_json.py
@@ -0,0 +1,75 @@
@ -1689,16 +1766,17 @@ index 0000000000000000000000000000000000000000..ece315d915f0a7b2c8e823caccba7ffe
+import sys
+
+import install
+import subprocess
+
+from utils import SearchFiles
+
+def LoadPythonDictionary(path):
+ file_string = open(path).read()
+ try:
+ file_data = eval(file_string, {'__builtins__': None}, None)
+ except SyntaxError, e:
+ except SyntaxError as e:
+ e.filename = path
+ raise
+ except Exception, e:
+ except Exception as e:
+ raise Exception("Unexpected error while reading %s: %s" % (path, str(e)))
+
+ assert isinstance(file_data, dict), "%s does not eval to a dictionary" % path
@ -1732,8 +1810,7 @@ index 0000000000000000000000000000000000000000..ece315d915f0a7b2c8e823caccba7ffe
+ files = [f.replace('deps/v8/', '//v8/', 1) for f in files]
+ return files
+
+ cwd = os.path.join(os.getcwd(), 'tools/search_files.py')
+ lib_files = subprocess.check_output('{} {} --ext js lib'.format('python3', cwd), shell=True).split()
+ lib_files = SearchFiles('lib', 'js')
+ out['library_files'] = filter_v8_files(lib_files)
+ out['library_files'] += filter_v8_files(node_gyp['variables']['deps_files'])
+

Просмотреть файл

@ -35,7 +35,7 @@ index b45af42d12ff7df8a9e125e87f51af3456811c23..c84ff7feb07aebf656ada7e37d812d9d
async function* watch(filename, options = {}) {
const path = toNamespacedPath(getValidatedPath(filename));
diff --git a/src/node_native_module.cc b/src/node_native_module.cc
index 2642982330e8cff166d10682af3d847105dc5c2e..f5491b416203877b89db69bde44f4ff50901ed8b 100644
index c4fd96c75c1862289d9cabccfbc9bfc3a5ee523d..3c9e5498e6b9c62813ef93ca77558ead753ac797 100644
--- a/src/node_native_module.cc
+++ b/src/node_native_module.cc
@@ -20,6 +20,7 @@ NativeModuleLoader NativeModuleLoader::instance_;

Просмотреть файл

@ -8,7 +8,7 @@ modules from being used in the renderer process. This should be upstreamed as
a customizable error message.
diff --git a/src/node_binding.cc b/src/node_binding.cc
index 3c05e553c8e61456205a1f632c903055650a3fc6..292204024f64e6457f1344db1c74d006b7233c82 100644
index 8b8389ae53608afedc9cc0ad2a6c8461b7aa893e..e79ddab7d73c6297ef1dc74b2a0ce469bf49e37c 100644
--- a/src/node_binding.cc
+++ b/src/node_binding.cc
@@ -4,6 +4,7 @@
@ -19,7 +19,7 @@ index 3c05e553c8e61456205a1f632c903055650a3fc6..292204024f64e6457f1344db1c74d006
#include "util.h"
#include <string>
@@ -465,7 +466,12 @@ void DLOpen(const FunctionCallbackInfo<Value>& args) {
@@ -466,7 +467,12 @@ void DLOpen(const FunctionCallbackInfo<Value>& args) {
if (mp->nm_context_register_func == nullptr) {
if (env->force_context_aware()) {
dlib->Close();

Просмотреть файл

@ -8,10 +8,10 @@ they use themselves as the entry point. We should try to upstream some form
of this.
diff --git a/lib/internal/bootstrap/pre_execution.js b/lib/internal/bootstrap/pre_execution.js
index c90a19d5eed72a55cb9ee89dd2471a32a30c1377..68a52e1ce1f0a2bf4fc2b19ea735948cf6586e06 100644
index 076eb528af016b9143985685bc6d1e7c14fa80e6..40370102a2f0b6e692761626653c232a77810fbc 100644
--- a/lib/internal/bootstrap/pre_execution.js
+++ b/lib/internal/bootstrap/pre_execution.js
@@ -103,10 +103,12 @@ function patchProcessObject(expandArgv1) {
@@ -104,10 +104,12 @@ function patchProcessObject(expandArgv1) {
if (expandArgv1 && process.argv[1] &&
!StringPrototypeStartsWith(process.argv[1], '-')) {
// Expand process.argv[1] into a full path.
@ -29,10 +29,10 @@ index c90a19d5eed72a55cb9ee89dd2471a32a30c1377..68a52e1ce1f0a2bf4fc2b19ea735948c
// TODO(joyeecheung): most of these should be deprecated and removed,
diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js
index afb1eca73a2d91b76d098114de18ad7e29846e5c..01070c214e961d31ac508cfca669df2733abbff6 100644
index 40655b66fd2a50dac01f88d38457de4602022381..95147ec8a95761b0654e8403578c2c67191834ad 100644
--- a/lib/internal/modules/cjs/loader.js
+++ b/lib/internal/modules/cjs/loader.js
@@ -1069,6 +1069,13 @@ Module.prototype._compile = function(content, filename) {
@@ -1075,6 +1075,13 @@ Module.prototype._compile = function(content, filename) {
if (getOptionValue('--inspect-brk') && process._eval == null) {
if (!resolvedArgv) {
// We enter the repl if we're not given a filename argument.

Просмотреть файл

@ -8,7 +8,7 @@ node modules will have different (wrong) ideas about how v8 structs are laid
out in memory on 64-bit machines, and will summarily fail to work.
diff --git a/common.gypi b/common.gypi
index 65729132b233dc5801f142f05a00253ac951e66a..e717a0b76513401daee6910502ea580485a20612 100644
index df463864778a30b2d2fd769a82ab3c066730b559..ae3f2d69f76f46cbb8cb3f8b32da592160b66009 100644
--- a/common.gypi
+++ b/common.gypi
@@ -64,7 +64,7 @@

Просмотреть файл

@ -9,10 +9,10 @@ modules to sandboxed renderers.
TODO(codebytere): remove and replace with a public facing API.
diff --git a/src/node_binding.cc b/src/node_binding.cc
index b5e42af79510b690a1687d4d32a2a583704a397f..3c05e553c8e61456205a1f632c903055650a3fc6 100644
index 3c9776e655d0e458cdd3ab7c3adafff7de339cc5..8b8389ae53608afedc9cc0ad2a6c8461b7aa893e 100644
--- a/src/node_binding.cc
+++ b/src/node_binding.cc
@@ -607,6 +607,10 @@ void GetInternalBinding(const FunctionCallbackInfo<Value>& args) {
@@ -608,6 +608,10 @@ void GetInternalBinding(const FunctionCallbackInfo<Value>& args) {
args.GetReturnValue().Set(exports);
}

Просмотреть файл

@ -6,10 +6,10 @@ Subject: feat: add uv_loop watcher_queue code
Electron's Node Integration works by listening to Node's backend file descriptor in a separate thread; when an event is ready the backend file descriptor will trigger a new event for it, and the main thread will then iterate the libuv loop. For certain operations (ex. adding a timeout task) the backend file descriptor isn't informed, & as a result the main thread doesn't know it needs to iterate the libuv loop so the timeout task will never execute until something else trigger a new event. This commit should be removed when https://github.com/libuv/libuv/pull/1921 is merged
diff --git a/deps/uv/include/uv.h b/deps/uv/include/uv.h
index 1e1fc94bfcc3dca90620d09fab1fe60060e17056..253f23e14d09a8c8d5c51545f71b7f03f064dbd6 100644
index 77503bde9f28e4769ae3832fb2117e632e9c9268..49930027bdad013d8fcbc375c534d67cc5201bc7 100644
--- a/deps/uv/include/uv.h
+++ b/deps/uv/include/uv.h
@@ -1789,6 +1789,8 @@ union uv_any_req {
@@ -1802,6 +1802,8 @@ union uv_any_req {
struct uv_loop_s {
/* User data - use this for whatever. */
void* data;
@ -19,10 +19,10 @@ index 1e1fc94bfcc3dca90620d09fab1fe60060e17056..253f23e14d09a8c8d5c51545f71b7f03
unsigned int active_handles;
void* handle_queue[2];
diff --git a/deps/uv/src/unix/core.c b/deps/uv/src/unix/core.c
index 63f268f795f10072fe1c430d1242e3774bf9eea9..2811f063eef7329f87fbe43b28729c6b25f0a75b 100644
index 71e9c525c4a77b8b5322e8516c58329100a8d951..a6425294086ff2f1435fdd6866380d3aaaf68200 100644
--- a/deps/uv/src/unix/core.c
+++ b/deps/uv/src/unix/core.c
@@ -897,8 +897,11 @@ void uv__io_start(uv_loop_t* loop, uv__io_t* w, unsigned int events) {
@@ -906,8 +906,11 @@ void uv__io_start(uv_loop_t* loop, uv__io_t* w, unsigned int events) {
return;
#endif
@ -35,7 +35,7 @@ index 63f268f795f10072fe1c430d1242e3774bf9eea9..2811f063eef7329f87fbe43b28729c6b
if (loop->watchers[w->fd] == NULL) {
loop->watchers[w->fd] = w;
@@ -933,8 +936,11 @@ void uv__io_stop(uv_loop_t* loop, uv__io_t* w, unsigned int events) {
@@ -942,8 +945,11 @@ void uv__io_stop(uv_loop_t* loop, uv__io_t* w, unsigned int events) {
loop->nfds--;
}
}
@ -48,7 +48,7 @@ index 63f268f795f10072fe1c430d1242e3774bf9eea9..2811f063eef7329f87fbe43b28729c6b
}
@@ -951,6 +957,8 @@ void uv__io_close(uv_loop_t* loop, uv__io_t* w) {
@@ -960,6 +966,8 @@ void uv__io_close(uv_loop_t* loop, uv__io_t* w) {
void uv__io_feed(uv_loop_t* loop, uv__io_t* w) {
if (QUEUE_EMPTY(&w->pending_queue))
QUEUE_INSERT_TAIL(&loop->pending_queue, &w->pending_queue);

Просмотреть файл

@ -6,10 +6,10 @@ Subject: feat: initialize asar support
This patch initializes asar support in Node.js.
diff --git a/lib/internal/bootstrap/pre_execution.js b/lib/internal/bootstrap/pre_execution.js
index 3b69844dc4ea0c4e17a74ea514c4f0dc390e3a61..c90a19d5eed72a55cb9ee89dd2471a32a30c1377 100644
index 0906b35edc5ff38fb7730eba9cebcc0e472fe56c..076eb528af016b9143985685bc6d1e7c14fa80e6 100644
--- a/lib/internal/bootstrap/pre_execution.js
+++ b/lib/internal/bootstrap/pre_execution.js
@@ -75,6 +75,7 @@ function prepareMainThreadExecution(expandArgv1 = false) {
@@ -76,6 +76,7 @@ function prepareMainThreadExecution(expandArgv1 = false) {
assert(!CJSLoader.hasLoadedAnyUserCJSModule);
loadPreloadModules();
initializeFrozenIntrinsics();
@ -17,7 +17,7 @@ index 3b69844dc4ea0c4e17a74ea514c4f0dc390e3a61..c90a19d5eed72a55cb9ee89dd2471a32
}
function patchProcessObject(expandArgv1) {
@@ -475,6 +476,10 @@ function loadPreloadModules() {
@@ -482,6 +483,10 @@ function loadPreloadModules() {
}
}

Просмотреть файл

@ -1,24 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shelley Vohr <shelley.vohr@gmail.com>
Date: Tue, 1 Sep 2020 10:17:37 -0700
Subject: fix: -Wincompatible-pointer-types-discards-qualifiers error
Fixes an 'assigment to 'char *' from 'const char *'' error in libuv.
This will be upstreamed.
diff --git a/deps/uv/src/win/fs.c b/deps/uv/src/win/fs.c
index a083b5e82c8c4294d45a65ab4d01fa3ceb650cdd..5eaaee3b0c6a5f52e10b5749eae4b21c5c059322 100644
--- a/deps/uv/src/win/fs.c
+++ b/deps/uv/src/win/fs.c
@@ -1237,8 +1237,8 @@ void fs__mktemp(uv_fs_t* req, uv__fs_mktemp_func func) {
size_t len;
uint64_t v;
char* path;
-
- path = req->path;
+
+ path = (char*) req->path;
len = wcslen(req->file.pathw);
ep = req->file.pathw + len;
if (len < num_x || wcsncmp(ep - num_x, L"XXXXXX", num_x)) {

Просмотреть файл

@ -7,7 +7,7 @@ common.gypi is a file that's included in the node header bundle, despite
the fact that we do not build node with gyp.
diff --git a/common.gypi b/common.gypi
index 71862791dae3be5f05fbe00b91df6240473debb1..65729132b233dc5801f142f05a00253ac951e66a 100644
index fcd1cebeb560079b8b3b520e85c6c53bd1e779e0..df463864778a30b2d2fd769a82ab3c066730b559 100644
--- a/common.gypi
+++ b/common.gypi
@@ -81,6 +81,23 @@

Просмотреть файл

@ -6,7 +6,7 @@ Subject: fix: add v8_enable_reverse_jsargs defines in common.gypi
This can be removed once node upgrades V8 and inevitably has to do this exact same thing. Also hi node people if you are looking at this.
diff --git a/common.gypi b/common.gypi
index e717a0b76513401daee6910502ea580485a20612..e7c50b5e46624b537de3ffed51fc21a15b666dc8 100644
index ae3f2d69f76f46cbb8cb3f8b32da592160b66009..9e25bbed1802c9531701235c438fe33076c3f326 100644
--- a/common.gypi
+++ b/common.gypi
@@ -65,6 +65,7 @@
@ -25,7 +25,7 @@ index e717a0b76513401daee6910502ea580485a20612..e7c50b5e46624b537de3ffed51fc21a1
##### end V8 defaults #####
# When building native modules using 'npm install' with the system npm,
@@ -381,6 +383,9 @@
@@ -384,6 +386,9 @@
['v8_enable_pointer_compression == 1 or v8_enable_31bit_smis_on_64bit_arch == 1', {
'defines': ['V8_31BIT_SMIS_ON_64BIT_ARCH'],
}],

Просмотреть файл

@ -51,10 +51,10 @@ index b3b1ea908253b9240cc37931f34b2a8c8c9fa3ab..dc37298aa0e13bb79030123f38070d02
return emit_filehandle_warning_;
}
diff --git a/src/env.h b/src/env.h
index e1b89261fcb1e94220424aae2273db9fba010331..45210f074a0ca4d57f9fdc5019e8e82540b28b72 100644
index 24b4a48b5f9657cc115aaa50e0f7354534ed5484..0877f5b1fe2db42acf908e0e1085626fc258ef54 100644
--- a/src/env.h
+++ b/src/env.h
@@ -1199,6 +1199,7 @@ class Environment : public MemoryRetainer {
@@ -1198,6 +1198,7 @@ class Environment : public MemoryRetainer {
inline bool owns_process_state() const;
inline bool owns_inspector() const;
inline bool tracks_unmanaged_fds() const;

Просмотреть файл

@ -489,12 +489,12 @@ index af2146982c7a3bf7bd7527f44e4b17a3b605026e..f6b91f675cfea367c608892dee078b56
// Non-XOF hash functions should accept valid outputLength options as well.
assert.strictEqual(crypto.createHash('sha224', { outputLength: 28 })
diff --git a/test/parallel/test-crypto-key-objects.js b/test/parallel/test-crypto-key-objects.js
index 3159b0da3f2901aab17e0b360eda84decaed9eb3..995b7f6b45bd0aa83eef143b15dede5658ac1bc0 100644
index aa03a0379a291a4632b68d428d4e1875d60166a3..a6862ace1fa73473b406fe4513b9e7a99296d365 100644
--- a/test/parallel/test-crypto-key-objects.js
+++ b/test/parallel/test-crypto-key-objects.js
@@ -310,11 +310,11 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
@@ -307,11 +307,11 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
}, common.hasOpenSSL3 ? {
message: 'Failed to read private key',
message: 'error:1E08010C:DECODER routines::unsupported',
} : {
- message: 'error:0909006C:PEM routines:get_name:no start line',
- code: 'ERR_OSSL_PEM_NO_START_LINE',
@ -509,7 +509,7 @@ index 3159b0da3f2901aab17e0b360eda84decaed9eb3..995b7f6b45bd0aa83eef143b15dede56
});
// This should not abort either: https://github.com/nodejs/node/issues/29904
@@ -337,8 +337,8 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
@@ -334,8 +334,8 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
message: /error:1E08010C:DECODER routines::unsupported/,
library: 'DECODER routines'
} : {
@ -520,7 +520,7 @@ index 3159b0da3f2901aab17e0b360eda84decaed9eb3..995b7f6b45bd0aa83eef143b15dede56
});
}
@@ -352,6 +352,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
@@ -349,6 +349,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
d: 'wVK6M3SMhQh3NK-7GRrSV-BVWQx1FO5pW8hhQeu_NdA',
kty: 'OKP'
} },
@ -528,7 +528,7 @@ index 3159b0da3f2901aab17e0b360eda84decaed9eb3..995b7f6b45bd0aa83eef143b15dede56
{ private: fixtures.readKey('ed448_private.pem', 'ascii'),
public: fixtures.readKey('ed448_public.pem', 'ascii'),
keyType: 'ed448',
@@ -383,6 +384,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
@@ -380,6 +381,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
'S0jlSYJk',
kty: 'OKP'
} },
@ -536,7 +536,7 @@ index 3159b0da3f2901aab17e0b360eda84decaed9eb3..995b7f6b45bd0aa83eef143b15dede56
].forEach((info) => {
const keyType = info.keyType;
@@ -424,7 +426,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
@@ -421,7 +423,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
}
}
});
@ -545,7 +545,7 @@ index 3159b0da3f2901aab17e0b360eda84decaed9eb3..995b7f6b45bd0aa83eef143b15dede56
[
{ private: fixtures.readKey('ec_p256_private.pem', 'ascii'),
public: fixtures.readKey('ec_p256_public.pem', 'ascii'),
@@ -517,7 +519,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
@@ -514,7 +516,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
}
}
});
@ -554,16 +554,16 @@ index 3159b0da3f2901aab17e0b360eda84decaed9eb3..995b7f6b45bd0aa83eef143b15dede56
{
// Reading an encrypted key without a passphrase should fail.
assert.throws(() => createPrivateKey(privateDsa), common.hasOpenSSL3 ? {
@@ -550,7 +552,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
@@ -546,7 +548,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
}), {
message: common.hasOpenSSL3 ?
'error:07880109:common libcrypto routines::interrupted or cancelled' :
'error:1E08010C:DECODER routines::unsupported' :
- /bad decrypt/
+ /bad decrypt|BAD_DECRYPT/
+ /bad decrypt|error:1e000065:Cipher functions:OPENSSL_internal:BAD_DECRYPT/
});
const publicKey = createPublicKey(publicDsa);
@@ -573,7 +575,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
@@ -569,7 +571,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
() => privateKey.export({ format: 'jwk' }),
{ code: 'ERR_CRYPTO_JWK_UNSUPPORTED_KEY_TYPE' });
}
@ -572,7 +572,7 @@ index 3159b0da3f2901aab17e0b360eda84decaed9eb3..995b7f6b45bd0aa83eef143b15dede56
{
// Test RSA-PSS.
{
@@ -719,7 +721,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
@@ -715,7 +717,7 @@ const privateDsa = fixtures.readKey('dsa_private_encrypted_1025.pem',
}
}
}
@ -582,28 +582,28 @@ index 3159b0da3f2901aab17e0b360eda84decaed9eb3..995b7f6b45bd0aa83eef143b15dede56
// Exporting an encrypted private key requires a cipher
const privateKey = createPrivateKey(privatePem);
diff --git a/test/parallel/test-crypto-keygen.js b/test/parallel/test-crypto-keygen.js
index 4612fc4a1ac40a27ccc2c70ac11e32f0fdcaa2c3..a4d604cf0318cfb0771e3573245b1ed989991473 100644
index ed5986e6bfd4211a1cc22fa94aaf68fc1013133f..08986a6793a39b275277c8bf188316f669a53c63 100644
--- a/test/parallel/test-crypto-keygen.js
+++ b/test/parallel/test-crypto-keygen.js
@@ -300,6 +300,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
@@ -297,6 +297,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
}));
}
+ /*
+/*
{
// Test RSA-PSS.
generateKeyPair('rsa-pss', {
@@ -342,7 +343,9 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
@@ -339,7 +340,9 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
testSignVerify(publicKey, privateKey);
}));
}
+*/
+ /*
+/*
{
const privateKeyEncoding = {
type: 'pkcs8',
@@ -412,6 +415,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
@@ -409,6 +412,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
});
}));
}
@ -611,7 +611,7 @@ index 4612fc4a1ac40a27ccc2c70ac11e32f0fdcaa2c3..a4d604cf0318cfb0771e3573245b1ed9
{
// Test async elliptic curve key generation, e.g. for ECDSA, with a SEC1
@@ -436,6 +440,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
@@ -433,6 +437,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
testSignVerify(publicKey, privateKey);
}));
@ -619,7 +619,7 @@ index 4612fc4a1ac40a27ccc2c70ac11e32f0fdcaa2c3..a4d604cf0318cfb0771e3573245b1ed9
// Test async elliptic curve key generation, e.g. for ECDSA, with a SEC1
// private key with paramEncoding explicit.
generateKeyPair('ec', {
@@ -457,6 +462,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
@@ -454,6 +459,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
testSignVerify(publicKey, privateKey);
}));
@ -627,7 +627,7 @@ index 4612fc4a1ac40a27ccc2c70ac11e32f0fdcaa2c3..a4d604cf0318cfb0771e3573245b1ed9
// Do the same with an encrypted private key.
generateKeyPair('ec', {
@@ -492,6 +498,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
@@ -489,6 +495,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
testSignVerify(publicKey, { key: privateKey, passphrase: 'secret' });
}));
@ -635,7 +635,7 @@ index 4612fc4a1ac40a27ccc2c70ac11e32f0fdcaa2c3..a4d604cf0318cfb0771e3573245b1ed9
// Do the same with an encrypted private key with paramEncoding explicit.
generateKeyPair('ec', {
namedCurve: 'prime256v1',
@@ -525,6 +532,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
@@ -522,6 +529,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
testSignVerify(publicKey, { key: privateKey, passphrase: 'secret' });
}));
@ -643,7 +643,7 @@ index 4612fc4a1ac40a27ccc2c70ac11e32f0fdcaa2c3..a4d604cf0318cfb0771e3573245b1ed9
}
{
@@ -566,6 +574,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
@@ -562,6 +570,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
});
}));
@ -651,15 +651,31 @@ index 4612fc4a1ac40a27ccc2c70ac11e32f0fdcaa2c3..a4d604cf0318cfb0771e3573245b1ed9
// Test async elliptic curve key generation, e.g. for ECDSA, with an encrypted
// private key with paramEncoding explicit.
generateKeyPair('ec', {
@@ -603,6 +612,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
passphrase: 'top secret'
});
}));
@@ -686,6 +695,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
}
}
});
+ */
}
// Test invalid parameter encoding.
@@ -951,6 +961,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
@@ -709,6 +719,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
message: "The property 'options.paramEncoding' is invalid. " +
"Received 'otherEncoding'"
});
+ /*
assert.throws(() => generateKeyPairSync('dsa', {
modulusLength: 4096,
publicKeyEncoding: {
@@ -722,6 +733,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
code: 'ERR_CRYPTO_JWK_UNSUPPORTED_KEY_TYPE',
message: 'Unsupported JWK Key Type.'
});
+ */
assert.throws(() => generateKeyPairSync('ec', {
namedCurve: 'secp224r1',
publicKeyEncoding: {
@@ -1060,6 +1072,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
}
}
@ -667,7 +683,7 @@ index 4612fc4a1ac40a27ccc2c70ac11e32f0fdcaa2c3..a4d604cf0318cfb0771e3573245b1ed9
// Test DSA parameters.
{
// Test invalid modulus lengths.
@@ -978,6 +989,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
@@ -1087,6 +1100,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
});
}
}
@ -675,7 +691,7 @@ index 4612fc4a1ac40a27ccc2c70ac11e32f0fdcaa2c3..a4d604cf0318cfb0771e3573245b1ed9
// Test EC parameters.
{
@@ -1022,13 +1034,13 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
@@ -1131,13 +1145,13 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
}));
generateKeyPair('ec', {
@ -692,7 +708,7 @@ index 4612fc4a1ac40a27ccc2c70ac11e32f0fdcaa2c3..a4d604cf0318cfb0771e3573245b1ed9
});
}));
}
@@ -1036,7 +1048,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
@@ -1145,7 +1159,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
// Test EdDSA key generation.
{
if (!/^1\.1\.0/.test(process.versions.openssl)) {
@ -701,7 +717,7 @@ index 4612fc4a1ac40a27ccc2c70ac11e32f0fdcaa2c3..a4d604cf0318cfb0771e3573245b1ed9
generateKeyPair(keyType, common.mustSucceed((publicKey, privateKey) => {
assert.strictEqual(publicKey.type, 'public');
assert.strictEqual(publicKey.asymmetricKeyType, keyType);
@@ -1050,6 +1062,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
@@ -1159,6 +1173,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
}
}
@ -709,7 +725,7 @@ index 4612fc4a1ac40a27ccc2c70ac11e32f0fdcaa2c3..a4d604cf0318cfb0771e3573245b1ed9
// Test classic Diffie-Hellman key generation.
{
generateKeyPair('dh', {
@@ -1162,6 +1175,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
@@ -1271,6 +1286,7 @@ const sec1EncExp = (cipher) => getRegExpForPEM('EC PRIVATE KEY', cipher);
});
}
}
@ -717,7 +733,7 @@ index 4612fc4a1ac40a27ccc2c70ac11e32f0fdcaa2c3..a4d604cf0318cfb0771e3573245b1ed9
// Test invalid key encoding types.
{
@@ -1362,6 +1376,7 @@ if (!common.hasOpenSSL3) {
@@ -1471,6 +1487,7 @@ if (!common.hasOpenSSL3) {
}, common.mustSucceed((publicKey, privateKey) => {
assert.strictEqual(publicKey.type, 'public');
@ -725,7 +741,7 @@ index 4612fc4a1ac40a27ccc2c70ac11e32f0fdcaa2c3..a4d604cf0318cfb0771e3573245b1ed9
for (const passphrase of ['', Buffer.alloc(0)]) {
const privateKeyObject = createPrivateKey({
passphrase,
@@ -1369,6 +1384,7 @@ if (!common.hasOpenSSL3) {
@@ -1478,6 +1495,7 @@ if (!common.hasOpenSSL3) {
});
assert.strictEqual(privateKeyObject.asymmetricKeyType, 'rsa');
}
@ -799,10 +815,10 @@ index 1785f5eef3d202976666081d09850ed744d83446..e88227a215ba4f7fa196f7642ae694a5
});
diff --git a/test/parallel/test-crypto-rsa-dsa.js b/test/parallel/test-crypto-rsa-dsa.js
index 567d8650c5a1772ce8d4e0901f41a07918f3f661..979d372a32723a492c85da91ca127da77f9c08e2 100644
index 9afcb38616dafd6da1ab7b5843d68f4f796ca9a6..00d3381056a5a40c549f06d74c130149ba4abc8c 100644
--- a/test/parallel/test-crypto-rsa-dsa.js
+++ b/test/parallel/test-crypto-rsa-dsa.js
@@ -31,12 +31,11 @@ const dsaPkcs8KeyPem = fixtures.readKey('dsa_private_pkcs8.pem');
@@ -28,12 +28,11 @@ const dsaPkcs8KeyPem = fixtures.readKey('dsa_private_pkcs8.pem');
const ec = new TextEncoder();
const openssl1DecryptError = {
@ -820,7 +836,7 @@ index 567d8650c5a1772ce8d4e0901f41a07918f3f661..979d372a32723a492c85da91ca127da7
};
const decryptError = common.hasOpenSSL3 ?
@@ -400,7 +399,7 @@ assert.throws(() => {
@@ -397,7 +396,7 @@ assert.throws(() => {
assert.strictEqual(verify2.verify(publicKey, signature, 'hex'), true);
}
@ -829,16 +845,16 @@ index 567d8650c5a1772ce8d4e0901f41a07918f3f661..979d372a32723a492c85da91ca127da7
//
// Test DSA signing and verification
//
@@ -475,3 +474,4 @@ const input = 'I AM THE WALRUS';
@@ -472,3 +471,4 @@ const input = 'I AM THE WALRUS';
assert.strictEqual(verify.verify(dsaPubPem, signature, 'hex'), true);
}
+*/
diff --git a/test/parallel/test-crypto-sign-verify.js b/test/parallel/test-crypto-sign-verify.js
index 15fa3db4a69f191d0d4458bb01c1d23508f07754..27f7d15103276e68b5c73061d0abd11d52b66c9c 100644
index 444135538ccff8a705806941843717be954ed143..fe07bbbf0b18ae4ff344cb972600d5ee3bd8ede3 100644
--- a/test/parallel/test-crypto-sign-verify.js
+++ b/test/parallel/test-crypto-sign-verify.js
@@ -32,6 +32,7 @@ const keySize = 2048;
@@ -29,6 +29,7 @@ const keySize = 2048;
'instance when called without `new`');
}
@ -846,7 +862,7 @@ index 15fa3db4a69f191d0d4458bb01c1d23508f07754..27f7d15103276e68b5c73061d0abd11d
// Test handling of exceptional conditions
{
const library = {
@@ -72,6 +73,7 @@ const keySize = 2048;
@@ -69,6 +70,7 @@ const keySize = 2048;
delete Object.prototype.opensslErrorStack;
}
@ -854,7 +870,7 @@ index 15fa3db4a69f191d0d4458bb01c1d23508f07754..27f7d15103276e68b5c73061d0abd11d
assert.throws(
() => crypto.createVerify('SHA256').verify({
@@ -345,15 +347,17 @@ assert.throws(
@@ -342,15 +344,17 @@ assert.throws(
padding: crypto.constants.RSA_PKCS1_OAEP_PADDING
});
}, common.hasOpenSSL3 ? {
@ -876,7 +892,7 @@ index 15fa3db4a69f191d0d4458bb01c1d23508f07754..27f7d15103276e68b5c73061d0abd11d
});
}
@@ -423,10 +427,12 @@ assert.throws(
@@ -420,10 +424,12 @@ assert.throws(
public: fixtures.readKey('ed25519_public.pem', 'ascii'),
algo: null,
sigLen: 64 },
@ -889,7 +905,7 @@ index 15fa3db4a69f191d0d4458bb01c1d23508f07754..27f7d15103276e68b5c73061d0abd11d
{ private: fixtures.readKey('rsa_private_2048.pem', 'ascii'),
public: fixtures.readKey('rsa_public_2048.pem', 'ascii'),
algo: 'sha1',
@@ -497,7 +503,7 @@ assert.throws(
@@ -494,7 +500,7 @@ assert.throws(
{
const data = Buffer.from('Hello world');
@ -1192,10 +1208,10 @@ index ee48a61f4ac8f5e8e4cec96eb03d75cb1c45f56a..5108bbf7499f29bafffda76f3c5270aa
// Test PBKDF2 bit derivation
{
diff --git a/test/parallel/test-webcrypto-encrypt-decrypt-rsa.js b/test/parallel/test-webcrypto-encrypt-decrypt-rsa.js
index e01152c07f294d834f70d94bc105b77ea008c017..177bfdf4702afbbbede15e0ae37c144cfabeae46 100644
index 151eebd36c9765df086a020ba42920b2442b1b77..efe97ff2499cba909ac5500d827364fa389a0469 100644
--- a/test/parallel/test-webcrypto-encrypt-decrypt-rsa.js
+++ b/test/parallel/test-webcrypto-encrypt-decrypt-rsa.js
@@ -130,7 +130,7 @@ async function testEncryptionLongPlaintext({ algorithm,
@@ -127,7 +127,7 @@ async function testEncryptionLongPlaintext({ algorithm,
return assert.rejects(
subtle.encrypt(algorithm, publicKey, newplaintext), {
@ -1205,10 +1221,10 @@ index e01152c07f294d834f70d94bc105b77ea008c017..177bfdf4702afbbbede15e0ae37c144c
}
diff --git a/test/parallel/test-webcrypto-wrap-unwrap.js b/test/parallel/test-webcrypto-wrap-unwrap.js
index 54a5a782a09586ff7e02ab23d8c8ca984106f036..8624d1fcf77254bb256a6f4bbde2ff20e148a02b 100644
index 1094845c73e14313860ad476fb7baba2a11b5af4..51972b4b34b191ac59145889dbf2da5c0d407dbe 100644
--- a/test/parallel/test-webcrypto-wrap-unwrap.js
+++ b/test/parallel/test-webcrypto-wrap-unwrap.js
@@ -21,14 +21,15 @@ const kWrappingData = {
@@ -18,14 +18,15 @@ const kWrappingData = {
wrap: { label: new Uint8Array(8) },
pair: true
},
@ -1228,7 +1244,7 @@ index 54a5a782a09586ff7e02ab23d8c8ca984106f036..8624d1fcf77254bb256a6f4bbde2ff20
pair: false
},
'AES-GCM': {
@@ -45,6 +46,7 @@ const kWrappingData = {
@@ -42,6 +43,7 @@ const kWrappingData = {
wrap: { },
pair: false
}

Просмотреть файл

@ -6,7 +6,7 @@ Subject: fix: don't create console window when creating process
This commit prevents console windows from being spawned when creating processes to better align with what Windows users expect and should be removed when upgrading to a version that includes https://github.com/nodejs/node/pull/21316
diff --git a/deps/uv/src/win/process.c b/deps/uv/src/win/process.c
index 73543c6ed987ceed517e8d1ce8135c1ad233795d..249336d0a23cf32e25c93d917ffb1626119c624f 100644
index 4038fbfd290d1acc91a27ad38e248a2deb06eb68..1ebc0f50e3f0cccb4d8887322b75e61c5284ba2f 100644
--- a/deps/uv/src/win/process.c
+++ b/deps/uv/src/win/process.c
@@ -1098,6 +1098,9 @@ int uv_spawn(uv_loop_t* loop,

Просмотреть файл

@ -0,0 +1,29 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shelley Vohr <shelley.vohr@gmail.com>
Date: Wed, 18 Aug 2021 11:25:39 +0200
Subject: fix: _ReadBarrier undefined symbol error on WOA arm64
The _ReadBarrier compiler intrinsic isn't present on WOA arm64 devices
and as such is crashing in CI. This fixes the issue by defining them
if they're missing.
We should upstream or otherwise handle this.
diff --git a/deps/histogram/src/hdr_atomic.h b/deps/histogram/src/hdr_atomic.h
index ae1056a83612af5e370ce12fea82f334fce0c62c..9acc5c2d78d7f3d718e8b0f69e9a5e17d9609835 100644
--- a/deps/histogram/src/hdr_atomic.h
+++ b/deps/histogram/src/hdr_atomic.h
@@ -14,6 +14,13 @@
#include <intrin.h>
#include <stdbool.h>
+#if !defined(_ReadBarrier) || !defined(_WriteBarrier)
+
+#define _ReadBarrier() __asm__ __volatile__("" ::: "memory")
+#define _WriteBarrier() __asm__ __volatile__("" ::: "memory")
+
+#endif
+
static void __inline * hdr_atomic_load_pointer(void** pointer)
{
_ReadBarrier();

Просмотреть файл

@ -8,10 +8,10 @@ load libraries from embedded applications without modifications of
node's module code.
diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js
index d969a6449cf545c4bb313450dce3940a47be40a2..51bcfe1a4130e5c95f86daad2b2543f9a6fec0a3 100644
index 3f1dac356b81f437503422a8fb69df792db9c523..8258a46076d1d4905298016cb52247e2cf8432c5 100644
--- a/lib/internal/modules/cjs/loader.js
+++ b/lib/internal/modules/cjs/loader.js
@@ -1222,7 +1222,7 @@ Module._initPaths = function() {
@@ -1251,7 +1251,7 @@ Module._initPaths = function() {
modulePaths = paths;
// Clone as a shallow copy, for introspection.

Просмотреть файл

@ -6,10 +6,10 @@ Subject: Pass all globals through "require"
(cherry picked from commit 7d015419cb7a0ecfe6728431a4ed2056cd411d62)
diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js
index 51bcfe1a4130e5c95f86daad2b2543f9a6fec0a3..9a304f05cf4e09038531007efff28c4f57218c1d 100644
index 8258a46076d1d4905298016cb52247e2cf8432c5..71059956705d1299a19cc9c940a998d9e9717a21 100644
--- a/lib/internal/modules/cjs/loader.js
+++ b/lib/internal/modules/cjs/loader.js
@@ -121,6 +121,13 @@ const {
@@ -127,6 +127,13 @@ const {
CHAR_COLON
} = require('internal/constants');
@ -23,7 +23,7 @@ index 51bcfe1a4130e5c95f86daad2b2543f9a6fec0a3..9a304f05cf4e09038531007efff28c4f
const {
isProxy
} = require('internal/util/types');
@@ -1090,10 +1097,12 @@ Module.prototype._compile = function(content, filename) {
@@ -1096,10 +1103,12 @@ Module.prototype._compile = function(content, filename) {
if (requireDepth === 0) statCache = new SafeMap();
if (inspectorWrapper) {
result = inspectorWrapper(compiledWrapper, thisValue, exports,

Просмотреть файл

@ -22,10 +22,10 @@ index 58f7396990dddb7dd4cf3d23fcdcc1d48f52623e..ef06d0563fa7452348754418867a56c9
const nativeModule = internalBinding('native_module');
diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js
index 9a304f05cf4e09038531007efff28c4f57218c1d..afb1eca73a2d91b76d098114de18ad7e29846e5c 100644
index 71059956705d1299a19cc9c940a998d9e9717a21..40655b66fd2a50dac01f88d38457de4602022381 100644
--- a/lib/internal/modules/cjs/loader.js
+++ b/lib/internal/modules/cjs/loader.js
@@ -84,7 +84,7 @@ const fs = require('fs');
@@ -86,7 +86,7 @@ const fs = require('fs');
const internalFS = require('internal/fs/utils');
const path = require('path');
const { sep } = path;
@ -34,7 +34,7 @@ index 9a304f05cf4e09038531007efff28c4f57218c1d..afb1eca73a2d91b76d098114de18ad7e
const packageJsonReader = require('internal/modules/package_json_reader');
const { safeGetenv } = internalBinding('credentials');
const {
@@ -155,7 +155,7 @@ function stat(filename) {
@@ -161,7 +161,7 @@ function stat(filename) {
const result = statCache.get(filename);
if (result !== undefined) return result;
}

Просмотреть файл

@ -25,7 +25,7 @@ index a771b1813731edf4f0dd60f3505799e389f1d876..b9461677e2d7d1df192e752496e62cca
bench.start();
for (let i = 0; i < n; i++)
diff --git a/lib/internal/main/worker_thread.js b/lib/internal/main/worker_thread.js
index d6434ff96e118535bc6ded88ee4d2f0ff253a8f7..1b8894f44e71c6f25f1f50e84293006afe158513 100644
index 71a07a63a3636ab211746004ebab24a0058b08fc..e3ce67987ee3185a93750ebad72beab304c71e3a 100644
--- a/lib/internal/main/worker_thread.js
+++ b/lib/internal/main/worker_thread.js
@@ -9,7 +9,7 @@ const {
@ -37,7 +37,7 @@ index d6434ff96e118535bc6ded88ee4d2f0ff253a8f7..1b8894f44e71c6f25f1f50e84293006a
} = primordials;
const {
@@ -140,6 +140,9 @@ port.on('message', (message) => {
@@ -142,6 +142,9 @@ port.on('message', (message) => {
const originalCwd = process.cwd;
process.cwd = function() {

Просмотреть файл

@ -0,0 +1,21 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Shelley Vohr <shelley.vohr@gmail.com>
Date: Wed, 18 Aug 2021 18:06:28 +0200
Subject: src: remove extra semicolons outside fns
Fixes several -Wc++98-compat-extra-semi issues.
Upstreamed at https://github.com/nodejs/node/pull/39800.
diff --git a/src/node_blob.cc b/src/node_blob.cc
index c583d5e0a93791ae5ca42e3a6474790b7a43f824..4643da4c17496c7bc16bcde4b481e17f6f7de185 100644
--- a/src/node_blob.cc
+++ b/src/node_blob.cc
@@ -497,5 +497,5 @@ void Blob::RegisterExternalReferences(ExternalReferenceRegistry* registry) {
} // namespace node
-NODE_MODULE_CONTEXT_AWARE_INTERNAL(blob, node::Blob::Initialize);
-NODE_MODULE_EXTERNAL_REFERENCE(blob, node::Blob::RegisterExternalReferences);
+NODE_MODULE_CONTEXT_AWARE_INTERNAL(blob, node::Blob::Initialize)
+NODE_MODULE_EXTERNAL_REFERENCE(blob, node::Blob::RegisterExternalReferences)

Просмотреть файл

@ -14,12 +14,12 @@
"parallel/test-child-process-fork-exec-path",
"parallel/test-child-process-stdio-overlapped",
"parallel/test-cli-node-print-help",
"parallel/test-code-cache",
"parallel/test-cluster-bind-privileged-port",
"parallel/test-cluster-shared-handle-bind-privileged-port",
"parallel/test-code-cache",
"parallel/test-crypto-aes-wrap",
"parallel/test-crypto-authenticated-stream",
"parallel/test-crypto-async-sign-verify",
"parallel/test-crypto-authenticated-stream",
"parallel/test-crypto-certificate",
"parallel/test-crypto-des3-wrap",
"parallel/test-crypto-dh-stateless",
@ -145,12 +145,12 @@
"parallel/test-webcrypto-derivebits-node-dh",
"parallel/test-webcrypto-ed25519-ed448",
"parallel/test-webcrypto-encrypt-decrypt",
"parallel/test-webcrypto-encrypt-decrypt-rsa",
"parallel/test-webcrypto-rsa-pss-params",
"parallel/test-webcrypto-x25519-x448",
"parallel/test-webcrypto-sign-verify-node-dsa",
"parallel/test-webcrypto-keygen",
"parallel/test-webcrypto-encrypt-decrypt-aes",
"parallel/test-webcrypto-encrypt-decrypt-rsa",
"parallel/test-webcrypto-keygen",
"parallel/test-webcrypto-rsa-pss-params",
"parallel/test-webcrypto-sign-verify-node-dsa",
"parallel/test-webcrypto-x25519-x448",
"parallel/test-whatwg-encoding-custom-textdecoder",
"parallel/test-worker-message-channel",
"parallel/test-worker-message-port",
@ -179,5 +179,6 @@
"sequential/test-tls-connect",
"sequential/test-vm-timeout-rethrow",
"sequential/test-worker-prof",
"wpt/test-encoding"
"wpt/test-encoding",
"wpt/test-webcrypto"
]