From a47f6bdc41cc57983d135d488009be3276e96d30 Mon Sep 17 00:00:00 2001 From: Beth Griggs Date: Tue, 3 Aug 2021 22:41:20 +0100 Subject: [PATCH] deps: apply missed updates from c-ares 1.17.1 PR-URL: https://github.com/nodejs/node/pull/39653 Refs: https://github.com/c-ares/c-ares/pull/349 Refs: https://github.com/nodejs/node/pull/36207 Reviewed-By: Richard Lau Reviewed-By: Colin Ihrig Reviewed-By: James M Snell --- deps/cares/src/README.msvc | 44 +------------------- deps/cares/src/RELEASE-NOTES | 78 +++++++++++++++++++++++++++--------- deps/cares/src/ares_dns.h | 9 +++++ 3 files changed, 69 insertions(+), 62 deletions(-) diff --git a/deps/cares/src/README.msvc b/deps/cares/src/README.msvc index 4ff8700cb89a10..396f497db40873 100644 --- a/deps/cares/src/README.msvc +++ b/deps/cares/src/README.msvc @@ -1,6 +1,6 @@ - ___ __ _ _ __ ___ ___ + ___ __ _ _ __ ___ ___ / __| ___ / _` | '__/ _ \/ __| | (_ |___| (_| | | | __/\__ \ \___| \__,_|_| \___||___/ @@ -64,46 +64,6 @@ to c-ares source folder where Makefile.msvc file is located. - How to build using Visual Studio 6 IDE - -------------------------------------- - - A VC++ 6.0 reference workspace (vc6aws.dsw) is available within the 'vc' - folder to allow proper building of the library and sample programs. - - 1) Open the vc6aws.dsw workspace with MSVC6's IDE. - 2) Select 'Build' from top menu. - 3) Select 'Batch Build' from dropdown menu. - 4) Make sure that the sixteen project configurations are 'checked'. - 5) Click on the 'Build' button. - 6) Once the sixteen project configurations are built you are done. - - Dynamic and static c-ares libraries are built in debug and release flavours, - and can be located each one in its own subdirectory, dll-debug, dll-release, - lib-debug and lib-release, all of them below the 'vc\cares' subdirectory. - - In the same way four executable versions of each sample program are built, - each using its respective library. The resulting sample executables are - located in its own subdirectory, dll-debug, dll-release, lib-debug and - lib-release, below the 'vc\acountry', 'vc\adig' and 'vc\ahost'folders. - - These reference VC++ 6.0 configurations are generated using the dynamic CRT. - - - How to build using Visual Studio 2003 or newer IDE - -------------------------------------------------- - - First you have to convert the VC++ 6.0 reference workspace and project files - to the Visual Studio IDE version you are using, following next steps: - - 1) Open vc\vc6aws.dsw with VS20XX. - 2) Allow VS20XX to update all projects and workspaces. - 3) Save ALL and close VS20XX. - 4) Open vc\vc6aws.sln with VS20XX. - 5) Select batch build, check 'all' projects and click 'build' button. - - Same comments relative to generated files and folders as done above for - Visual Studio 6 IDE apply here. - Relationship between c-ares library file names and versions ----------------------------------------------------------- @@ -139,4 +99,4 @@ Have Fun! - + diff --git a/deps/cares/src/RELEASE-NOTES b/deps/cares/src/RELEASE-NOTES index 7a9d75fe788e84..e1885425ae35e6 100644 --- a/deps/cares/src/RELEASE-NOTES +++ b/deps/cares/src/RELEASE-NOTES @@ -1,30 +1,68 @@ -c-ares version 1.16.1 +c-ares version 1.17.1 + +Due to a packaging issue with 1.17.0, we have released 1.17.1 to address that +issue. See 1.17.0 release notes below.. + + +c-ares version 1.17.0 Security: - o Prevent possible use-after-free and double-free in ares_getaddrinfo() if - ares_destroy() is called prior to ares_getaddrinfo() completing. Reported - by Jann Horn at Google Project Zero. + o avoid read-heap-buffer-overflow in ares_parse_soa_reply found during + fuzzing [2] [3] + o Avoid theoretical buffer overflow in RC4 loop comparison [5] + o Empty hquery->name could lead to invalid memory access [15] + o ares_parse_{a,aaaa}_reply() could return a larger *naddrttls than was + passed in [17] Changes: - o Allow TXT records on CHAOS qclass. Used for retriving things like - version.bind, version.server, authoris.bind, hostname.bind, and id.server. - [3] + o Update help information for adig, acountry, and ahost [4] + o Test Suite now uses dynamic system-assigned ports rather than hardcoded + ports to prevent failures in containers [10] + o Detect remote DNS server does not support EDNS using rules from RFC 6891 [12] + o Source tree has been reorganized to use a more modern layout [13] + o Allow parsing of CAA Resource Record [14] Bug fixes: - o Fix Windows Unicode incompatibilities with ares_getaddrinfo() [1] - o Silence false cast-align compiler warnings due to valid casts of - struct sockaddr to struct sockaddr_in and struct sockaddr_in6. - o MacOS should use libresolv for retrieving DNS servers, like iOS - o CMake build system should populate the INCLUDE_DIRECTORIES property of - installed targets [2] - o Correct macros in use for the ares_getaddrinfo.3 man page + o readaddrinfo bad sizeof() [1] + o Test cases should honor HAVE_WRITEV flag, not depend on WIN32 [6] + o FQDN with trailing period should be queried first [7] + o ares_getaddrinfo() was returning members of the struct as garbage values if + unset, and was not honoring ai_socktype and ai_protocol hints. [8] [9] + o ares_gethostbyname() with AF_UNSPEC and an ip address would fail [11] + o Properly document ares_set_local_ip4() uses host byte order [16] Thanks go to these friendly people for their efforts and contributions: - Brad House (@bradh352), Daniel Stenberg (@bagder), Dmitry Igrishin (@dmitigr), - Jann Horn, Shelly Vohr, Teemu R (@rytilahti) - (6 contributors) + @anonymoushelpishere + Anthony Penniston (@apenn-msft) + Brad House (@bradh352) + Bulat Gaifullin (@bgaifullin) + Daniela Sonnenschein (@lxdicted) + Daniel Stenberg (@bagder) + David Hotham (@dimbleby) + Fionn Fitzmaurice (@fionn) + Gisle Vanem (@gavenm) + Ivan Baidakou (@basiliscos) + Jonathan Maye-Hobbs (@wheelpharoah) + Łukasz Marszał (@lmarszal) + lutianxiong (@ltx2018) + Seraphime Kirkovski (@Seraphime) +(14 contributors) References to bug reports and discussions on issues: - [1] = https://github.com/c-ares/c-ares/pull/328 - [2] = https://github.com/c-ares/c-ares/pull/323 - [3] = https://github.com/c-ares/c-ares/pull/321 + [1] = https://github.com/c-ares/c-ares/pull/331 + [2] = https://github.com/c-ares/c-ares/pull/332 + [3] = https://github.com/c-ares/c-ares/issues/333 + [4] = https://github.com/c-ares/c-ares/pull/334 + [5] = https://github.com/c-ares/c-ares/pull/336 + [6] = https://github.com/c-ares/c-ares/pull/344 + [7] = https://github.com/c-ares/c-ares/pull/345 + [8] = https://github.com/c-ares/c-ares/issues/343 + [9] = https://github.com/c-ares/c-ares/issues/317 + [10] = https://github.com/c-ares/c-ares/pull/346 + [11] = https://github.com/c-ares/c-ares/pull/204 + [12] = https://github.com/c-ares/c-ares/pull/244 + [13] = https://github.com/c-ares/c-ares/pull/349 + [14] = https://github.com/c-ares/c-ares/pull/360 + [15] = https://github.com/c-ares/c-ares/pull/367 + [16] = https://github.com/c-ares/c-ares/pull/368 + [17] = https://github.com/c-ares/c-ares/issues/371 diff --git a/deps/cares/src/ares_dns.h b/deps/cares/src/ares_dns.h index 79f993b9048d08..bc8aa7b1091de6 100644 --- a/deps/cares/src/ares_dns.h +++ b/deps/cares/src/ares_dns.h @@ -16,6 +16,15 @@ * without express or implied warranty. */ +/* + * NOTE TO INTEGRATORS: + * + * This header is made public due to legacy projects relying on it. + * Please do not use the macros within this header, or include this + * header in your project as it may be removed in the future. + */ + + /* * Macro DNS__16BIT reads a network short (16 bit) given in network * byte order, and returns its value as an unsigned short.