|
|
|
c-ares version 1.24.0
|
|
|
|
|
|
|
|
This is a feature and bugfix release.
|
|
|
|
|
|
|
|
Features:
|
|
|
|
o Add support for IPv6 link-local DNS servers. Nameserver formats can now
|
|
|
|
accept the %iface suffix, and a new ares_get_servers_csv() function was
|
|
|
|
added to return servers that can contain the link-local interface name. [3]
|
|
|
|
|
|
|
|
Changes:
|
|
|
|
o Unbundle GoogleTest for test cases. Package maintainers will now need to
|
|
|
|
require GoogleTest (GMock) as a build dependency if building tests. New
|
|
|
|
GoogleTest versions require C++14 or later. [6]
|
|
|
|
o Replace nameserver parsing code to use new memory-safe functions. [1]
|
|
|
|
o Replace the sortlist parser with new memory-safe functions. [5]
|
|
|
|
o Various warning fixes and dead code removal.
|
|
|
|
|
|
|
|
Bug Fixes:
|
|
|
|
o Old Linux versions require POSIX_C_SOURCE or _GNU_SOURCE to compile with
|
|
|
|
thread safety support. [2]
|
|
|
|
o A non-responsive DNS server that caused timeouts wouldn't increment the
|
|
|
|
failure count, this would lead to other servers not being tried.
|
|
|
|
Regression introduced in 1.22.0. [4]
|
|
|
|
o Some projects that depend on c-ares expect invalid parameter option values
|
|
|
|
passed into ares_init_options() to simply be ignored. This behavior has
|
|
|
|
been restored. [7]
|
|
|
|
o On linux getrandom() can fail if the kernel doesn't support the syscall,
|
|
|
|
fall back to another random source. [8]
|
|
|
|
o ares_cancel() when performing ares_gethostbyname() or ares_getaddrinfo()
|
|
|
|
with AF_UNSPEC, if called after one address class was returned but before
|
|
|
|
the other address class, it would return ARES_SUCCESS rather than
|
|
|
|
ARES_ECANCELLED. [9]
|
|
|
|
|
|
|
|
|
|
|
|
Thanks go to these friendly people for their efforts and contributions:
|
|
|
|
Brad House (@bradh352)
|
|
|
|
Daniel Stenberg (@bagder)
|
|
|
|
(2 contributors)
|
|
|
|
|
|
|
|
References to bug reports and discussions on issues:
|
|
|
|
[1] = https://github.com/c-ares/c-ares/pull/643
|
|
|
|
[2] = https://github.com/c-ares/c-ares/issues/644
|
|
|
|
[3] = https://github.com/c-ares/c-ares/pull/646
|
|
|
|
[4] = https://github.com/c-ares/c-ares/pull/650
|
|
|
|
[5] = https://github.com/c-ares/c-ares/pull/653
|
|
|
|
[6] = https://github.com/c-ares/c-ares/pull/655
|
|
|
|
[7] = https://github.com/c-ares/c-ares/commit/c982bf4
|
|
|
|
[8] = https://github.com/c-ares/c-ares/pull/661
|
|
|
|
[9] = https://github.com/c-ares/c-ares/pull/663
|
|
|
|
|
|
|
|
|