Sync from SUSE:SLFO:Main nodejs22 revision fdbabb95892adaa3100a2dce101e1251

This commit is contained in:
2025-02-25 16:11:23 +01:00
parent 4f817406fc
commit 52942dc7f4
11 changed files with 396 additions and 156 deletions

View File

@@ -1,41 +1,41 @@
9fe24a08564eca8ce7e6ea3dfa58bc91ec5512f194e6871a388254c3ebe4f0a4 node-v22.10.0-aix-ppc64.tar.gz
fa56d6db05ce3909025d75fac8cf32a054c4a74291b4748fae544d4ff935c25e node-v22.10.0-arm64.msi
75e5b78d59187ca936e67f0b88a6db913f4ab8bb83a27a1d0a34f98089cb4f77 node-v22.10.0-darwin-arm64.tar.gz
1e075186b54bac99434c5a41f5bf526e9729c8010dc05cb0da426fb0d5b97170 node-v22.10.0-darwin-arm64.tar.xz
f8d4a064d3edd49900187e301424a7d7d30f75b60f618811d2aad80b665b42d5 node-v22.10.0-darwin-x64.tar.gz
a50a35778fd57ddd90eb1ecbf56ea3a640d932c7d31a0bc2bb164df34f889156 node-v22.10.0-darwin-x64.tar.xz
8e82810f179f82016f75e6259a6d53b26674268cb074c544780ec3819157d1d0 node-v22.10.0-headers.tar.gz
f588b2f9fade83d56cd9965d52ae91b32de0f35393c8e889a52870746940b3b6 node-v22.10.0-headers.tar.xz
17abee3dfe6ffcda95cab08bb5f43de7f88d04e9607c517e701c6e623358dc7c node-v22.10.0-linux-arm64.tar.gz
53f51efe5bf4cd6b7745e910d9a33216b6be5a89b107226862f4a6f27aab84fd node-v22.10.0-linux-arm64.tar.xz
cd0bd2cd4098db1dde29314a60287661484e18df708ac94532e5a34f99eb6fd4 node-v22.10.0-linux-armv7l.tar.gz
cea813eba9b5d43911414c9df03119c47e53c3f303c42bd5f2960aedfcf7df10 node-v22.10.0-linux-armv7l.tar.xz
52fb8ae36061e64d39499be50a1193fc1f10fa667b4211b651576db65b5558da node-v22.10.0-linux-ppc64le.tar.gz
7a83a0f9a674fe0c4b0405d4ba704bafe339fc520873b9260d752436bf1f268e node-v22.10.0-linux-ppc64le.tar.xz
6e976e9278f66e654f208fdca1bae80f49705f51ab4c47ef1acb5bd59b16e640 node-v22.10.0-linux-s390x.tar.gz
caad0bef82f163be6c8d19a6d79bb7a443b3676266fa67bb0325cbc61a1df136 node-v22.10.0-linux-s390x.tar.xz
674fef1891cc9927b5dc2b0ee2399b77f6621e6b3157f563a9e9491ad3db107b node-v22.10.0-linux-x64.tar.gz
406791658a8bce3bc21fab786f45877adad391ea20badc87e1d65c7478b75062 node-v22.10.0-linux-x64.tar.xz
afc49ad90023d7809e7ed0d6b86167e476c21e6482c202e71b49a369302bcedf node-v22.10.0-win-arm64.7z
2a9ffdc69df610821b5fb8b7e19cb0c627a2576c0af5b327ba2cdf9149db4f96 node-v22.10.0-win-arm64.zip
c5105910002a7cf89eaacc27fb85cb2f8551c0f7797ac52118f2398210d6135e node-v22.10.0-win-x64.7z
d68dce8f7a73305a496e719485ca6647387d9410cb7eb5933b5d9b4afc5593bd node-v22.10.0-win-x64.zip
b0149ff0fa094cc765c2e373b1010776bab18a2eac6a7d3800e0599f11da1aa3 node-v22.10.0-win-x86.7z
dff73b6fd3545addabafd453b61ca5d50d2454d05d53a6094bcc428a0aa22de3 node-v22.10.0-win-x86.zip
9d8fad0dc2da2c57e6fdf38fc85a23dc5ebcd5c414d8dd2948b3c45bd2398895 node-v22.10.0-x64.msi
daca38d494c4d6d023ea0cc4d5f7974173256b80a5e485bf7fcaace62c36df85 node-v22.10.0-x86.msi
af7ec12e66beae77b8f4090e7560d53f953ace17af0c6fc658a8453221de2f85 node-v22.10.0.pkg
42e4ab4ce34383488185cef6f06f8d1267bf91ebc5c6596fc3786efb0f8b5aaa node-v22.10.0.tar.gz
3180710d3130ad9df01466abf010e408d41b374be54301d1480d10eca73558e0 node-v22.10.0.tar.xz
d4f4462472ae44f6b804d729bc6e09fbecdb95994be8af35584297b637cd8af1 win-arm64/node.exe
ad65afe5b192644fec9d599c77f0e38a8421d0d7ad2389679882a288c8df444b win-arm64/node.lib
5cb82d77cebf4c82acb9123827d1ada295dce4907bd9f75966f989e112e9f7a2 win-arm64/node_pdb.7z
b551a239370533dcb1f595d35b9540cb906a926387d373f4e0dde8de424267a0 win-arm64/node_pdb.zip
741a6d3a636ccb3290fc3141e3604913d89e430e0c1bd098734cc3380a7c6b3b win-x64/node.exe
3581a06b68c4584d146372113eaa8c4d102127222e5041195ba38f185eef419c win-x64/node.lib
40e2dbf9fb9c66f579d348e2ecd30a4ffadc3b00f9895107f915b82323cd1096 win-x64/node_pdb.7z
1c478d40aadaeb0ad173ba01983a3bb6909777d1b35497b8e4f508acea02a26b win-x64/node_pdb.zip
ca29a0d009d4e39ebca9bc84a859f30ccddeb31f31573d2d62be579d7c3daef0 win-x86/node.exe
45399070d1d247cf223d12e80d3e638635af24d2f7a4714bc8e38a6a918f162a win-x86/node.lib
a35f8ad5b3ebfe652ffba108e3220115088d4a755af0305bdd6ece0295e4c07d win-x86/node_pdb.7z
e985894dd6ae194ef302f831a10268aa33412db046b670a121603184dbacbb04 win-x86/node_pdb.zip
ed52239294ad517fbe91a268146d5d2aa8a17d2d62d64873e43219078ba71c4e node-v22.13.1-aix-ppc64.tar.gz
be127be1d98cad94c56f46245d0f2de89934d300028694456861a6d5ac558bf3 node-v22.13.1-arm64.msi
97483ff4361d239a56d038c6335767a56a291e78c10f07446f463f05d9d19b89 node-v22.13.1-darwin-arm64.tar.gz
9c169a9369f6c667a4de6b14c7492065adbae0fa830ef4c666bea2c53ac7b576 node-v22.13.1-darwin-arm64.tar.xz
6fdcc8412d434664238b0651ebd5ad55d15a08598ff42dcb6d9cf1d434a6c4be node-v22.13.1-darwin-x64.tar.gz
cbc49a2f179ec51f3a7d49f91b05e16db2ea8ea4ca586e1e370d19661becf0eb node-v22.13.1-darwin-x64.tar.xz
f9cde9ace585c3979f1b4ee247914f35fae6e7b7eabc6a40961f89ad39e78964 node-v22.13.1-headers.tar.gz
2722236564df6d33b1d953f23e21bf5247b62b38ea9000b47c655ee3a9a440e7 node-v22.13.1-headers.tar.xz
911d9c07af38c82be22cd0a3db613aabc578ba940b35380aeedadd6d48070bc1 node-v22.13.1-linux-arm64.tar.gz
0a237c413ccbab920640438bf6e1a32edb19845bdc21f0e1cd5b91545ce1c126 node-v22.13.1-linux-arm64.tar.xz
82be9fa5e74ee29d7342d38306dbee19d3e2239b5b753870c04fd03768916a7e node-v22.13.1-linux-armv7l.tar.gz
f2be8dca2a7a518f6d187aa4b18abbeeafd71096a6d95f73f4d8bc0f8d2394ea node-v22.13.1-linux-armv7l.tar.xz
e4d34550d791cc809cfbfe8d0e3082634796add404169484b0849fbae0714576 node-v22.13.1-linux-ppc64le.tar.gz
377a7a1ea66f39251e1657f419e9404d526fcca9910620d0ecf0a870c6308f6b node-v22.13.1-linux-ppc64le.tar.xz
56375cf2c827a425d708bd0322fd635b6f2038e272468395f4e160e1ea4ae91e node-v22.13.1-linux-s390x.tar.gz
22da01dbcead3ef7e69de6c1310a1c5c485039631f731a6ff0c35530cf5c811b node-v22.13.1-linux-s390x.tar.xz
666148b9fe0c7e1301cc1b029e33a45e9e4a893f68d2d2bb1cc88a931a88a004 node-v22.13.1-linux-x64.tar.gz
0d2a5af33c7deab5555c8309cd3f373446fe1526c1b95833935ab3f019733b3b node-v22.13.1-linux-x64.tar.xz
620a7b4008aa0406678987ce2dd22458a38bae163fe7c69fd243f1204725e6c2 node-v22.13.1.pkg
e7d5b1e84e7f3c3cebda81e2b138469eef41ba4ecf16a87fd15fc3f7afa3f701 node-v22.13.1.tar.gz
cfce282119390f7e0c2220410924428e90dadcb2df1744c0c4a0e7baae387cc2 node-v22.13.1.tar.xz
b2c537f24a725d7e6058d23b1b89bbf31e6c7299b51ac31e9c25dc3c6a61e2d9 node-v22.13.1-win-arm64.7z
db6d3d28e1b34acdbd9db7bac5ec37980e07e48a6a2edcd3747d605fc8a5468e node-v22.13.1-win-arm64.zip
d495abe2ae53962065fad979814259735fd90a4e03c6b94ccd3e32bc933aeda5 node-v22.13.1-win-x64.7z
398a61e250a5584a62a5959e2f69f5d597fc83f1a5ebe3ed8fff29ba39d55f14 node-v22.13.1-win-x64.zip
3c87ddd4aac7f980ed11caf97942bd87a647ce61d644ca08321508836b3d1899 node-v22.13.1-win-x86.7z
504ed03c8596dfeabddfcd0736f987be93e3330a5c690306dedacef8880b592c node-v22.13.1-win-x86.zip
821566022dc3b262ac2f76598ee4f46003a6edafe5dadb84e5fbc7daaa1a78c7 node-v22.13.1-x64.msi
79c36ea6aa2ede10b416bdae55b568ab31798ede2697440b266312bba95ef580 node-v22.13.1-x86.msi
afb7dcd60c7557843e5c2777205564950544297ba0588faa2aae573ccb735767 win-arm64/node.exe
988eb8c60a5ade17e652dbdb60d56d3c6ad5e599a99ce04932b8c4c86583cdaf win-arm64/node.lib
b19efd6f54283a2c01027f0e74e54563d06495b87efe08d111e1a176afd14d02 win-arm64/node_pdb.7z
0bb490f44fc575dd570326fae9f0a5fca1187bfc342f57a50084ef86aa2e6679 win-arm64/node_pdb.zip
8f6945c55a51c893691534e7163372e4cedb62c8ad80a2a975df3f14a19fba16 win-x64/node.exe
65e45757c026c93a170743a811ef1b921ae12d6d9dd62d258bbbca0626687626 win-x64/node.lib
2ad1af26e2f78247473e1e05f78fff3be7401f47c327f45602c84dce5d552cc0 win-x64/node_pdb.7z
31099d09933aad429c36071503cd200eb66c41529524ac159873f97d9f097c83 win-x64/node_pdb.zip
0b7071f0a7d90d4e1567d94a37c5d94441a3ca71a4eaa9596bc06e992c06e9c8 win-x86/node.exe
79bae10059e833ce7fa4de05e5601034461327e2e7cb75c2144b87d4ab5ac547 win-x86/node.lib
c3fb150e58d16dadd95c24c8a0a4c020a18b3c852b63e36df39587a301512ca4 win-x86/node_pdb.7z
97890935271fe117a745584ca710f0fcd38bbf24b8c920800411df87a3e22dc3 win-x86/node_pdb.zip

Binary file not shown.

View File

@@ -2,23 +2,10 @@ Author: Adam Majer <amajer@suse.de>
Date: Dec 20 09:18:49 UTC 2017
Summary: Fix CI unit tests framework for OBS building
Index: node-v22.10.0/test/parallel/test-node-output-v8-warning.mjs
Index: node-v22.12.0/test/parallel/test-module-loading-globalpaths.js
===================================================================
--- node-v22.10.0.orig/test/parallel/test-node-output-v8-warning.mjs
+++ node-v22.10.0/test/parallel/test-node-output-v8-warning.mjs
@@ -15,7 +15,7 @@ describe('v8 output', { concurrency: !pr
.replaceAll('*test*', '*')
.replaceAll(/.*?\*fixtures\*v8\*/g, '(node:*) V8: *') // Replace entire path before fixtures/v8
.replaceAll('*fixtures*v8*', '*')
- .replaceAll('node --', '* --');
+ .replace(/node\d+ --/, '* --');
}
const common = snapshot
.transform(snapshot.replaceWindowsLineEndings, snapshot.replaceWindowsPaths, replaceNodeVersion);
Index: node-v22.10.0/test/parallel/test-module-loading-globalpaths.js
===================================================================
--- node-v22.10.0.orig/test/parallel/test-module-loading-globalpaths.js
+++ node-v22.10.0/test/parallel/test-module-loading-globalpaths.js
--- node-v22.12.0.orig/test/parallel/test-module-loading-globalpaths.js
+++ node-v22.12.0/test/parallel/test-module-loading-globalpaths.js
@@ -11,6 +11,9 @@ const { addLibraryPath } = require('../c
addLibraryPath(process.env);
@@ -29,10 +16,10 @@ Index: node-v22.10.0/test/parallel/test-module-loading-globalpaths.js
if (process.argv[2] === 'child') {
console.log(require(pkgName).string);
} else {
Index: node-v22.10.0/test/parallel/test-tls-passphrase.js
Index: node-v22.12.0/test/parallel/test-tls-passphrase.js
===================================================================
--- node-v22.10.0.orig/test/parallel/test-tls-passphrase.js
+++ node-v22.10.0/test/parallel/test-tls-passphrase.js
--- node-v22.12.0.orig/test/parallel/test-tls-passphrase.js
+++ node-v22.12.0/test/parallel/test-tls-passphrase.js
@@ -223,7 +223,7 @@ server.listen(0, common.mustCall(functio
}, onSecureConnect());
})).unref();
@@ -42,10 +29,10 @@ Index: node-v22.10.0/test/parallel/test-tls-passphrase.js
// Missing passphrase
assert.throws(function() {
Index: node-v22.10.0/test/parallel/test-repl-envvars.js
Index: node-v22.12.0/test/parallel/test-repl-envvars.js
===================================================================
--- node-v22.10.0.orig/test/parallel/test-repl-envvars.js
+++ node-v22.10.0/test/parallel/test-repl-envvars.js
--- node-v22.12.0.orig/test/parallel/test-repl-envvars.js
+++ node-v22.12.0/test/parallel/test-repl-envvars.js
@@ -2,7 +2,9 @@
// Flags: --expose-internals
@@ -57,11 +44,11 @@ Index: node-v22.10.0/test/parallel/test-repl-envvars.js
const stream = require('stream');
const { describe, test } = require('node:test');
const REPL = require('internal/repl');
Index: node-v22.10.0/Makefile
Index: node-v22.12.0/Makefile
===================================================================
--- node-v22.10.0.orig/Makefile
+++ node-v22.10.0/Makefile
@@ -399,7 +399,6 @@ ADDONS_HEADERS_PREREQS := tools/install.
--- node-v22.12.0.orig/Makefile
+++ node-v22.12.0/Makefile
@@ -397,7 +397,6 @@ ADDONS_HEADERS_PREREQS := tools/install.
$(wildcard deps/uv/include/*/*.h) \
$(wildcard deps/v8/include/*.h) \
$(wildcard deps/v8/include/*/*.h) \
@@ -69,7 +56,7 @@ Index: node-v22.10.0/Makefile
src/node.h src/node_api.h src/js_native_api.h src/js_native_api_types.h \
src/node_api_types.h src/node_buffer.h src/node_object_wrap.h \
src/node_version.h
@@ -572,6 +571,7 @@ test-ci-js: | clear-stalled ## Build and
@@ -570,6 +569,7 @@ test-ci-js: | clear-stalled ## Build and
# Related CI jobs: most CI tests, excluding node-test-commit-arm-fanned
test-ci: LOGLEVEL := info ## Build and test everything (CI).
test-ci: | clear-stalled bench-addons-build build-addons build-js-native-api-tests build-node-api-tests doc-only
@@ -77,7 +64,7 @@ Index: node-v22.10.0/Makefile
out/Release/cctest --gtest_output=xml:out/junit/cctest.xml
$(PYTHON) tools/test.py $(PARALLEL_ARGS) -p tap --logfile test.tap \
--mode=$(BUILDTYPE_LOWER) --flaky-tests=$(FLAKY_TESTS) \
@@ -752,7 +752,8 @@ apidocs_json = $(addprefix out/,$(apidoc
@@ -750,7 +750,8 @@ apidocs_json = $(addprefix out/,$(apidoc
apiassets = $(subst api_assets,api/assets,$(addprefix out/,$(wildcard doc/api_assets/*)))
tools/doc/node_modules: tools/doc/package.json
@@ -87,10 +74,10 @@ Index: node-v22.10.0/Makefile
echo "Skipping tools/doc/node_modules (no crypto)"; \
else \
cd tools/doc && $(call available-node,$(run-npm-ci)) \
Index: node-v22.10.0/tools/test.py
Index: node-v22.12.0/tools/test.py
===================================================================
--- node-v22.10.0.orig/tools/test.py
+++ node-v22.10.0/tools/test.py
--- node-v22.12.0.orig/tools/test.py
+++ node-v22.12.0/tools/test.py
@@ -1386,7 +1386,7 @@ def BuildOptions():
result.add_option("-s", "--suite", help="A test suite",
default=[], action="append")
@@ -100,10 +87,10 @@ Index: node-v22.10.0/tools/test.py
result.add_option("--arch", help='The architecture to run tests for',
default='none')
result.add_option("--snapshot", help="Run the tests with snapshot turned on",
Index: node-v22.10.0/test/parallel/test-crypto-dh.js
Index: node-v22.12.0/test/parallel/test-crypto-dh.js
===================================================================
--- node-v22.10.0.orig/test/parallel/test-crypto-dh.js
+++ node-v22.10.0/test/parallel/test-crypto-dh.js
--- node-v22.12.0.orig/test/parallel/test-crypto-dh.js
+++ node-v22.12.0/test/parallel/test-crypto-dh.js
@@ -93,7 +93,7 @@ const crypto = require('crypto');
dh3.computeSecret('');
}, { message: common.hasOpenSSL3 && !hasOpenSSL3WithNewErrorMessage ?
@@ -113,10 +100,10 @@ Index: node-v22.10.0/test/parallel/test-crypto-dh.js
}
}
Index: node-v22.10.0/test/parallel/test-dns.js
Index: node-v22.12.0/test/parallel/test-dns.js
===================================================================
--- node-v22.10.0.orig/test/parallel/test-dns.js
+++ node-v22.10.0/test/parallel/test-dns.js
--- node-v22.12.0.orig/test/parallel/test-dns.js
+++ node-v22.12.0/test/parallel/test-dns.js
@@ -403,7 +403,7 @@ assert.throws(() => {
const server = dgram.createSocket('udp4');
@@ -126,3 +113,17 @@ Index: node-v22.10.0/test/parallel/test-dns.js
const parsed = dnstools.parseDNSPacket(msg);
const domain = parsed.questions[0].domain;
assert.strictEqual(domain, 'example.org');
Index: node-v22.12.0/test/wpt/test-webcrypto.js
===================================================================
--- node-v22.12.0.orig/test/wpt/test-webcrypto.js
+++ node-v22.12.0/test/wpt/test-webcrypto.js
@@ -1,7 +1,8 @@
'use strict';
const common = require('../common');
-if (!common.hasCrypto)
+const os = require('os')
+if (!common.hasCrypto || os.arch() == 's390x')
common.skip('missing crypto');
const { WPTRunner } = require('../common/wpt');

View File

@@ -3,21 +3,21 @@ is run serially over these binaries instead of in parallel.
OBS workers run out of memory as each executable seems to require
upward of 5G RAM
Index: node-v22.10.0/node.gyp
Index: node-v22.13.0/node.gyp
===================================================================
--- node-v22.10.0.orig/node.gyp
+++ node-v22.10.0/node.gyp
@@ -1193,6 +1193,7 @@
'deps/simdutf/simdutf.gyp:simdutf',
'deps/ada/ada.gyp:ada',
--- node-v22.13.0.orig/node.gyp
+++ node-v22.13.0/node.gyp
@@ -1180,6 +1180,7 @@
'deps/googletest/googletest.gyp:gtest_main',
'deps/histogram/histogram.gyp:histogram',
'deps/nbytes/nbytes.gyp:nbytes',
+ 'fuzz_env'
],
'includes': [
@@ -1273,6 +1274,7 @@
'deps/sqlite/sqlite.gyp:sqlite',
'deps/ada/ada.gyp:ada',
@@ -1257,6 +1258,7 @@
'<(node_lib_target_name)',
'deps/histogram/histogram.gyp:histogram',
'deps/nbytes/nbytes.gyp:nbytes',
+ 'cctest'
],

BIN
node-v22.10.0.tar.xz (Stored with Git LFS)

Binary file not shown.

BIN
node-v22.13.1.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -1,16 +1,16 @@
Index: node-v20.12.0/tools/install.py
Index: node-v22.12.0/tools/install.py
===================================================================
--- node-v20.12.0.orig/tools/install.py
+++ node-v20.12.0/tools/install.py
@@ -6,6 +6,7 @@ import errno
import os
--- node-v22.12.0.orig/tools/install.py
+++ node-v22.12.0/tools/install.py
@@ -7,6 +7,7 @@ import os
import platform
import shutil
import sys
+from distutils import sysconfig
import re
def abspath(*args):
@@ -66,6 +67,10 @@ def try_copy(options, path, dest):
current_system = platform.system()
@@ -72,6 +73,10 @@ def try_copy(options, path, dest):
try_unlink(target_path) # prevent ETXTBSY errors
return shutil.copy2(source_path, target_path)
@@ -21,7 +21,7 @@ Index: node-v20.12.0/tools/install.py
def try_remove(options, path, dest):
source_path, target_path = mkpaths(options, path, dest)
if not options.silent:
@@ -82,7 +87,7 @@ def uninstall(options, paths, dest):
@@ -88,7 +93,7 @@ def uninstall(options, paths, dest):
try_remove(options, path, dest)
def package_files(options, action, name, bins):
@@ -30,7 +30,7 @@ Index: node-v20.12.0/tools/install.py
# don't install npm if the target path is a symlink, it probably means
# that a dev version of npm is installed there
@@ -103,7 +108,7 @@ def package_files(options, action, name,
@@ -109,7 +114,7 @@ def package_files(options, action, name,
if action == uninstall:
action(options, [link_path], os.path.join('bin', bin_name))
elif action == install:
@@ -39,11 +39,11 @@ Index: node-v20.12.0/tools/install.py
else:
assert 0 # unhandled action type
Index: node-v20.12.0/lib/internal/modules/cjs/loader.js
Index: node-v22.12.0/lib/internal/modules/cjs/loader.js
===================================================================
--- node-v20.12.0.orig/lib/internal/modules/cjs/loader.js
+++ node-v20.12.0/lib/internal/modules/cjs/loader.js
@@ -1529,7 +1529,7 @@ Module._initPaths = function() {
--- node-v22.12.0.orig/lib/internal/modules/cjs/loader.js
+++ node-v22.12.0/lib/internal/modules/cjs/loader.js
@@ -1798,7 +1798,7 @@ Module._initPaths = function() {
path.resolve(process.execPath, '..') :
path.resolve(process.execPath, '..', '..');

Binary file not shown.

View File

@@ -1,3 +1,80 @@
-------------------------------------------------------------------
Wed Jan 22 10:10:36 UTC 2025 - Adam Majer <adam.majer@suse.de>
- Update to 22.13.1:
* src,loader,permission: throw on InternalWorker use when
permission model is enabled (bsc#1236251, CVE-2025-23083)
* src: fix HTTP2 mem leak on premature close and ERR_PROTO
(bsc#1236250, CVE-2025-23085)
* deps: Use of Insufficiently Random Values in undici fetch()
(bsc#1236258, CVE-2025-22150)
-------------------------------------------------------------------
Thu Jan 16 15:00:55 UTC 2025 - Adam Majer <adam.majer@suse.de>
- Update to 22.13.0:
* Upgrades the Permission Model status from Active Development to Stable.
* Graduate WebCryptoAPI Ed25519 and X25519 algorithms as stable
* net: support blocklist in net.connect and net.Server
* dgram: support blocklist in udp
* deps updated:
> cares -- '1.34.3' -> '1.34.4'
> ngtcp2 -- '1.3.0' -> '1.9.1'
> npm -- '10.9.0' -> '10.9.2'
> simdjson -- '3.10.0' -> '3.10.1'
> simdutf -- '5.6.1' -> '5.6.4'
> uv -- '1.49.1' -> '1.49.2'
- CVE-2024-21538.patch: upstreamed, dropped
- linker_lto_jobs.patch: refreshed
-------------------------------------------------------------------
Mon Dec 30 22:17:20 UTC 2024 - Adam Majer <adam.majer@suse.de>
- test/report/test-report-exclude-network.js - removed unit tests that fail in staging
-------------------------------------------------------------------
Fri Dec 20 12:56:09 UTC 2024 - Adam Majer <adam.majer@suse.de>
- fix_ci_tests.patch: skip wpt/test-webcrypto on s390x as it has
unexpected differences between z13 and z15
- external sqlite support only on TW and SLFO
-------------------------------------------------------------------
Thu Dec 5 13:53:22 UTC 2024 - Adam Majer <adam.majer@suse.de>
- add python3-setuptools requirements (needed for python 3.13+)
-------------------------------------------------------------------
Wed Dec 4 16:59:08 UTC 2024 - Adam Majer <adam.majer@suse.de>
- Update to 22.12.0:
* require(esm) is now enabled by default
* Added resizable ArrayBuffer support in Buffer
- CVE-2024-21538.patch: fixes regular expression denial of service
(bsc#1233856, CVE-2024-21538)
- icu76.1.patch: upstreamed, dropped
- linker_lto_jobs.patch, nodejs-libpath.patch, fix_ci_tests.patch: refreshed
- nodejs.keyring: updated with upstream releaser list
- old_cares.patch: fix with older c-ares
-------------------------------------------------------------------
Wed Nov 20 10:04:23 UTC 2024 - Adam Majer <adam.majer@suse.de>
- BuildRequire python311 for SLE15
-------------------------------------------------------------------
Mon Nov 18 12:02:26 UTC 2024 - Adam Majer <adam.majer@suse.de>
- Update to 22.11.0:
* This release marks the transition of Node.js 22.x into
Long Term Support (LTS) with the codename 'Jod'.
Other than updating metadata, such as the process.release object,
to reflect that the release is LTS, no further changes from
Node.js 22.10.0 are included.
- icu76.1.patch: fix linking to ICU 76.1 (bsc#1232061)
-------------------------------------------------------------------
Mon Oct 28 11:43:07 UTC 2024 - Adam Majer <adam.majer@suse.de>

View File

@@ -31,7 +31,7 @@
%endif
Name: nodejs22
Version: 22.10.0
Version: 22.13.1
Release: 0
# Double DWZ memory limits
@@ -172,6 +172,7 @@ Patch200: versioned.patch
Patch305: qemu_timeouts_arches.patch
Patch307: v8-i586.patch
Patch309: gcc13.patch
Patch311: old_cares.patch
BuildRequires: pkg-config
BuildRequires: fdupes
@@ -194,10 +195,10 @@ BuildRequires: config(netcfg)
%if 0%{?suse_version} == 1110
# GCC 5 is only available in the SUSE:SLE-11:SP4:Update repository (SDK).
%if %node_version_number >= 8
BuildRequires: gcc5-c++
BuildRequires: gcc5-c++
%define forced_gcc_version 5
%else
BuildRequires: gcc48-c++
BuildRequires: gcc48-c++
%define forced_gcc_version 4.8
%endif
%endif
@@ -207,15 +208,15 @@ BuildRequires: gcc48-c++
# for SLE-12:Update targets
%if 0%{?suse_version} == 1315
%if %node_version_number >= 17
BuildRequires: gcc12-c++
BuildRequires: gcc12-c++
%define forced_gcc_version 12
%else
%if %node_version_number >= 14
BuildRequires: gcc9-c++
BuildRequires: gcc9-c++
%define forced_gcc_version 9
%else
%if %node_version_number >= 8
BuildRequires: gcc7-c++
BuildRequires: gcc7-c++
%define forced_gcc_version 7
%endif
%endif
@@ -224,7 +225,7 @@ BuildRequires: gcc7-c++
%if 0%{?suse_version} == 1500
%if %node_version_number >= 17
BuildRequires: gcc12-c++
BuildRequires: gcc12-c++
%define forced_gcc_version 12
%endif
%endif
@@ -239,11 +240,19 @@ BuildRequires: gcc-c++
# Python dependencies
%if %node_version_number >= 14
%if 0%{?suse_version} && 0%{?suse_version} < 1500
%if 0%{?suse_version}
%if 0%{?suse_version} < 1500
BuildRequires: python36
%define forced_python_version 3.6m
%else
%endif
%if %{?suse_version} == 1500
BuildRequires: python311
%define forced_python_version 3.11
%endif
%if %{?suse_version} > 1500
BuildRequires: python3
BuildRequires: python3-setuptools
%endif
%endif
%else
@@ -303,23 +312,23 @@ BuildRequires: bundled_openssl_should_not_be_required
%if ! 0%{with intree_cares}
BuildRequires: pkgconfig(libcares) >= 1.17.0
%else
Provides: bundled(libcares2) = 1.33.1
Provides: bundled(libcares2) = 1.34.4
%endif
%if %node_version_number >= 22
%if %node_version_number >= 22 && 0%{?suse_version} > 1500
BuildRequires: sqlite3-devel
%endif
%if ! 0%{with intree_icu}
BuildRequires: pkgconfig(icu-i18n) >= 71
%else
Provides: bundled(icu) = 75.1
Provides: bundled(icu) = 76.1
%endif
%if ! 0%{with intree_nghttp2}
BuildRequires: libnghttp2-devel >= 1.41.0
%else
Provides: bundled(nghttp2) = 1.63.0
Provides: bundled(nghttp2) = 1.64.0
%endif
%if 0%{with valgrind_tests}
@@ -369,7 +378,7 @@ ExclusiveArch: not_buildable
%endif
Provides: bundled(uvwasi) = 0.0.21
Provides: bundled(libuv) = 1.48.0
Provides: bundled(libuv) = 1.49.2
Provides: bundled(v8) = 12.4.254.21
%if %{with intree_brotli}
Provides: bundled(brotli) = 1.1.0
@@ -379,20 +388,20 @@ BuildRequires: pkgconfig(libbrotlidec)
Provides: bundled(llhttp) = 9.2.1
Provides: bundled(ngtcp2) = 1.3.0
Provides: bundled(ngtcp2) = 1.9.1
Provides: bundled(simdutf) = 5.5.0
Provides: bundled(simdjson) = 3.10.0
Provides: bundled(simdutf) = 5.6.4
Provides: bundled(simdjson) = 3.10.1
# bundled url-ada parser, not ada
Provides: bundled(ada) = 2.9.0
Provides: bundled(ada) = 2.9.2
Provides: bundled(node-acorn) = 8.12.1
Provides: bundled(node-acorn) = 8.14.0
Provides: bundled(node-acorn-walk) = 8.3.4
Provides: bundled(node-amaro) = 0.1.8
Provides: bundled(node-amaro) = 0.2.0
Provides: bundled(node-cjs-module-lexer) = 1.4.1
Provides: bundled(node-corepack) = 0.29.4
Provides: bundled(node-corepack) = 0.30.0
Provides: bundled(node-minimatch) = 10.0.1
Provides: bundled(node-undici) = 6.20.0
Provides: bundled(node-undici) = 6.21.1
%description
Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js
@@ -421,7 +430,7 @@ Requires: nodejs-common
Requires: nodejs22 = %{version}
Provides: nodejs-npm = %{version}
Obsoletes: nodejs-npm < 4.0.0
Provides: npm(npm) = 10.9.0
Provides: npm(npm) = 10.9.2
Provides: npm = %{version}
%if 0%{?suse_version} >= 1500
%if %{node_version_number} >= 10
@@ -434,7 +443,7 @@ Provides: bundled(node-abbrev) = 3.0.0
Provides: bundled(node-agent-base) = 7.1.1
Provides: bundled(node-aggregate-error) = 3.1.0
Provides: bundled(node-ansi-regex) = 5.0.1
Provides: bundled(node-ansi-regex) = 6.0.1
Provides: bundled(node-ansi-regex) = 6.1.0
Provides: bundled(node-ansi-styles) = 4.3.0
Provides: bundled(node-ansi-styles) = 6.2.1
Provides: bundled(node-aproba) = 2.0.0
@@ -443,12 +452,11 @@ Provides: bundled(node-balanced-match) = 1.0.2
Provides: bundled(node-bin-links) = 5.0.0
Provides: bundled(node-binary-extensions) = 2.3.0
Provides: bundled(node-brace-expansion) = 2.0.1
Provides: bundled(node-cacache) = 18.0.4
Provides: bundled(node-cacache) = 19.0.1
Provides: bundled(node-chalk) = 5.3.0
Provides: bundled(node-chownr) = 2.0.0
Provides: bundled(node-chownr) = 3.0.0
Provides: bundled(node-ci-info) = 4.0.0
Provides: bundled(node-ci-info) = 4.1.0
Provides: bundled(node-cidr-regex) = 4.1.1
Provides: bundled(node-clean-stack) = 2.2.0
Provides: bundled(node-cli-columns) = 4.0.0
@@ -456,9 +464,9 @@ Provides: bundled(node-cmd-shim) = 7.0.0
Provides: bundled(node-color-convert) = 2.0.1
Provides: bundled(node-color-name) = 1.1.4
Provides: bundled(node-common-ancestor-path) = 1.0.1
Provides: bundled(node-cross-spawn) = 7.0.3
Provides: bundled(node-cross-spawn) = 7.0.6
Provides: bundled(node-cssesc) = 3.0.0
Provides: bundled(node-debug) = 4.3.6
Provides: bundled(node-debug) = 4.3.7
Provides: bundled(node-diff) = 5.2.0
Provides: bundled(node-eastasianwidth) = 0.2.0
Provides: bundled(node-emoji-regex) = 8.0.0
@@ -473,7 +481,7 @@ Provides: bundled(node-fs-minipass) = 2.1.0
Provides: bundled(node-fs-minipass) = 3.0.3
Provides: bundled(node-glob) = 10.4.5
Provides: bundled(node-graceful-fs) = 4.2.11
Provides: bundled(node-hosted-git-info) = 8.0.0
Provides: bundled(node-hosted-git-info) = 8.0.2
Provides: bundled(node-http-cache-semantics) = 4.1.1
Provides: bundled(node-http-proxy-agent) = 7.0.2
Provides: bundled(node-https-proxy-agent) = 7.0.5
@@ -482,12 +490,11 @@ Provides: bundled(node-ignore-walk) = 7.0.0
Provides: bundled(node-imurmurhash) = 0.1.4
Provides: bundled(node-indent-string) = 4.0.0
Provides: bundled(node-ini) = 5.0.0
Provides: bundled(node-init-package-json) = 7.0.1
Provides: bundled(node-init-package-json) = 7.0.2
Provides: bundled(node-ip-address) = 9.0.5
Provides: bundled(node-ip-regex) = 5.0.0
Provides: bundled(node-is-cidr) = 5.1.0
Provides: bundled(node-is-fullwidth-code-point) = 3.0.0
Provides: bundled(node-is-lambda) = 1.0.1
Provides: bundled(node-isexe) = 2.0.0
Provides: bundled(node-isexe) = 3.1.1
Provides: bundled(node-jackspeak) = 3.4.3
@@ -504,19 +511,17 @@ Provides: bundled(node-libnpmfund) = 6.0.0
Provides: bundled(node-libnpmhook) = 11.0.0
Provides: bundled(node-libnpmorg) = 7.0.0
Provides: bundled(node-libnpmpack) = 8.0.0
Provides: bundled(node-libnpmpublish) = 10.0.0
Provides: bundled(node-libnpmpublish) = 10.0.1
Provides: bundled(node-libnpmsearch) = 8.0.0
Provides: bundled(node-libnpmteam) = 7.0.0
Provides: bundled(node-libnpmversion) = 7.0.0
Provides: bundled(node-lru-cache) = 10.4.3
Provides: bundled(node-make-fetch-happen) = 13.0.1
Provides: bundled(node-make-fetch-happen) = 14.0.1
Provides: bundled(node-make-fetch-happen) = 14.0.3
Provides: bundled(node-minimatch) = 9.0.5
Provides: bundled(node-minipass) = 3.3.6
Provides: bundled(node-minipass) = 5.0.0
Provides: bundled(node-minipass) = 7.1.2
Provides: bundled(node-minipass-collect) = 2.0.1
Provides: bundled(node-minipass-fetch) = 3.0.5
Provides: bundled(node-minipass-fetch) = 4.0.0
Provides: bundled(node-minipass-flush) = 1.0.5
Provides: bundled(node-minipass-pipeline) = 1.2.4
@@ -525,37 +530,35 @@ Provides: bundled(node-minizlib) = 2.1.2
Provides: bundled(node-minizlib) = 3.0.1
Provides: bundled(node-mkdirp) = 1.0.4
Provides: bundled(node-mkdirp) = 3.0.1
Provides: bundled(node-ms) = 2.1.2
Provides: bundled(node-ms) = 2.1.3
Provides: bundled(node-mute-stream) = 2.0.0
Provides: bundled(node-negotiator) = 0.6.3
Provides: bundled(node-node-gyp) = 10.2.0
Provides: bundled(node-nopt) = 7.2.1
Provides: bundled(node-negotiator) = 1.0.0
Provides: bundled(node-node-gyp) = 11.0.0
Provides: bundled(node-nopt) = 8.0.0
Provides: bundled(node-normalize-package-data) = 7.0.0
Provides: bundled(node-npm-audit-report) = 6.0.0
Provides: bundled(node-npm-bundled) = 4.0.0
Provides: bundled(node-npm-install-checks) = 7.1.0
Provides: bundled(node-npm-install-checks) = 7.1.1
Provides: bundled(node-npm-normalize-package-bin) = 4.0.0
Provides: bundled(node-npm-package-arg) = 12.0.0
Provides: bundled(node-npm-packlist) = 9.0.0
Provides: bundled(node-npm-pick-manifest) = 10.0.0
Provides: bundled(node-npm-profile) = 11.0.1
Provides: bundled(node-npm-registry-fetch) = 18.0.1
Provides: bundled(node-npm-registry-fetch) = 18.0.2
Provides: bundled(node-npm-user-validate) = 3.0.0
Provides: bundled(node-p-map) = 4.0.0
Provides: bundled(node-p-map) = 7.0.2
Provides: bundled(node-package-json-from-dist) = 1.0.0
Provides: bundled(node-pacote) = 19.0.0
Provides: bundled(node-package-json-from-dist) = 1.0.1
Provides: bundled(node-pacote) = 19.0.1
Provides: bundled(node-pacote) = 20.0.0
Provides: bundled(node-parse-conflict-json) = 4.0.0
Provides: bundled(node-path-key) = 3.1.1
Provides: bundled(node-path-scurry) = 1.11.1
Provides: bundled(node-postcss-selector-parser) = 6.1.2
Provides: bundled(node-proc-log) = 4.2.0
Provides: bundled(node-proc-log) = 5.0.0
Provides: bundled(node-proggy) = 3.0.0
Provides: bundled(node-promise-all-reject-late) = 1.0.1
Provides: bundled(node-promise-call-limit) = 3.0.1
Provides: bundled(node-promise-call-limit) = 3.0.2
Provides: bundled(node-promise-inflight) = 1.0.1
Provides: bundled(node-promise-retry) = 2.0.1
Provides: bundled(node-promzard) = 2.0.0
@@ -570,7 +573,7 @@ Provides: bundled(node-semver) = 7.6.3
Provides: bundled(node-shebang-command) = 2.0.0
Provides: bundled(node-shebang-regex) = 3.0.0
Provides: bundled(node-signal-exit) = 4.1.0
Provides: bundled(node-sigstore) = 2.3.1
Provides: bundled(node-sigstore) = 3.0.0
Provides: bundled(node-smart-buffer) = 4.2.0
Provides: bundled(node-socks) = 2.8.3
Provides: bundled(node-socks-proxy-agent) = 8.0.4
@@ -578,9 +581,8 @@ Provides: bundled(node-spdx-correct) = 3.2.0
Provides: bundled(node-spdx-exceptions) = 2.5.0
Provides: bundled(node-spdx-expression-parse) = 3.0.1
Provides: bundled(node-spdx-expression-parse) = 4.0.0
Provides: bundled(node-spdx-license-ids) = 3.0.18
Provides: bundled(node-spdx-license-ids) = 3.0.20
Provides: bundled(node-sprintf-js) = 1.1.3
Provides: bundled(node-ssri) = 10.0.6
Provides: bundled(node-ssri) = 12.0.0
Provides: bundled(node-string-width) = 4.2.3
Provides: bundled(node-string-width) = 5.1.2
@@ -592,17 +594,14 @@ Provides: bundled(node-tar) = 7.4.3
Provides: bundled(node-text-table) = 0.2.0
Provides: bundled(node-tiny-relative-date) = 1.3.0
Provides: bundled(node-treeverse) = 3.0.0
Provides: bundled(node-tuf-js) = 2.2.1
Provides: bundled(node-unique-filename) = 3.0.0
Provides: bundled(node-tuf-js) = 3.0.1
Provides: bundled(node-unique-filename) = 4.0.0
Provides: bundled(node-unique-slug) = 4.0.0
Provides: bundled(node-unique-slug) = 5.0.0
Provides: bundled(node-util-deprecate) = 1.0.2
Provides: bundled(node-validate-npm-package-license) = 3.0.4
Provides: bundled(node-validate-npm-package-name) = 6.0.0
Provides: bundled(node-walk-up-path) = 3.0.1
Provides: bundled(node-which) = 2.0.2
Provides: bundled(node-which) = 4.0.0
Provides: bundled(node-which) = 5.0.0
Provides: bundled(node-wrap-ansi) = 7.0.0
Provides: bundled(node-wrap-ansi) = 8.1.0
@@ -701,6 +700,7 @@ popd
%patch -P 305 -p1
%patch -P 307 -p1
%patch -P 309 -p1
%patch -P 311 -p1
%if %{node_version_number} == 12
# minimist security update - patch50
@@ -799,7 +799,7 @@ EOF
%if %{node_version_number} < 19
--without-dtrace \
%endif
%if %{node_version_number} >= 22
%if %{node_version_number} >= 22 && 0%{?suse_version} > 1500
--shared-sqlite \
%endif
%if %{node_version_number} >= 16 && (0%{?suse_version} > 1550 || 0%{?sle_version} >= 150400)
@@ -942,6 +942,7 @@ rm test/parallel/test-strace-openat-openssl.js
%if 0%{?forced_python_version:1}
sed -i -e "s,'python3','python%{forced_python_version}'," test/parallel/test-child-process-set-blocking.js
test -e tools/pseudo-tty.py && sed -i -e "s,^#!/usr/bin/env python3$,#!/usr/bin/python%{forced_python_version}," tools/pseudo-tty.py ||:
export PYTHON="/usr/bin/python%{forced_python_version}"
%endif
ln addon-rpm.gypi deps/npm/node_modules/node-gyp/addon-rpm.gypi
@@ -956,6 +957,12 @@ rm test/parallel/test-dns-cancel-reverse-lookup.js \
test/parallel/test-dns-resolveany.js
# multicast test fail since no socket?
rm test/parallel/test-dgram-membership.js
%if %{node_version_number} >= 22
# ::1 not defined in OBS on TW - https://github.com/openSUSE/obs-build/issues/848
rm test/report/test-report-exclude-network.js
# missing ICU test data for 15.6/15.7
ln test/fixtures/icu/localizationData-v74.2.json test/fixtures/icu/localizationData-v73.2.json
%endif
%if %{node_version_number} >= 18
# OBS broken /etc/hosts -- https://github.com/openSUSE/open-build-service/issues/13104

155
old_cares.patch Normal file
View File

@@ -0,0 +1,155 @@
temporary revert changes until we can upgrade c-ares in SLE-15:Update
commit bf68733e7f61bf4ff51a456e27123f44a526aebc
Author: Aviv Keller <redyetidev@gmail.com>
Date: Wed Oct 30 10:10:28 2024 -0400
dns: stop using deprecated `ares_query`
PR-URL: https://github.com/nodejs/node/pull/55430
Refs: https://github.com/nodejs/node/issues/52464
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Index: node-v22.12.0/src/cares_wrap.cc
===================================================================
--- node-v22.12.0.orig/src/cares_wrap.cc
+++ node-v22.12.0/src/cares_wrap.cc
@@ -825,62 +825,62 @@ void ChannelWrap::EnsureServers() {
}
int AnyTraits::Send(QueryWrap<AnyTraits>* wrap, const char* name) {
- wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_ANY);
+ wrap->AresQuery(name, ns_c_in, ns_t_any);
return ARES_SUCCESS;
}
int ATraits::Send(QueryWrap<ATraits>* wrap, const char* name) {
- wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_A);
+ wrap->AresQuery(name, ns_c_in, ns_t_a);
return ARES_SUCCESS;
}
int AaaaTraits::Send(QueryWrap<AaaaTraits>* wrap, const char* name) {
- wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_AAAA);
+ wrap->AresQuery(name, ns_c_in, ns_t_aaaa);
return ARES_SUCCESS;
}
int CaaTraits::Send(QueryWrap<CaaTraits>* wrap, const char* name) {
- wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_CAA);
+ wrap->AresQuery(name, ns_c_in, T_CAA);
return ARES_SUCCESS;
}
int CnameTraits::Send(QueryWrap<CnameTraits>* wrap, const char* name) {
- wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_CNAME);
+ wrap->AresQuery(name, ns_c_in, ns_t_cname);
return ARES_SUCCESS;
}
int MxTraits::Send(QueryWrap<MxTraits>* wrap, const char* name) {
- wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_MX);
+ wrap->AresQuery(name, ns_c_in, ns_t_mx);
return ARES_SUCCESS;
}
int NsTraits::Send(QueryWrap<NsTraits>* wrap, const char* name) {
- wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_NS);
+ wrap->AresQuery(name, ns_c_in, ns_t_ns);
return ARES_SUCCESS;
}
int TxtTraits::Send(QueryWrap<TxtTraits>* wrap, const char* name) {
- wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_TXT);
+ wrap->AresQuery(name, ns_c_in, ns_t_txt);
return ARES_SUCCESS;
}
int SrvTraits::Send(QueryWrap<SrvTraits>* wrap, const char* name) {
- wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_SRV);
+ wrap->AresQuery(name, ns_c_in, ns_t_srv);
return ARES_SUCCESS;
}
int PtrTraits::Send(QueryWrap<PtrTraits>* wrap, const char* name) {
- wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_PTR);
+ wrap->AresQuery(name, ns_c_in, ns_t_ptr);
return ARES_SUCCESS;
}
int NaptrTraits::Send(QueryWrap<NaptrTraits>* wrap, const char* name) {
- wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_NAPTR);
+ wrap->AresQuery(name, ns_c_in, ns_t_naptr);
return ARES_SUCCESS;
}
int SoaTraits::Send(QueryWrap<SoaTraits>* wrap, const char* name) {
- wrap->AresQuery(name, ARES_CLASS_IN, ARES_REC_TYPE_SOA);
+ wrap->AresQuery(name, ns_c_in, ns_t_soa);
return ARES_SUCCESS;
}
Index: node-v22.12.0/src/cares_wrap.h
===================================================================
--- node-v22.12.0.orig/src/cares_wrap.h
+++ node-v22.12.0/src/cares_wrap.h
@@ -246,20 +246,18 @@ class QueryWrap final : public AsyncWrap
return Traits::Send(this, name);
}
- void AresQuery(const char* name,
- ares_dns_class_t dnsclass,
- ares_dns_rec_type_t type) {
+ void AresQuery(const char* name, int dnsclass, int type) {
channel_->EnsureServers();
TRACE_EVENT_NESTABLE_ASYNC_BEGIN1(
TRACING_CATEGORY_NODE2(dns, native), trace_name_, this,
"name", TRACE_STR_COPY(name));
- ares_query_dnsrec(channel_->cares_channel(),
- name,
- dnsclass,
- type,
- Callback,
- MakeCallbackPointer(),
- nullptr);
+ ares_query(
+ channel_->cares_channel(),
+ name,
+ dnsclass,
+ type,
+ Callback,
+ MakeCallbackPointer());
}
void ParseError(int status) {
@@ -306,20 +304,19 @@ class QueryWrap final : public AsyncWrap
return wrap;
}
- static void Callback(void* arg,
- ares_status_t status,
- size_t timeouts,
- const ares_dns_record_t* dnsrec) {
+ static void Callback(
+ void* arg,
+ int status,
+ int timeouts,
+ unsigned char* answer_buf,
+ int answer_len) {
QueryWrap<Traits>* wrap = FromCallbackPointer(arg);
if (wrap == nullptr) return;
unsigned char* buf_copy = nullptr;
- size_t answer_len = 0;
if (status == ARES_SUCCESS) {
- // No need to explicitly call ares_free_string here,
- // as it is a wrapper around free, which is already
- // invoked when MallocedBuffer is destructed.
- ares_dns_write(dnsrec, &buf_copy, &answer_len);
+ buf_copy = node::Malloc<unsigned char>(answer_len);
+ memcpy(buf_copy, answer_buf, answer_len);
}
wrap->response_data_ = std::make_unique<ResponseData>();