Sunday 24th December 2023
Local Packages
Updated c-ares to 1.24.0 (Fedora 30 onwards):
- This is a feature and bugfix release
- Features:
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
- Changes:
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)
- Replace nameserver parsing code to use new memory-safe functions
Replace the sortlist parser with new memory-safe functions
- Various warning fixes and dead code removal
- Bug Fixes:
Old Linux versions require POSIX_C_SOURCE or _GNU_SOURCE to compile with thread safety support
- A non-responsive DNS server that caused timeouts wouldn't increment the failure count, which would lead to other servers not being tried (regression introduced in 1.22.0)
Some projects that depend on c-ares expect invalid parameter option values passed into ares_init_options() to simply be ignored; this behaviour has been restored
On linux, getrandom() can fail if the kernel doesn't support the syscall: fall back to another random source
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, would return ARES_SUCCESS rather than ARES_ECANCELLED
Note: building without cmake is broken in this release (GH#670), which is why builds for releases older than Fedora 30 are unavailable