Releases: c-ares/c-ares
1.34.5
c-ares version 1.34.5 - April 8 2025
This is a security release.
Security:
- CVE-2025-31498. A use-after-free bug has been uncovered in read_answers() that was introduced in v1.32.3. Please see GHSA-6hxc-62jh-p29v
Changes:
- Restore Windows XP support. PR #958
Bugfixes:
- A missing mutex initialization would make busy polling for configuration changes (platforms other than Windows, Linux, MacOS) eat too much CPU PR #974
- Pkgconfig may be generated wrong for static builds in relation to
-pthread
PR #965 - Localhost resolution can fail if only one address family is in
/etc/hosts
PR #947
Thanks go to these friendly people for their efforts and contributions for this
release:
- Brad House (@bradh352)
- Erik Lax (@eriklax)
- Florian Pfisterer (@FlorianPfisterer)
- Kai Pastor (@dg0yt)
1.34.4
c-ares version 1.34.4 - December 14 2024
This is a bugfix release.
Changes:
- QNX Port: Port to QNX 8, add primary config reading support, add CI build. PR #934, PR #937, PR #938
Bugfixes:
- Empty TXT records were not being preserved. PR #922
- docs: update deprecation notices for
ares_create_query()
andares_mkquery()
. PR #910 - license: some files weren't properly updated. PR #920
- Fix bind local device regression from 1.34.0. PR #929, PR #931, PR #935
- CMake: set policy version to prevent deprecation warnings. PR #932
- CMake: shared and static library names should be the same on unix platforms like autotools uses. PR #933
- Update to latest autoconf archive macros for enhanced system compatibility. PR #936
Thanks go to these friendly people for their efforts and contributions for this
release:
- Brad House (@bradh352)
- Daniel Stenberg (@bagder)
- Gregor Jasny (@gjasny)
- @marcovsz
- Nikolaos Chatzikonstantinou (@createyourpersonalaccount)
- @vlasovsoft1979
1.34.3
c-ares version 1.34.3 - November 9 2024
This is a bugfix release.
Changes:
Bugfixes:
- Some upstream servers are non-compliant with EDNS options, resend queries without EDNS. Issue #911
- Android: <=7 needs sys/system_properties.h a70637c
- Android: CMake needs
-D_GNU_SOURCE
and others. PR #915 - TSAN warns on missing lock, but lock isn't actually necessary. PR #915
ares_getaddrinfo()
forAF_UNSPEC
should retry IPv4 if only IPv6 is received. 765d558ares_send()
shouldn't returnARES_EBADRESP
, itsARES_EBADQUERY
. 91519e7- Fix typos in man pages. PR #905
Thanks go to these friendly people for their efforts and contributions for this
release:
- Brad House (@bradh352)
- Jiwoo Park (@jimmy-park)
1.34.2
1.34.1
c-ares version 1.34.1 - October 9 2024
This release fixes a packaging issue.
c-ares version 1.34.0 - October 9 2024
This is a feature and bugfix release.
Features:
- adig: read arguments from adigrc. PR #856
- Add new pending write callback optimization via
ares_set_pending_write_cb
. PR #857 - New function
ares_process_fds()
. PR #875 - Failed servers should be probed rather than redirecting queries which could
cause unexpected latency. PR #877 - adig: rework command line arguments to mimic dig from bind. PR #890
- Add new method for overriding network functions
ares_set_socket_function_ex()
to properly support all new functionality. PR #894 - Fix regression with custom socket callbacks due to DNS cookie support. PR #895
- ares_socket: set IP_BIND_ADDRESS_NO_PORT on ares_set_local_ip* tcp sockets PR #887
- URI parser/writer for ares_set_servers_csv()/ares_get_servers_csv(). PR #882
Changes:
- Connection handling modularization. PR #857, PR #876
- Expose library/utility functions to tools. PR #860
- Remove
ares__
prefix, just useares_
for internal functions. PR #872
Bugfixes:
- fix: potential WIN32_LEAN_AND_MEAN redefinition. PR #869
- Fix googletest v1.15 compatibility. PR #874
- Fix pkgconfig thread dependencies. PR #884
Thanks go to these friendly people for their efforts and contributions for this
release:
- Brad House (@bradh352)
- Cristian Rodríguez (@crrodriguez)
- Georg (@tacerus)
- @lifenjoiner
- Shelley Vohr (@codebytere)
- 前进,前进,进 (@leleliu008)
1.34.0
c-ares version 1.34.0 - October 9 2024
This is a feature and bugfix release.
Features:
- adig: read arguments from adigrc. PR #856
- Add new pending write callback optimization via
ares_set_pending_write_cb
. PR #857 - New function
ares_process_fds()
. PR #875 - Failed servers should be probed rather than redirecting queries which could
cause unexpected latency. PR #877 - adig: rework command line arguments to mimic dig from bind. PR #890
- Add new method for overriding network functions
ares_set_socket_function_ex()
to properly support all new functionality. PR #894 - Fix regression with custom socket callbacks due to DNS cookie support. PR #895
- ares_socket: set IP_BIND_ADDRESS_NO_PORT on ares_set_local_ip* tcp sockets PR #887
- URI parser/writer for ares_set_servers_csv()/ares_get_servers_csv(). PR #882
Changes:
- Connection handling modularization. PR #857, PR #876
- Expose library/utility functions to tools. PR #860
- Remove
ares__
prefix, just useares_
for internal functions. PR #872
Bugfixes:
- fix: potential WIN32_LEAN_AND_MEAN redefinition. PR #869
- Fix googletest v1.15 compatibility. PR #874
- Fix pkgconfig thread dependencies. PR #884
Thanks go to these friendly people for their efforts and contributions for this
release:
- Brad House (@bradh352)
- Cristian Rodríguez (@crrodriguez)
- Georg (@tacerus)
- @lifenjoiner
- Shelley Vohr (@codebytere)
- 前进,前进,进 (@leleliu008)
1.33.1
c-ares version 1.33.1 - August 23 2024
This is a bugfix release.
Bugfixes:
- Work around systemd-resolved quirk that returns unexpected codes for single
label names. Also adds test cases to validate the work around works and
will continue to work in future releases. PR #863, See Also systemd/systemd#34101 - Fix sysconfig ndots default value, also adds containerized test case to
prevent future regressions. PR #862 - Fix blank DNS name returning error code rather than valid record for
commands like:adig -t SOA .
. Also adds test case to prevent future
regressions. 9e574af - Fix calculation of query times > 1s. 2b2eae7
- Fix building on old Linux releases that don't have
TCP_FASTOPEN_CONNECT
. b7a89b9 - Fix minor Android build warnings. PR #848
Thanks go to these friendly people for their efforts and contributions for this
release:
- Brad House (@bradh352)
- Erik Lax (@eriklax)
- Hans-Christian Egtvedt (@egtvedt)
- Mikael Lindemann (@mikaellindemann)
- Nodar Chkuaselidze (@nodech)
1.33.0
c-ares version 1.33.0 - August 2 2024
This is a feature and bugfix release.
Features:
- Add DNS cookie support (RFC7873 + RFC9018) to help prevent off-path cache poisoning attacks. PR #833
- Implement TCP FastOpen (TFO) RFC7413, which will make TCP reconnects 0-RTT on supported systems. PR #840
Changes:
- Reorganize source tree. PR #822
- Refactoring of connection handling to prevent code duplication. PR #839
- New dynamic array data structure to prevent simple logic flaws in array handling in various code paths. PR #841
Bugfixes:
ares_destroy()
race condition during shutdown due to missing lock. PR #831- Android: Preserve thread name after attaching it to JVM. PR #838
- Windows UWP (Store) support fix. PR #845
Thanks go to these friendly people for their efforts and contributions for this
release:
1.32.3
c-ares version 1.32.3 - July 24 2024
This is a bugfix release.
Changes:
- Prevent complex recursion during query requeuing and connection cleanup for stability. e8b32b8
- Better propagate error codes on requeue situations. a9bc0a2
- Try to prevent SIGPIPE from being generated and delivered to integrations. de01baa
Bugfixes:
- Missing manpage for
ares_dns_record_set_id()
. aa462b3 - Memory leak in
ares__hosts_entry_to_hostent()
due to allocation strategy. PR #824 - UDP write failure detected via ICMP unreachable should trigger faster failover. PR #821
- Fix pycares test case regression due to wrong error code being returned. Regression from 1.31.0. PR #820
- Fix possible Windows crash during
ares_destroy()
when using event threads. 5609bd4 ARES_OPT_MAXTIMEOUTMS
wasn't being honored in all cases. a649c60
1.32.2
c-ares version 1.32.2 - July 15 2024
This is a bugfix release.
Bugfixes:
- Windows: rework EventThread AFD code for better stability. PR #811
- Windows: If an IP address was detected to have changed, it could lead to a crash due to a bad pointer. Regression introduced in 1.31.0. 59e3a1f4
- Windows: use
QueryPerformanceCounters()
instead ofGetTickCount64()
for better time accuracy (~15ms -> ~1us). 8a50fc6c - Windows 32bit config change callback needs to be tagged as
stdcall
otherwise could result in a crash. 5c2bab35 - Tests that need accurate timing should not depend on internal symbols as there are C++ equivalents in
std::chrono
. PR #809 - Kqueue (MacOS, *BSD): If the open socket count exceeded 8 (unlikely), it would try to allocate a new buffer that was too small. 5aad7981