Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit e4ea2db

Browse filesBrowse files
nodejs-github-botrichardlau
authored andcommitted
deps: update c-ares to 1.28.1
PR-URL: #52285 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
1 parent 14e857b commit e4ea2db
Copy full SHA for e4ea2db

87 files changed

+2,903-1,863Lines changed: 2903 additions & 1863 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Dismiss banner
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎deps/cares/CHANGES‎

Copy file name to clipboardExpand all lines: deps/cares/CHANGES
+245-124Lines changed: 245 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,250 @@
11
Changelog for the c-ares project. Generated with git2changes.pl
22

3+
Version 1.28.1 (30 Mar 2024)
4+
5+
GitHub (30 Mar 2024)
6+
- [Brad House brought this change]
7+
8+
release prep for 1.28.1 (#739)
9+
10+
Brad House (30 Mar 2024)
11+
- ares_search() and ares_getaddrinfo() resolution fails if no search domains
12+
13+
Due to an error in creating the list of domains to search, if no search
14+
domains were configured, resolution would fail.
15+
16+
Fixes Issue: #737
17+
Fix By: Brad House (@bradh352)
18+
19+
- typo
20+
21+
Version 1.28.0 (28 Mar 2024)
22+
23+
GitHub (28 Mar 2024)
24+
- [Brad House brought this change]
25+
26+
Allow configuration value for NDots to be zero (#735)
27+
28+
As per Issue #734 some people use `ndots:0` in their configuration which
29+
is allowed by the system resolver but not by c-ares. Add support for
30+
`ndots:0` and add a test case to validate this behavior.
31+
32+
Fixes Issue: #734
33+
Fix By: Brad House (@bradh352)
34+
35+
Brad House (27 Mar 2024)
36+
- typo
37+
38+
GitHub (27 Mar 2024)
39+
- [Brad House brought this change]
40+
41+
1.28.0 release prep (#733)
42+
43+
Brad House (27 Mar 2024)
44+
- CMake: don't overwrite global required libraries/definitions/includes
45+
46+
When chain building c-ares, global settings were being unset which
47+
could lead to build problems.
48+
49+
Fixes Issue: #729
50+
Fix By: Brad House (@bradh352)
51+
52+
- remove tests that have been disabled forever
53+
54+
- clang-format
55+
56+
- ares_search_dnsrec() takes a const
57+
58+
- sonarcloud: clean up some minor codesmells
59+
60+
GitHub (26 Mar 2024)
61+
- [Brad House brought this change]
62+
63+
mark deprecated functions as such (#732)
64+
65+
Multiple functions have been deprecated over the years, annotate them
66+
with attribute deprecated.
67+
68+
When possible show a message about their replacements.
69+
70+
This is a continuation/completion of PR #706
71+
72+
Fix By: Cristian Rodríguez (@crrodriguez)
73+
74+
Brad House (26 Mar 2024)
75+
- silence clang static analyzer
76+
77+
- silence coverity
78+
79+
- coverity: fix mostly bogus warnings
80+
81+
- fix missing doc
82+
83+
GitHub (25 Mar 2024)
84+
- [Brad House brought this change]
85+
86+
Rework internals to pass around `ares_dns_record_t` instead of binary data (#730)
87+
88+
c-ares has historically passed around raw dns packets in binary form.
89+
Now that we have a new parser, and messages are already parsed
90+
internally, lets pass around that parsed message rather than requiring
91+
multiple parse attempts on the same message. Also add a new
92+
`ares_send_dnsrec()` and `ares_query_dnsrec()` similar to
93+
`ares_search_dnsrec()` added with PR #719 that can return the pointer to
94+
the `ares_dns_record_t` to the caller enqueuing queries and rework
95+
`ares_search_dnsrec()` to use `ares_send_dnsrec()` internally.
96+
97+
Fix By: Brad House (@bradh352)
98+
99+
Brad House (23 Mar 2024)
100+
- tests: mockserver is local, shorten timeouts to make test cases run faster to use less CI resources
101+
102+
- appveyor: disable UWP builds until MSVC version is updated in base image
103+
104+
GitHub (21 Mar 2024)
105+
- [Faraz brought this change]
106+
107+
Include netinet6/in6.h (#728)
108+
109+
On some platforms, "netinet6/in6.h" is not included by "netinet/in.h"
110+
and needs to be included separately.
111+
112+
Fix By: Faraz (@farazrbx)
113+
114+
- [Oliver Welsh brought this change]
115+
116+
Add function ares_search_dnrec() to search for records using the new DNS record parser (#719)
117+
118+
This PR adds a new function `ares_search_dnsrec()` to search for records
119+
using the new DNS record parser.
120+
121+
The function takes an arbitrary DNS record object to search (that must
122+
represent a query for a single name). The function takes a new callback
123+
type, `ares_callback_dnsrec`, that is invoked with a parsed DNS record
124+
object rather than the raw buffer(+length).
125+
126+
The original motivation for this change is to provide support for
127+
[draft-kaplan-enum-sip-routing-04](https://datatracker.ietf.org/doc/html/draft-kaplan-enum-sip-routing-04);
128+
when routing phone calls using an ENUM server, it can be useful to
129+
include identifying source information in an OPT RR options value, to
130+
help select the appropriate route for the call. The new function allows
131+
for more customisable searches like this.
132+
133+
**Summary of code changes**
134+
135+
A new function `ares_search_dnsrec()` has been added and exposed.
136+
Moreover, the entire `ares_search_int()` internal code flow has been
137+
refactored to use parsed DNS record objects and the new DNS record
138+
parser. The DNS record object is passed through the `search_query`
139+
structure by encoding/decoding to/from a buffer (if multiple search
140+
domains are used). A helper function `ares_dns_write_query_altname()` is
141+
used to re-write the DNS record object with a new query name (used to
142+
append search domains).
143+
144+
`ares_search()` is now a wrapper around the new internal code, where the
145+
DNS record object is created based on the name, class and type
146+
parameters.
147+
148+
The new function uses a new callback type, `ares_callback_dnsrec`. This
149+
is invoked with a parsed DNS record object. For now, we convert from
150+
`ares_callback` to this new type using `ares__dnsrec_convert_cb()`.
151+
152+
Some functions that are common to both `ares_query()` and
153+
`ares_search()` have been refactored using the new DNS record parser.
154+
See `ares_dns_record_create_query()` and
155+
`ares_dns_query_reply_tostatus()`.
156+
157+
**Testing**
158+
159+
A new FV has been added to test the new function, which searches for a
160+
DNS record containing an OPT RR with custom options value.
161+
162+
As part of this, I needed to enhance the mock DNS server to expect
163+
request text (and assert that it matches actual request text). This is
164+
because the FV needs to check that the request contains the correct OPT
165+
RR.
166+
167+
**Documentation**
168+
169+
The man page docs have been updated to describe the new feature.
170+
171+
**Futures**
172+
173+
In the future, a new variant of `ares_send()` could be introduced in the
174+
same vein (`ares_send_dnsrec()`). This could be used by
175+
`ares_search_dnsrec()`. Moreover, we could migrate internal code to use
176+
`ares_callback_dnsrec` as the default callback.
177+
178+
This will help to make the new DNS record parser the norm in C-Ares.
179+
180+
---------
181+
182+
Co-authored-by: Oliver Welsh (@oliverwelsh)
183+
184+
- [Brad House brought this change]
185+
186+
Replace configuration file parsers with memory-safe parser (#725)
187+
188+
Rewrite configuration parsers using new memory safe parsing functions.
189+
After CVE-2024-25629 its obvious that we need to prioritize again on
190+
getting all the hand written parsers with direct pointer manipulation
191+
replaced. They're just not safe and hard to audit. It was yet another
192+
example of 20+yr old code having a memory safety issue just now coming
193+
to light.
194+
195+
Though these parsers are definitely less efficient, they're written with
196+
memory safety in mind, and any performance difference is going to be
197+
meaningless for something that only happens once a while.
198+
199+
Fix By: Brad House (@bradh352)
200+
201+
Brad House (12 Mar 2024)
202+
- skip ubsan/asan on debian arm64 due to the compiler getting killed
203+
204+
- ares_init potential memory leak
205+
206+
If initializing using default settings fails, there may be a memory leak of
207+
search domains that were set by system configuration.
208+
209+
Fixes Issue: #724
210+
Fix By: Brad House (@bradh352)
211+
212+
GitHub (12 Mar 2024)
213+
- [Faraz Fallahi brought this change]
214+
215+
simple implementation for isascii where stdlib isascii is not available (#721)
216+
217+
Some platforms don't have the isascii() function. Implement as a macro.
218+
219+
Fix By: Faraz Fallahi (@fffaraz)
220+
221+
Brad House (11 Mar 2024)
222+
- Doxygen: fix typos
223+
224+
Fix reported typos in doxygen-style comments.
225+
226+
Fixes Issue: #722
227+
Credit: @dzalyalov88
228+
229+
- CI: update freebsd image
230+
231+
- CMake: Fix Chain building if CMAKE runtime paths not set
232+
233+
This fixes issues created by #708
234+
235+
Fix By: Brad House (@bradh352)
236+
237+
- silence benign warnings
238+
239+
- Remove acountry completely from code, including manpage
240+
241+
Since acountry cannot be restored due to nerd.dk being decommissioned,
242+
we should completely remove the manpage and source. This also
243+
will resolve issue #718.
244+
245+
Fixes Issue: #718
246+
Fix By: Brad House (@bradh352)
247+
3248
Version 1.27.0 (22 Feb 2024)
4249

5250
GitHub (22 Feb 2024)
@@ -6100,127 +6345,3 @@ Yang Tse (10 Mar 2013)
61006345

61016346
Daniel Stenberg (9 Mar 2013)
61026347
- ares.h: there is no ares_free_soa function
6103-
6104-
Yang Tse (9 Mar 2013)
6105-
- Makefile.am: empty AM_LDFLAGS definition for automake 1.7 compatibility
6106-
6107-
- ares_inet_ntop.3: s/socklen_t/ares_socklen_t
6108-
6109-
- configure: use XC_LIBTOOL for portability across libtool versions
6110-
6111-
- xc-lt-iface.m4: provide XC_LIBTOOL macro
6112-
6113-
- Makefile.am: use AM_CPPFLAGS instead of INCLUDES
6114-
6115-
- inet_ntop.c: s/socklen_t/ares_socklen_t
6116-
6117-
- inet_ntop.c: s/socklen_t/ares_socklen_t for portability
6118-
6119-
Daniel Stenberg (19 Feb 2013)
6120-
- ares.h: s/socklen_t/ares_socklen_t for portability
6121-
6122-
- ares_inet_ntop.3: 4th argument is socklen_t!
6123-
6124-
- spell inet correctly!
6125-
6126-
- ares_inet_pton/ntop: cleanup
6127-
6128-
Make sure that the symbols are always exported and present in c-ares.
6129-
6130-
Make the headers prefixed with 'ares'.
6131-
6132-
Removed the inet_ntop.h version as it no longer features any content.
6133-
6134-
- ares_inet_ntop/ares_inet_pton: added man pages
6135-
6136-
Yang Tse (15 Feb 2013)
6137-
- [Gisle Vanem brought this change]
6138-
6139-
curl_setup_once.h: definition of HAVE_CLOSE_S defines sclose() to close_s()
6140-
6141-
- [Gisle Vanem brought this change]
6142-
6143-
config-dos.h: define HAVE_CLOSE_S for MSDOS/Watt-32
6144-
6145-
- [Gisle Vanem brought this change]
6146-
6147-
config-dos.h: define strerror() to strerror_s_() for High-C
6148-
6149-
Daniel Stenberg (13 Feb 2013)
6150-
- ares_get_datatype: removed unused function
6151-
6152-
it was also wrongly named as internal functions require two underscores
6153-
6154-
- ares__bitncmp: use two underscores for private functions
6155-
6156-
It used a single one previously making it look like a public one
6157-
6158-
- ares__generate_new_id: moved to ares_query.c
6159-
6160-
... and ares__rc4 is turned into a local static function.
6161-
6162-
- ares__swap_lists: make private and static
6163-
6164-
... since there's only one user, make it static within ares_process.c
6165-
6166-
Yang Tse (13 Feb 2013)
6167-
- Makefile.msvc: add four VS version strings
6168-
6169-
Daniel Stenberg (13 Feb 2013)
6170-
- ares_expand_name.3: clarify how to free the data
6171-
6172-
Yang Tse (30 Jan 2013)
6173-
- zz40-xc-ovr.m4: fix 'wc' detection - follow-up 2
6174-
6175-
- Fix a pair of single quotes to double quotes.
6176-
6177-
URL: http://curl.haxx.se/mail/lib-2013-01/0355.html
6178-
Reported by: Tor Arntsen
6179-
6180-
- zz40-xc-ovr.m4: fix 'wc' detection - follow-up
6181-
6182-
- Take into account that 'wc' may return leading spaces and/or tabs.
6183-
6184-
- Set initial IFS to space, tab and newline.
6185-
6186-
- zz40-xc-ovr.m4: fix 'wc' detection
6187-
6188-
- Take into account that 'wc' may return leading spaces.
6189-
6190-
- Set internationalization behavior variables.
6191-
6192-
Tor Arntsen analyzed and reported the issue.
6193-
6194-
URL: http://curl.haxx.se/mail/lib-2013-01/0351.html
6195-
6196-
- zz40-xc-ovr.m4: check another three basic utilities
6197-
6198-
- zz40-xc-ovr.m4: 1.0 interface stabilization
6199-
6200-
- Stabilization results in 4 public interface m4 macros:
6201-
XC_CONFIGURE_PREAMBLE
6202-
XC_CONFIGURE_PREAMBLE_VER_MAJOR
6203-
XC_CONFIGURE_PREAMBLE_VER_MINOR
6204-
XC_CHECK_PATH_SEPARATOR
6205-
- Avoid one level of internal indirection
6206-
- Update comments
6207-
- Drop XC_OVR_ZZ40 macro
6208-
6209-
- zz40-xc-ovr.m4: emit witness message in configure BODY
6210-
6211-
This avoids witness message in output when running configure --help,
6212-
while sending the message to config.log for other configure runs.
6213-
6214-
- zz40-xc-ovr.m4: truly do version conditional overriding
6215-
6216-
- version conditional overriding
6217-
- catch unexpanded XC macros
6218-
- fix double words in comments
6219-
6220-
- zz40-xc-ovr.m4: fix variable assignment of subshell output bashism
6221-
6222-
Tor Arntsen analyzed and reported the issue.
6223-
6224-
URL: http://curl.haxx.se/mail/lib-2013-01/0306.html
6225-
6226-
- zz40-xc-ovr.m4: reinstate strict AC_REQUIRE macro dependencies

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.