Skip to content

Commit 2ce828c

Browse files
Merge pull request #1036 from nodejs/main
Create a new pull request by comparing changes across two branches
2 parents 64b3726 + 03d414e commit 2ce828c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+3611
-3955
lines changed

.github/workflows/commit-queue.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,15 @@ jobs:
3838
--base ${{ github.ref_name }} \
3939
--label 'commit-queue' \
4040
--json 'number' \
41-
--search "created:<=$(date --date="2 days ago" +"%Y-%m-%dT%H:%M:%S%z")" \
41+
--search "created:<=$(date --date="2 days ago" +"%Y-%m-%dT%H:%M:%S%z") -label:blocked" \
4242
-t '{{ range . }}{{ .number }} {{ end }}' \
4343
--limit 100)
4444
fast_track_prs=$(gh pr list \
4545
--repo ${{ github.repository }} \
4646
--base ${{ github.ref_name }} \
4747
--label 'commit-queue' \
4848
--label 'fast-track' \
49+
--search "-label:blocked" \
4950
--json 'number' \
5051
-t '{{ range . }}{{ .number }} {{ end }}' \
5152
--limit 100)

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ release.
3838
<th title="LTS Until 2025-04"><a href="doc/changelogs/CHANGELOG_V18.md">18</a> (LTS)</th>
3939
</tr>
4040
<tr>
41-
<b><a href="doc/changelogs/CHANGELOG_V23.md#23.1.0">23.1.0</a></b><br/>
41+
<b><a href="doc/changelogs/CHANGELOG_V23.md#23.2.0">23.2.0</a></b><br/>
42+
<a href="doc/changelogs/CHANGELOG_V23.md#23.1.0">23.1.0</a><br/>
4243
<a href="doc/changelogs/CHANGELOG_V23.md#23.0.0">23.0.0</a><br/>
4344
</td>
4445
<td valign="top">

LICENSE

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -797,6 +797,34 @@ The externally maintained libraries used by Node.js are:
797797

798798
----------------------------------------------------------------------
799799

800+
JSON parsing library (nlohmann/json)
801+
802+
File: vendor/json/upstream/single_include/nlohmann/json.hpp (only for ICU4C)
803+
804+
MIT License
805+
806+
Copyright (c) 2013-2022 Niels Lohmann
807+
808+
Permission is hereby granted, free of charge, to any person obtaining a copy
809+
of this software and associated documentation files (the "Software"), to deal
810+
in the Software without restriction, including without limitation the rights
811+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
812+
copies of the Software, and to permit persons to whom the Software is
813+
furnished to do so, subject to the following conditions:
814+
815+
The above copyright notice and this permission notice shall be included in all
816+
copies or substantial portions of the Software.
817+
818+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
819+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
820+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
821+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
822+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
823+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
824+
SOFTWARE.
825+
826+
----------------------------------------------------------------------
827+
800828
File: aclocal.m4 (only for ICU4C)
801829
Section: pkg.m4 - Macros to locate and utilise pkg-config.
802830

@@ -834,7 +862,7 @@ The externally maintained libraries used by Node.js are:
834862

835863
This file is free software; you can redistribute it and/or modify it
836864
under the terms of the GNU General Public License as published by
837-
the Free Software Foundation; either version 3 of the License, or
865+
the Free Software Foundation, either version 3 of the License, or
838866
(at your option) any later version.
839867

840868
This program is distributed in the hope that it will be useful, but

Makefile

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,7 @@ with-code-cache test-code-cache:
171171
$(warning '$@' target is a noop)
172172

173173
out/Makefile: config.gypi common.gypi node.gyp \
174-
deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \
175-
deps/simdutf/simdutf.gyp deps/ada/ada.gyp deps/nbytes/nbytes.gyp \
174+
deps/*/*.gyp \
176175
tools/v8_gypfiles/toolchain.gypi \
177176
tools/v8_gypfiles/features.gypi \
178177
tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp
@@ -1414,6 +1413,11 @@ LINT_CPP_EXCLUDE += $(LINT_CPP_ADDON_DOC_FILES)
14141413
# These files were copied more or less verbatim from V8.
14151414
LINT_CPP_EXCLUDE += src/tracing/trace_event.h src/tracing/trace_event_common.h
14161415

1416+
# deps/ncrypto is included in this list, as it is maintained in
1417+
# this repository, and should be linted. Eventually it should move
1418+
# to its own repo, at which point we should remove it from this list.
1419+
LINT_CPP_DEPS = deps/ncrypto/*.cc deps/ncrypto/*.h
1420+
14171421
LINT_CPP_FILES = $(filter-out $(LINT_CPP_EXCLUDE), $(wildcard \
14181422
benchmark/napi/*/*.cc \
14191423
src/*.c \
@@ -1438,6 +1442,7 @@ LINT_CPP_FILES = $(filter-out $(LINT_CPP_EXCLUDE), $(wildcard \
14381442
tools/code_cache/*.h \
14391443
tools/snapshot/*.cc \
14401444
tools/snapshot/*.h \
1445+
$(LINT_CPP_DEPS) \
14411446
))
14421447

14431448
FORMAT_CPP_FILES ?=

benchmark/test_runner/mock-fn.js

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
'use strict';
2+
3+
const common = require('../common');
4+
const assert = require('node:assert');
5+
const { test } = require('node:test');
6+
7+
const bench = common.createBenchmark(main, {
8+
n: [1e6],
9+
mode: ['define', 'execute'],
10+
}, {
11+
// We don't want to test the reporter here
12+
flags: ['--test-reporter=./benchmark/fixtures/empty-test-reporter.js'],
13+
});
14+
15+
const noop = () => {};
16+
17+
function benchmarkDefine(n) {
18+
let noDead;
19+
test((t) => {
20+
bench.start();
21+
for (let i = 0; i < n; i++) {
22+
noDead = t.mock.fn(noop);
23+
}
24+
bench.end(n);
25+
assert.ok(noDead);
26+
});
27+
}
28+
29+
function benchmarkExecute(n) {
30+
let noDead;
31+
test((t) => {
32+
const mocked = t.mock.fn(noop);
33+
bench.start();
34+
for (let i = 0; i < n; i++) {
35+
noDead = mocked();
36+
}
37+
bench.end(n);
38+
assert.strictEqual(noDead, noop());
39+
});
40+
}
41+
42+
function main({ n, mode }) {
43+
if (mode === 'define') {
44+
benchmarkDefine(n);
45+
} else if (mode === 'execute') {
46+
benchmarkExecute(n);
47+
}
48+
}

deps/cares/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ INCLUDE (CheckCSourceCompiles)
1212
INCLUDE (CheckStructHasMember)
1313
INCLUDE (CheckLibraryExists)
1414

15-
PROJECT (c-ares LANGUAGES C VERSION "1.34.2" )
15+
PROJECT (c-ares LANGUAGES C VERSION "1.34.3" )
1616

1717
# Set this version before release
1818
SET (CARES_VERSION "${PROJECT_VERSION}")
@@ -30,7 +30,7 @@ INCLUDE (GNUInstallDirs) # include this *AFTER* PROJECT(), otherwise paths are w
3030
# For example, a version of 4:0:2 would generate output such as:
3131
# libname.so -> libname.so.2
3232
# libname.so.2 -> libname.so.2.2.0
33-
SET (CARES_LIB_VERSIONINFO "21:1:19")
33+
SET (CARES_LIB_VERSIONINFO "21:2:19")
3434

3535

3636
OPTION (CARES_STATIC "Build as a static library" OFF)
@@ -263,7 +263,7 @@ ENDIF ()
263263
# Set system-specific compiler flags
264264
IF (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
265265
LIST (APPEND SYSFLAGS -D_DARWIN_C_SOURCE)
266-
ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "Linux")
266+
ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Android")
267267
LIST (APPEND SYSFLAGS -D_GNU_SOURCE -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700)
268268
ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "SunOS")
269269
LIST (APPEND SYSFLAGS -D__EXTENSIONS__ -D_REENTRANT -D_XOPEN_SOURCE=600)

deps/cares/Makefile.in

Lines changed: 17 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# Makefile.in generated by automake 1.17 from Makefile.am.
1+
# Makefile.in generated by automake 1.16.5 from Makefile.am.
22
# @configure_input@
33

4-
# Copyright (C) 1994-2024 Free Software Foundation, Inc.
4+
# Copyright (C) 1994-2021 Free Software Foundation, Inc.
55

66
# This Makefile.in is free software; the Free Software Foundation
77
# gives unlimited permission to copy and/or distribute it,
@@ -91,8 +91,6 @@ am__make_running_with_option = \
9191
test $$has_opt = yes
9292
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
9393
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
94-
am__rm_f = rm -f $(am__rm_f_notfound)
95-
am__rm_rf = rm -rf $(am__rm_f_notfound)
9694
pkgdatadir = $(datadir)/@PACKAGE@
9795
pkgincludedir = $(includedir)/@PACKAGE@
9896
pkglibdir = $(libdir)/@PACKAGE@
@@ -196,9 +194,10 @@ am__base_list = \
196194
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
197195
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
198196
am__uninstall_files_from_dir = { \
199-
{ test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
200-
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
201-
$(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \
197+
test -z "$$files" \
198+
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
199+
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
200+
$(am__cd) "$$dir" && rm -f $$files; }; \
202201
}
203202
am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
204203
DATA = $(pkgconfig_DATA)
@@ -239,8 +238,8 @@ distdir = $(PACKAGE)-$(VERSION)
239238
top_distdir = $(distdir)
240239
am__remove_distdir = \
241240
if test -d "$(distdir)"; then \
242-
find "$(distdir)" -type d ! -perm -700 -exec chmod u+rwx {} ';' \
243-
; rm -rf "$(distdir)" \
241+
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
242+
&& rm -rf "$(distdir)" \
244243
|| { sleep 5 && rm -rf "$(distdir)"; }; \
245244
else :; fi
246245
am__post_remove_distdir = $(am__remove_distdir)
@@ -270,16 +269,14 @@ am__relativize = \
270269
done; \
271270
reldir="$$dir2"
272271
DIST_ARCHIVES = $(distdir).tar.gz
273-
GZIP_ENV = -9
272+
GZIP_ENV = --best
274273
DIST_TARGETS = dist-gzip
275274
# Exists only to be overridden by the user if desired.
276275
AM_DISTCHECK_DVI_TARGET = dvi
277276
distuninstallcheck_listfiles = find . -type f -print
278277
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
279278
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
280-
distcleancheck_listfiles = \
281-
find . \( -type f -a \! \
282-
\( -name .nfs* -o -name .smb* -o -name .__afs* \) \) -print
279+
distcleancheck_listfiles = find . -type f -print
283280
ACLOCAL = @ACLOCAL@
284281
AMTAR = @AMTAR@
285282
AM_CFLAGS = @AM_CFLAGS@
@@ -325,7 +322,6 @@ EGREP = @EGREP@
325322
ETAGS = @ETAGS@
326323
EXEEXT = @EXEEXT@
327324
FGREP = @FGREP@
328-
FILECMD = @FILECMD@
329325
GCOV = @GCOV@
330326
GENHTML = @GENHTML@
331327
GMOCK112_CFLAGS = @GMOCK112_CFLAGS@
@@ -392,10 +388,8 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
392388
am__include = @am__include@
393389
am__leading_dot = @am__leading_dot@
394390
am__quote = @am__quote@
395-
am__rm_f_notfound = @am__rm_f_notfound@
396391
am__tar = @am__tar@
397392
am__untar = @am__untar@
398-
am__xargs_n = @am__xargs_n@
399393
ax_pthread_config = @ax_pthread_config@
400394
bindir = @bindir@
401395
build = @build@
@@ -641,7 +635,7 @@ distdir: $(BUILT_SOURCES)
641635

642636
distdir-am: $(DISTFILES)
643637
$(am__remove_distdir)
644-
$(AM_V_at)$(MKDIR_P) "$(distdir)"
638+
test -d "$(distdir)" || mkdir "$(distdir)"
645639
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
646640
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
647641
list='$(DISTFILES)'; \
@@ -755,7 +749,7 @@ dist dist-all:
755749
distcheck: dist
756750
case '$(DIST_ARCHIVES)' in \
757751
*.tar.gz*) \
758-
eval GZIP= gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
752+
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
759753
*.tar.bz2*) \
760754
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
761755
*.tar.lz*) \
@@ -765,7 +759,7 @@ distcheck: dist
765759
*.tar.Z*) \
766760
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
767761
*.shar.gz*) \
768-
eval GZIP= gzip -dc $(distdir).shar.gz | unshar ;;\
762+
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
769763
*.zip*) \
770764
unzip $(distdir).zip ;;\
771765
*.tar.zst*) \
@@ -866,12 +860,12 @@ install-strip:
866860
mostlyclean-generic:
867861

868862
clean-generic:
869-
-$(am__rm_f) $(CLEANFILES)
863+
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
870864

871865
distclean-generic:
872-
-$(am__rm_f) $(CONFIG_CLEAN_FILES)
873-
-test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
874-
-$(am__rm_f) $(DISTCLEANFILES)
866+
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
867+
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
868+
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
875869

876870
maintainer-clean-generic:
877871
@echo "This command is intended for maintainers to use"
@@ -980,10 +974,3 @@ dist-hook:
980974
# Tell versions [3.59,3.63) of GNU make to not export all variables.
981975
# Otherwise a system limit (for SysV at least) may be exceeded.
982976
.NOEXPORT:
983-
984-
# Tell GNU make to disable its built-in pattern rules.
985-
%:: %,v
986-
%:: RCS/%,v
987-
%:: RCS/%
988-
%:: s.%
989-
%:: SCCS/s.%

deps/cares/RELEASE-NOTES.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,34 @@
1+
## c-ares version 1.34.3 - November 9 2024
2+
3+
This is a bugfix release.
4+
5+
Changes:
6+
* Build the release package in an automated way so we can provide
7+
provenance as per [SLSA3](https://slsa.dev/).
8+
[PR #906](https://github.com/c-ares/c-ares/pull/906)
9+
10+
Bugfixes:
11+
* Some upstream servers are non-compliant with EDNS options, resend queries
12+
without EDNS. [Issue #911](https://github.com/c-ares/c-ares/issues/911)
13+
* Android: <=7 needs sys/system_properties.h
14+
[a70637c](https://github.com/c-ares/c-ares/commit/a70637c)
15+
* Android: CMake needs `-D_GNU_SOURCE` and others.
16+
[PR #915](https://github.com/c-ares/c-ares/pull/914)
17+
* TSAN warns on missing lock, but lock isn't actually necessary.
18+
[PR #915](https://github.com/c-ares/c-ares/pull/915)
19+
* `ares_getaddrinfo()` for `AF_UNSPEC` should retry IPv4 if only IPv6 is
20+
received. [765d558](https://github.com/c-ares/c-ares/commit/765d558)
21+
* `ares_send()` shouldn't return `ARES_EBADRESP`, its `ARES_EBADQUERY`.
22+
[91519e7](https://github.com/c-ares/c-ares/commit/91519e7)
23+
* Fix typos in man pages. [PR #905](https://github.com/c-ares/c-ares/pull/905)
24+
25+
Thanks go to these friendly people for their efforts and contributions for this
26+
release:
27+
28+
* Brad House (@bradh352)
29+
* Jiwoo Park (@jimmy-park)
30+
31+
132
## c-ares version 1.34.2 - October 15 2024
233

334
This release contains a fix for downstream packages detecting the c-ares

0 commit comments

Comments
 (0)