c-ares version 1.20.1 This release resolves a significant issue in the 1.20.0 release. Bug fixes: o Resolve use-after-free issue when TCP connection is terminated before a response is returned [17] o Reduce number of queries for a load test case to prevent overloading some build systems o Fix fuzz test build target [18] c-ares 1.20.0 notes below: This is a feature and bugfix release with some significant internal changes. Changes: o Update from 1989 MIT license text to modern MIT license text [1] o Remove acountry from built tools as nerd.dk is gone [3] o Add new ARES_OPT_UDP_MAX_QUERIES configuration option to limit the number of queries that can be made from a single ephemeral port [7] o Default per-query timeout has been reduced to 2s with a 3x retry count [8] o Modernization: start implementing some common data structures that are easy to use and hard to misuse. This will make code refactoring easier and remove some varied implementations in use. This change also makes ares_timeout() more efficient [9] o Use SPDX identifiers and a REUSE CI job to verify [12] o rand: add support for getrandom() [14] Bug fixes: o TCP back to back queries were broken [2] o Ensure queries for ares_getaddrinfo() are not requeued during destruction [4] o ares_getaddrinfo() should not retry other address classes if one address class has already been returned [5] o Avoid production ill-formed result when qualifying a name with the root domain [6] o Fix missing prefix for CMake generated libcares.pc [10] o DNS server ports will now be read from system configuration instead of defaulting to port 53 [11] o Remove some unreachable code [13] o Replace usages of sprintf with snprintf [15] o Fix Watcom instructions and update Windows URLs [16] Thanks go to these friendly people for their efforts and contributions: Alexey A Tikhonov (@alexey-tikhonov) Ben Noordhuis (@bnoordhuis) Brad House (@bradh352) @Chilledheart Daniel Stenberg (@bagder) Douglas R. Reno (@renodr) Jérôme Duval (@korli) Sam Morris (@yrro) Tim Wojtulewicz (@timwoj) (9 contributors) References to bug reports and discussions on issues: [1] = https://github.com/c-ares/c-ares/pull/556 [2] = https://github.com/c-ares/c-ares/pull/552 [3] = https://github.com/c-ares/c-ares/pull/554 [4] = https://github.com/c-ares/c-ares/pull/553 [5] = https://github.com/c-ares/c-ares/pull/551 [6] = https://github.com/c-ares/c-ares/pull/546 [7] = https://github.com/c-ares/c-ares/pull/549 [8] = https://github.com/c-ares/c-ares/pull/542 [9] = https://github.com/c-ares/c-ares/pull/540 [10] = https://github.com/c-ares/c-ares/pull/530 [11] = https://github.com/c-ares/c-ares/pull/534 [12] = https://github.com/c-ares/c-ares/commit/c1b00c41 [13] = https://github.com/c-ares/c-ares/pull/527 [14] = https://github.com/c-ares/c-ares/pull/526 [15] = https://github.com/c-ares/c-ares/pull/525 [16] = https://github.com/c-ares/c-ares/pull/524 [17] = https://github.com/c-ares/c-ares/pull/562 [18] = https://github.com/c-ares/c-ares/pull/559