| 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 |
| |
| |