From 468ac2fe4608b37d7baa61166ad00e37a9216fcd Mon Sep 17 00:00:00 2001 From: Brad House Date: Fri, 2 Aug 2024 08:45:42 -0400 Subject: [PATCH] release-1.33.0 (#846) --- CMakeLists.txt | 4 +- RELEASE-NOTES.md | 101 ++++++++--------------------------------- configure.ac | 4 +- include/ares_version.h | 6 +-- 4 files changed, 25 insertions(+), 90 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f075a7ab..d3f69075 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ INCLUDE (CheckCSourceCompiles) INCLUDE (CheckStructHasMember) INCLUDE (CheckLibraryExists) -PROJECT (c-ares LANGUAGES C VERSION "1.32.3" ) +PROJECT (c-ares LANGUAGES C VERSION "1.33.0" ) # Set this version before release SET (CARES_VERSION "${PROJECT_VERSION}") @@ -30,7 +30,7 @@ INCLUDE (GNUInstallDirs) # include this *AFTER* PROJECT(), otherwise paths are w # For example, a version of 4:0:2 would generate output such as: # libname.so -> libname.so.2 # libname.so.2 -> libname.so.2.2.0 -SET (CARES_LIB_VERSIONINFO "19:3:17") +SET (CARES_LIB_VERSIONINFO "20:0:18") OPTION (CARES_STATIC "Build as a static library" OFF) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 69e6a475..b072feb2 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,98 +1,33 @@ -## c-ares version 1.32.3 - July 24 2024 - -This is a bugfix release. - -Changes: -* Prevent complex recursion during query requeuing and connection cleanup for - stability. [e8b32b8](https://github.com/c-ares/c-ares/commit/e8b32b8) -* Better propagate error codes on requeue situations. - [a9bc0a2](https://github.com/c-ares/c-ares/commit/a9bc0a2) -* Try to prevent SIGPIPE from being generated and delivered to integrations. - [de01baa](https://github.com/c-ares/c-ares/commit/de01baa) - -Bugfixes: -* Missing manpage for `ares_dns_record_set_id()` - [aa462b3](https://github.com/c-ares/c-ares/commit/aa462b3) -* Memory leak in `ares__hosts_entry_to_hostent()` due to allocation strategy. - [PR #824](https://github.com/c-ares/c-ares/pull/824) -* UDP write failure detected via ICMP unreachable should trigger faster - failover. [PR #821](https://github.com/c-ares/c-ares/pull/821) -* Fix pycares test case regression due to wrong error code being returned. - Regression from 1.31.0. [PR #820](https://github.com/c-ares/c-ares/pull/820) -* Fix possible Windows crash during `ares_destroy()` when using event threads. - [5609bd4](https://github.com/c-ares/c-ares/commit/5609bd4) -* `ARES_OPT_MAXTIMEOUTMS` wasn't being honored in all cases. - [a649c60](https://github.com/c-ares/c-ares/commit/a649c60) - -## 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 +## c-ares version 1.33.0 - August 2 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) +* Add DNS cookie support (RFC7873 + RFC9018) to help prevent off-path cache + poisoning attacks. [PR #833](https://github.com/c-ares/c-ares/pull/833) +* Implement TCP FastOpen (TFO) RFC7413, which will make TCP reconnects 0-RTT + on supported systems. [PR #840](https://github.com/c-ares/c-ares/pull/840) 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) +* Reorganize source tree. [PR #822](https://github.com/c-ares/c-ares/pull/822) +* Refactoring of connection handling to prevent code duplication. + [PR #839](https://github.com/c-ares/c-ares/pull/839) +* New dynamic array data structure to prevent simple logic flaws in array + handling in various code paths. + [PR #841](https://github.com/c-ares/c-ares/pull/841) Bugfixes: +* `ares_destroy()` race condition during shutdown due to missing lock. + [PR #831](https://github.com/c-ares/c-ares/pull/831) +* Android: Preserve thread name after attaching it to JVM. + [PR #838](https://github.com/c-ares/c-ares/pull/838) +* Windows UWP (Store) support fix. + [PR #845](https://github.com/c-ares/c-ares/pull/845) -* 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) - - +* Yauheni Khnykin (@Hsilgos) diff --git a/configure.ac b/configure.ac index 1b449bc4..be891e40 100644 --- a/configure.ac +++ b/configure.ac @@ -2,10 +2,10 @@ dnl Copyright (C) The c-ares project and its contributors dnl SPDX-License-Identifier: MIT AC_PREREQ([2.69]) -AC_INIT([c-ares], [1.32.3], +AC_INIT([c-ares], [1.33.0], [c-ares mailing list: http://lists.haxx.se/listinfo/c-ares]) -CARES_VERSION_INFO="19:3:17" +CARES_VERSION_INFO="20:0:18" dnl This flag accepts an argument of the form current[:revision[:age]]. So, dnl passing -version-info 3:12:1 sets current to 3, revision to 12, and age to dnl 1. diff --git a/include/ares_version.h b/include/ares_version.h index 62541c31..fef66b73 100644 --- a/include/ares_version.h +++ b/include/ares_version.h @@ -31,12 +31,12 @@ #define ARES_COPYRIGHT "2004 - 2024 Daniel Stenberg, ." #define ARES_VERSION_MAJOR 1 -#define ARES_VERSION_MINOR 32 -#define ARES_VERSION_PATCH 3 +#define ARES_VERSION_MINOR 33 +#define ARES_VERSION_PATCH 0 #define ARES_VERSION \ ((ARES_VERSION_MAJOR << 16) | (ARES_VERSION_MINOR << 8) | \ (ARES_VERSION_PATCH)) -#define ARES_VERSION_STR "1.32.3" +#define ARES_VERSION_STR "1.33.0" #define CARES_HAVE_ARES_LIBRARY_INIT 1 #define CARES_HAVE_ARES_LIBRARY_CLEANUP 1