|
|
|
## c-ares version 1.32.2 - July 15 2024
|
|
|
|
|
|
|
|
This is a bugfix release.
|
|
|
|
|
|
|
|
Bugfixes:
|
|
|
|
|
|
|
|
* Windows: rework EventThread AFD code for better stability.
|
|
|
|
[PR #811](https://github.com/c-ares/c-ares/pull/811)
|
|
|
|
* Windows: If an IP address was detected to have changed, it could lead to a
|
|
|
|
crash due to a bad pointer. Regression introduced in 1.31.0.
|
|
|
|
[59e3a1f4](https://github.com/c-ares/c-ares/commit/59e3a1f4)
|
|
|
|
* Windows: use `QueryPerformanceCounters()` instead of `GetTickCount64()` for
|
|
|
|
better time accuracy (~15ms -> ~1us).
|
|
|
|
* Windows 32bit config change callback needs to be tagged as `stdcall` otherwise
|
|
|
|
could result in a crash.
|
|
|
|
[5c2bab35](https://github.com/c-ares/c-ares/commit/5c2bab35)
|
|
|
|
* Tests that need accurate timing should not depend on internal symbols as there
|
|
|
|
are C++ equivalents in `std::chrono`.
|
|
|
|
[PR #809](https://github.com/c-ares/c-ares/pull/809)
|
|
|
|
* Kqueue (MacOS, \*BSD): If the open socket count exceeded 8 (unlikely), it
|
|
|
|
would try to allocate a new buffer that was too small.
|
|
|
|
[5aad7981](https://github.com/c-ares/c-ares/commit/5aad7981)
|
|
|
|
|
|
|
|
|
|
|
|
## c-ares version 1.32.1 - July 7 2024
|
|
|
|
|
|
|
|
This is a bugfix release.
|
|
|
|
|
|
|
|
Bugfixes:
|
|
|
|
* Channel lock needs to be recursive to ensure calls into c-ares functions can
|
|
|
|
be made from callbacks otherwise deadlocks will occur. This regression was
|
|
|
|
introduced in 1.32.0.
|
|
|
|
|
|
|
|
|
|
|
|
## c-ares version 1.32.0 - July 4 2024
|
|
|
|
|
|
|
|
This is a feature and bugfix release.
|
|
|
|
|
|
|
|
Features:
|
|
|
|
|
|
|
|
* Add support for DNS 0x20 to help prevent cache poisoning attacks, enabled
|
|
|
|
by specifying `ARES_FLAG_DNS0x20`. Disabled by default. [PR #800](https://github.com/c-ares/c-ares/pull/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](https://github.com/c-ares/c-ares/pull/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](https://github.com/c-ares/c-ares/pull/801)
|
|
|
|
* Clean up header inclusion logic to make hacking on code easier. [PR #797](https://github.com/c-ares/c-ares/pull/797)
|
|
|
|
* GCC/Clang: Enable even more strict warnings to catch more coding flaws. [253bdee](https://github.com/c-ares/c-ares/commit/253bdee)
|
|
|
|
* MSVC: Enable `/W4` warning level. [PR #792](https://github.com/c-ares/c-ares/pull/792)
|
|
|
|
|
|
|
|
Bugfixes:
|
|
|
|
|
|
|
|
* Tests: Fix thread race condition in test cases for EventThread. [PR #803](https://github.com/c-ares/c-ares/pull/803)
|
|
|
|
* Windows: Fix building with UNICODE. [PR #802](https://github.com/c-ares/c-ares/pull/802)
|
|
|
|
* Thread Saftey: `ares_timeout()` was missing lock. [74a64e4](https://github.com/c-ares/c-ares/commit/74a64e4)
|
|
|
|
* Fix building with DJGPP (32bit protected mode DOS). [PR #789](https://github.com/c-ares/c-ares/pull/789)
|
|
|
|
|
|
|
|
Thanks go to these friendly people for their efforts and contributions for this
|
|
|
|
release:
|
|
|
|
|
|
|
|
* Brad House (@bradh352)
|
|
|
|
* Cheng (@zcbenz)
|
|
|
|
|
|
|
|
|
|
|
|
|