diff --git a/CMakeLists.txt b/CMakeLists.txt index 4a0c6aac4..7a29fef7d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ INCLUDE (CheckCSourceCompiles) INCLUDE (CheckStructHasMember) INCLUDE (CheckLibraryExists) -PROJECT (c-ares LANGUAGES C VERSION "1.18.0" ) +PROJECT (c-ares LANGUAGES C VERSION "1.19.0" ) # Set this version before release SET (CARES_VERSION "${PROJECT_VERSION}") @@ -26,7 +26,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 "7:1:5") +SET (CARES_LIB_VERSIONINFO "8:0:6") OPTION (CARES_STATIC "Build as a static library" OFF) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index d095749de..db705905b 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -1,85 +1,91 @@ -c-ares version 1.18.1 - -This is an urgent bugfix release for a regression made in 1.18.0. - -Bug fixes: - o ares_getaddrinfo() would return ai_addrlen of 16 for ipv6 - adddresses rather than the sizeof(struct sockaddr_in6) - - - -c-ares version 1.18.0 +c-ares version 1.19.0 This is a feature and bugfix release. It addresses a couple of new feature requests as well as a couple of bug fixes. +Security: + o Low. Stack overflow in ares_set_sortlist() which is used during c-ares + initialization and typically provided by an administrator and not an + end user. [24] + Changes: - o Add support for URI(Uniform Resource Identifier) records via - ares_parse_uri_reply() [1] - o Provide ares_nameser.h as a public interface as needed by NodeJS [5] - o Update URLs from c-ares.haxx.se to c-ares.org [9] - o During a domain search, treat ARES_ENODATA as ARES_NXDOMAIN so that the - search process will continue to the next domain in the search. [11] - o Turn ares_gethostbyname() into a wrapper for ares_getaddrinfo() as they - followed very similar code paths and ares_gethostbyaddr() has some more - desirable features such as priority sorting and parallel queries for - AF_UNSPEC. [12] - o ares_getaddrinfo() now contains a name element in the address info - structure as the last element. This is not an API or ABI break due to - the structure always being internally allocated and it being the last - element. [12] - o ares_parse_a_reply() and ares_parse_aaaa_reply() were nearly identical, those - now use the same helper functions for parsing rather than having their own - code. [12] - o RFC6761 Section 6.3 says "localhost" lookups need to be special cased to - return loopback addresses, and not forward queries to recursive dns servers. - On Windows this now returns all loopback addresses, on other systems it - returns 127.0.0.1 or ::1 always, and will never forward a request for - "localhost" to outside DNS servers. [13] - o Haiki: port [14] + o Windows: Drop support for XP and derivatives which greatly cleans up + initialization code. [3] + o Add ARES_OPT_HOSTS_FILE similar to ARES_OPT_RESOLVCONF for specifying a + custom hosts file location. [10] + o Add vcpkg installation instructions [13] Bug fixes: - o add build to .gitignore [2] - o z/OS minor update, add missing semicolon in ares_init.c [3] - o Fix building when latest ax_code_coverage.m4 is imported [4] - o Work around autotools 'error: too many loops' and other newer autotools - import related bugs. - o MinGW cross builds need advapi32 link as lower case [6] - o Cygwin build fix due to containing both socket.h and winsock2.h [7] - o ares_expand_name should allow underscores (_) as SRV records legitimately use - them [8] - o Allow '/' as a valid character for a returned name for CNAME in-addr.arpa - delegation [10] - o ares_getaddrinfo() was not honoring HOSTALIASES [12] - o ares_getaddrinfo() had some test cases disabled due to a bug in the test - framework itself which has now been resolved [12] - o Due to Travis-CI becoming unfriendly to open-source, Cirrus-CI has now been - brought online for automated unit testing. + o Fix cross-compilation from Windows to Linux due to CPACK logic. [1] + o Fix memory leak in reading /etc/hosts when using localhost fallback. [2] + o Fix chain building c-ares when libresolv is already included by another + project [4] + o File lookup should not immediately abort as there may be other tries due to + search criteria. + o Asterisks should be allowed in host validation as CNAMEs may reference + wildcard domains [5] + o AutoTools build system referenced bad STDC_HEADERS macro [6] + o Even if one address class returns a failure for ares_getaddrinfo() we should + still return the results we have + o CMake Windows: DLLs did not include resource file to include versions [7] [8] + o CMake: Guard target creation in exported config [9] + o Fix ares_getaddrinfo() numerical address resolution with AF_UNSPEC [11] + o Apple: fix libresolv configured query times. [12] + o Fix tools and help information [14] [15] + o Various documentation fixes and cleanups [16] [22] [25] + o Add include guards to ares_data.h [17] + o c-ares could try to exceed maximum number of iovec entries supported by + system [18] + o CMake package config generation allow for absolute install paths [19] + o Intel compiler fixes [20] + o ares_strsplit bugs [21] [23] + o The RFC6761 6.3 states localhost subdomains must be offline too. [26] Thanks go to these friendly people for their efforts and contributions: - Biswapriyo Nath (@Biswa96) + Boby Reynolds (@reynoldsbd) Brad House (@bradh352) - Daniel Bevenius (@danbev) + Brad Spencer (@b-spencer) + @bsergean Daniel Stenberg (@bagder) - Dhrumil Rana (@dhrumilrana) - Felix Yan (@felixonmars) - Jérôme Duval (@korli) - Martin Holeš (@martin-256) - Sinan Kaya -(9 contributors) + Dmitry Karpov + @FrankXie05 + @hopper-vul + Jonathan Ringer (@jonringer) + Kai Pastor (@dg0yt) + @lifenjoiner + Manish Mehra (@mmehra) + @marc-groundctl + Nikolaos Chatzikonstantinou (@createyourpersonalaccount) + Ridge Kennedy (@ridgek) + Sam James (@thesamesam) + Stephen Sachs (@stephenmsachs) + Thomas Dreibholz (@dreibh) +(18 contributors) References to bug reports and discussions on issues: - [1] = https://github.com/c-ares/c-ares/pull/411 - [2] = https://github.com/c-ares/c-ares/pull/410 - [3] = https://github.com/c-ares/c-ares/pull/414 - [4] = https://github.com/c-ares/c-ares/pull/418 - [5] = https://github.com/c-ares/c-ares/pull/417 - [6] = https://github.com/c-ares/c-ares/pull/420 - [7] = https://github.com/c-ares/c-ares/pull/422 - [8] = https://github.com/c-ares/c-ares/issues/424 - [9] = https://github.com/c-ares/c-ares/issues/423 - [10] = https://github.com/c-ares/c-ares/issues/427 - [11] = https://github.com/c-ares/c-ares/issues/426 - [12] = https://github.com/c-ares/c-ares/pull/428 - [13] = https://github.com/c-ares/c-ares/pull/430 - [14] = https://github.com/c-ares/c-ares/pull/431 + [1] = https://github.com/c-ares/c-ares/pull/436 + [2] = https://github.com/c-ares/c-ares/issues/439 + [3] = https://github.com/c-ares/c-ares/pull/445 + [4] = https://github.com/c-ares/c-ares/pull/451 + [5] = https://github.com/c-ares/c-ares/issues/457 + [6] = https://github.com/c-ares/c-ares/pull/459 + [7] = https://github.com/c-ares/c-ares/issues/460 + [8] = https://github.com/c-ares/c-ares/pull/468 + [9] = https://github.com/c-ares/c-ares/pull/464 + [10] = https://github.com/c-ares/c-ares/pull/465 + [11] = https://github.com/c-ares/c-ares/pull/469 + [12] = https://github.com/c-ares/c-ares/pull/467 + [13] = https://github.com/c-ares/c-ares/pull/478 + [14] = https://github.com/c-ares/c-ares/pull/479 + [15] = https://github.com/c-ares/c-ares/pull/481 + [16] = https://github.com/c-ares/c-ares/pull/490 + [17] = https://github.com/c-ares/c-ares/pull/491 + [18] = https://github.com/c-ares/c-ares/pull/489 + [19] = https://github.com/c-ares/c-ares/pull/486 + [20] = https://github.com/c-ares/c-ares/pull/485 + [21] = https://github.com/c-ares/c-ares/pull/492 + [22] = https://github.com/c-ares/c-ares/pull/494 + [23] = https://github.com/c-ares/c-ares/pull/495 + [24] = https://github.com/c-ares/c-ares/pull/497 + [25] = https://github.com/c-ares/c-ares/issues/487 + [26] = https://github.com/c-ares/c-ares/issues/477 diff --git a/configure.ac b/configure.ac index 10d4ab12c..56a570bce 100644 --- a/configure.ac +++ b/configure.ac @@ -1,9 +1,9 @@ AC_PREREQ([2.60]) -AC_INIT([c-ares], [1.18.1], +AC_INIT([c-ares], [1.19.0], [c-ares mailing list: http://lists.haxx.se/listinfo/c-ares]) -CARES_VERSION_INFO="7:1:5" +CARES_VERSION_INFO="8:0:6" 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 22c6f62fd..4d8d62fd1 100644 --- a/include/ares_version.h +++ b/include/ares_version.h @@ -6,12 +6,12 @@ #define ARES_COPYRIGHT "2004 - 2021 Daniel Stenberg, ." #define ARES_VERSION_MAJOR 1 -#define ARES_VERSION_MINOR 18 -#define ARES_VERSION_PATCH 1 +#define ARES_VERSION_MINOR 19 +#define ARES_VERSION_PATCH 0 #define ARES_VERSION ((ARES_VERSION_MAJOR<<16)|\ (ARES_VERSION_MINOR<<8)|\ (ARES_VERSION_PATCH)) -#define ARES_VERSION_STR "1.18.1" +#define ARES_VERSION_STR "1.19.0" #if (ARES_VERSION >= 0x010700) # define CARES_HAVE_ARES_LIBRARY_INIT 1