Releases: c-ares/c-ares
1.28.1
c-ares version 1.28.1 - Mar 30 2024
This release contains a fix for a single significant regression introduced
in c-ares 1.28.0.
ares_search()
andares_getaddrinfo()
resolution fails if no search domains
are specified. Issue #737
1.28.0
c-ares version 1.28.0 - Mar 29 2024
This is a feature and bugfix release.
Features:
- Emit warnings when deprecated c-ares functions are used. This can be
disabled by passing a compiler definition ofCARES_NO_DEPRECATED
. PR #732 - Add function
ares_search_dnsrec()
to search for records using the new DNS
record data structures. PR #719 - Rework internals to pass around
ares_dns_record_t
instead of binary data,
this introduces new public functions ofares_query_dnsrec()
and
ares_send_dnsrec()
. PR #730
Changes:
- tests: when performing simulated queries, reduce timeouts to make tests run
faster - Replace configuration file parsers with memory-safe parser. PR #725
- Remove
acountry
completely, the manpage might still get installed otherwise. Issue #718
Bugfixes:
- CMake: don't overwrite global required libraries/definitions/includes which
could cause build errors for projects chain building c-ares. Issue #729 - On some platforms,
netinet6/in6.h
is not included bynetinet/in.h
and needs to be included separately. PR #728 - Fix a potential memory leak in
ares_init()
. Issue #724 - Some platforms don't have the
isascii()
function. Implement as a macro. PR #721 - CMake: Fix Chain building if CMAKE runtime paths not set
- NDots configuration should allow a value of zero. PR #735
Thanks go to these friendly people for their efforts and contributions for this release:
- Brad House (@bradh352)
- Cristian Rodríguez (@crrodriguez)
- Daniel Stenberg (@bagder)
- Faraz (@farazrbx)
- Faraz Fallahi (@fffaraz)
- Oliver Welsh (@oliverwelsh)
1.27.0
c-ares version 1.27.0 - Feb 23 2024
This is a security, feature, and bugfix release.
Security:
- Moderate. CVE-2024-25629. Reading malformatted
/etc/resolv.conf
,
/etc/nsswitch.conf
or theHOSTALIASES
file could result in a crash.
GHSA-mg26-v6qh-x48q
Features:
- New function
ares_queue_active_queries()
to retrieve number of in-flight
queries. PR #712 - New function
ares_queue_wait_empty()
to wait for the number of in-flight
queries to reach zero. PR #710 - New
ARES_FLAG_NO_DEFLT_SVR
forares_init_options()
to return a failure if
no DNS servers can be found rather than attempting to use127.0.0.1
. This
also introduces a new ares status code ofARES_ENOSERVER
. PR #713
Changes:
- EDNS Packet size should be 1232 as per DNS Flag Day. PR #705
Bugfixes:
- Windows DNS suffix search list memory leak. PR #711
- Fix warning due to ignoring return code of
write()
. PR #709 - CMake: don't override target output locations if not top-level. Issue #708
- Fix building c-ares without thread support. PR #700
Thanks go to these friendly people for their efforts and contributions for this release:
- Anthony Alayo (@anthonyalayo)
- Brad House (@bradh352)
- Cheng Zhao (@zcbenz)
- Cristian Rodríguez (@crrodriguez)
- Daniel Stenberg (@bagder)
- Oliver Welsh (@oliverwelsh)
- Vojtěch Vobr (@vojtechvobr)
1.26.0
c-ares version 1.26.0 - Jan 26 2024
This is a feature and bugfix release.
Features:
- Event Thread support. Integrators are no longer required to monitor the
file descriptors registered by c-ares for events and callares_process()
when enabling the event thread feature viaARES_OPT_EVENT_THREAD
passed
toares_init_options()
. PR #696 - Added flags to
are_dns_parse()
to force RAW packet parsing. PR #693
Changes:
- Mark
ares_fds()
as deprecated. PR #691
Bugfixes:
adig
: Differentiate between internal and server errors. e10b16a- Autotools allow make to override CFLAGS/CPPFLAGS/CXXFLAGS. PR #695
- Autotools: fix building for 32bit windows due to stdcall symbol mangling. PR #689
- RR Name should not be sanity checked against the Question. PR #685
Thanks go to these friendly people for their efforts and contributions for this release:
Full release note history available here
1.25.0
c-ares version 1.25.0 - Jan 3 2024
This is a maintenance release.
Changes:
- AutoTools: rewrite build system to be lighter weight and fix issues in some semi-modern systems. It is likely this has broken building on some less common and legacy OSs, please report issues. PR #674
- Rewrite ares_strsplit() as a wrapper for ares__buf_split() for memory safety reasons. 88c444d
- The ahost utility now uses ares_getaddrinfo() and returns both IPv4 and IPv6 addresses by default. PR #669
- OpenBSD: Add SOCK_DNS flag when creating socket. PR #659
Bugfixes:
- Tests: Live reverse lookups for Google's public DNS servers no longer return results, replace with CloudFlare pubic DNS servers. 1231aa7
- MacOS legacy SDKs require sys/socket.h before net/if.h PR #673
- Connection failures should increment the server failure count first or a retry might be enqueued to the same server. 05181a6
- On systems that don't implement the ability to enumerate network interfaces the stubs used the wrong prototype. eebfe0c
- Fix minor warnings and documentation typos. PR #666
- Fix support for older GoogleTest versions. d186f11
- getrandom() may require sys/random.h on some systems. Issue #665
- Fix building tests with symbol hiding enabled. Issue #664
Thanks go to these friendly people for their efforts and contributions for this release:
- Brad House (@bradh352)
- Daniel Stenberg (@bagder)
- Gregor Jasny (@gjasny)
- Martin Chang (@marty1885)
Full release note history available here