* Tue Apr 08 2025 adam.majer@suse.de
- c-ares version 1.34.5
* CVE-2025-31498. A use-after-free bug has been uncovered in read_answers() that
was introduced in v1.32.3 (bsc#1240955)
- a531524a3d085fcd9a5e25d5f6cbdb953082c2b9.patch: upstreamed, removed
* Fri Jan 03 2025 adam.majer@suse.de
- skip-test.patch replaced with upstream unit test fix
a531524a3d085fcd9a5e25d5f6cbdb953082c2b9.patch
* Mon Dec 30 2024 adam.majer@suse.de
- c-ares 1.34.4
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() and ares_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
In version 1.34.3
This is a bugfix release.
Changes:
Build the release package in an automated way so we can provide provenance as per SLSA3. PR #906
Bugfixes:
Some upstream servers are non-compliant with EDNS options, resend queries without EDNS. Issue #911
TSAN warns on missing lock, but lock isn't actually necessary. PR #915
ares_getaddrinfo() for AF_UNSPEC should retry IPv4 if only IPv6 is received. 765d558
ares_send() shouldn't return ARES_EBADRESP, its ARES_EBADQUERY. 91519e7
Fix typos in man pages. PR #905
- skip-test.patch: fix failing tests
* Tue Oct 29 2024 adam.majer@suse.de
- c-ares 1.34.2
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 use `ares_` 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]
Features in 1.33.0:
* 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]
Features in 1.32:
* Add support for DNS 0x20 to help prevent cache poisoning attacks, enabled
by specifying `ARES_FLAG_DNS0x20`. Disabled by default. [PR #800]
* Rework query timeout logic to automatically adjust timeouts based on network
conditions. The timeout specified now is only used as a hint until there
is enough history to calculate a more valid timeout. [PR #794]
Changes:
* DNS RR TXT strings should not be automatically concatenated as there are use
cases outside of RFC 7208. In order to maintain ABI compliance, the ability
to retrieve TXT strings concatenated is retained as well as a new API to
retrieve the individual strings. This restores behavior from c-ares 1.20.0.
[PR #801]
* Clean up header inclusion logic to make hacking on code easier. [PR #797]
* GCC/Clang: Enable even more strict warnings to catch more coding flaws. [253bdee]
Bugfixes:
* Tests: Fix thread race condition in test cases for EventThread. [PR #803]
* Thread Saftey: `ares_timeout()` was missing lock. [74a64e4]
* Tue Jun 18 2024 adam.majer@suse.de
- c-ares 1.31.0
Changes:
* Enable Query Cache by default. [PR #786]
Bugfixes:
* Enhance Windows DNS configuration change detection to also
detect manual DNS configuration changes. [PR #785]
* Various legacy MacOS Build fixes. [Issue #782]
* Ndots value of zero in resolv.conf was not being honored. [852a60a]
* Watt-32 build support had been broken for some time. [PR #781]
* Distribute `ares_dns_rec_type_tostr` manpage. [PR #778]
* Mon Jun 10 2024 adam.majer@suse.de
- c-ares 1.30.0
Features:
* Basic support for SIG RR record (RFC 2931 / RFC 2535) [PR #773]
Changes:
* Validation that DNS strings can only consist of printable ascii characters
otherwise will trigger a parse failure. [75de16c] and [40fb125]
Bugfixes:
* QueryCache: Fix issue where purging on server changes wasn't working. [a6c8fe6]
- updated dowload URLs to point to github
- updated keyring to include Brad House DA7D64E4C82C6294CB73A20E22E3D13B5411B7CA
* Sun Jun 02 2024 jgwang@suse.com
- c-ares 1.29.0
Features:
* When using ARES_OPT_EVENT_THREAD, automatically reload
system configuration when network conditions change.
[PR #759]
* Apple: reimplement DNS configuration reading to more
accurately pull DNS settings. [PR #750]
* Add observability into DNS server health via a server state
callback, invoked whenever a query finishes. [PR #744]
* Add server failover retry behavior, where failed servers are
retried with small probability after a minimum delay.
[PR #731]
Changes:
* Mark ares_channel_t * as const in more places in the public
API. [PR #758]
Bugfixes:
* Due to a logic flaw dns name compression writing was not
properly implemented which would result in the name prefix not
being written for a partial match. This could cause issues in
various record types such as MX records when using the
deprecated API. Regression introduced in 1.28.0. [Issue #757]
* Revert OpenBSD SOCK_DNS flag, it doesn't do what the docs say
it does and causes c-ares to become non-functional. [PR #754]
* ares_getnameinfo(): loosen validation on salen parameter.
[Issue #752]
* cmake: Android requires C99. [PR #748]
* ares_queue_wait_empty() does not honor timeout_ms >= 0.
[Issue #742]
* Tue Apr 02 2024 adam.majer@suse.de
- c-ares 1.28.1
Features:
* Emit warnings when deprecated c-ares functions are used.
This can be disabled by passing a compiler definition of
`CARES_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 of
`ares_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 by `netinet/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]
* Mon Feb 26 2024 adam.majer@suse.de
- c-ares 1.27.0
Security:
* Moderate. CVE-2024-25629. Reading malformatted /etc/resolv.conf,
/etc/nsswitch.conf or the HOSTALIASES file could result in a crash.
GHSA-mg26-v6qh-x48q (CVE-2024-25629, bsc#1220279)
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 for ares_init_options() to return a failure if
no DNS servers can be found rather than attempting to use 127.0.0.1. This
also introduces a new ares status code of ARES_ENOSERVER. PR #713
Changes:
* EDNS Packet size should be 1232 as per DNS Flag Day. PR #705
Bugfixes:
* 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
* Fri Feb 09 2024 dimstar@opensuse.org
- Ensure multibuild flavors result in different src names.