net-dns/c-ares: Upgrade from 1.19.1 to 1.27

BUG=b/335882503
TEST=presubmit
RELEASE_NOTE=Updated net-dns/c-ares to version 1.27. This fixed CVE-2024-25629.

cos-patch: security-high
Change-Id: I753bc1c6256d7d499460fc1814dd6a4960eeedb2
Reviewed-on: https://cos-review.googlesource.com/c/third_party/overlays/portage-stable/+/70971
Main-Branch-Verified: Cusky Presubmit Bot <presubmit@cos-infra-prod.iam.gserviceaccount.com>
Tested-by: Cusky Presubmit Bot <presubmit@cos-infra-prod.iam.gserviceaccount.com>
Reviewed-by: Oleksandr Tymoshenko <ovt@google.com>
diff --git a/net-dns/c-ares/Manifest b/net-dns/c-ares/Manifest
index e3083da..18ef8ca 100644
--- a/net-dns/c-ares/Manifest
+++ b/net-dns/c-ares/Manifest
@@ -1,2 +1,2 @@
-DIST c-ares-1.19.1.tar.gz 1579100 BLAKE2B 4b6c9593edb1a91ab76d54ddacb1cd5d67006d5e628ea1f3289f54e9360be32abeb5d8fc7d23e193feab3e7928e8efde82757eb12fe217dc92ed0d9132bedf5d SHA512 466a94efda626e815a6ef7a890637056339f883d549ea6055e289fd8cd2391130e5682c905c0fb3bd7e955af7f6deb793562c170eb0ee066a4a62085a82ba470
-DIST c-ares-1.19.1.tar.gz.asc 488 BLAKE2B 9c47d7b3e67d9a2bd1e332912d21d20ca591fc34f81707c18a4615ea14ba2da00146d1998250a5f4dd2a0b1c04f9bd2013d4940ac734674c0bdff6815985e19d SHA512 1b204ab1a667af1326be4b7c62c0919aacd447a2e00efea4b8ef2ec9f2b13ffb236a836ff8953b0b3359727faf3fb8cfcd71d0b06a0e533a09f9e9ea66024f4e
+DIST c-ares-1.27.0.tar.gz 1301440 BLAKE2B 112bf16288efc3ca1c69216de6bb42fdfc5348e70879321fb27f9602a8f469a21fa502a1cdd2f935e4ad0505ea7e22bd3a3326ce83bdb2acbe5ff266fc11cc6f SHA512 d0bffeeabdc5f1d4cececd46bd495b8224a64eaaf6d2a91c5475517440effe0e096146a1ebf19ece07367198be576c61b11961d5e4c3f601c5c5529ce4fcb46a
+DIST c-ares-1.27.0.tar.gz.asc 488 BLAKE2B 64798140a1d61e32ba45467034d9da75abd8f48810643947c94b04dcaae1b8c68da7a6d9acb7476808601acfe6a527b2cd855d99912f5ac069a597b9c9c890e3 SHA512 dbaa2e96035283e55c7a3c940255d9cc81d98961f59a10586cd666525a0fddf0e3ada01fd79133a278159f47c344bce70bcc4ad1b5df5c853273941b744357e4
diff --git a/net-dns/c-ares/c-ares-1.19.1.ebuild b/net-dns/c-ares/c-ares-1.27.0.ebuild
similarity index 65%
rename from net-dns/c-ares/c-ares-1.19.1.ebuild
rename to net-dns/c-ares/c-ares-1.27.0.ebuild
index a358156..f40e82e 100644
--- a/net-dns/c-ares/c-ares-1.19.1.ebuild
+++ b/net-dns/c-ares/c-ares-1.27.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
 
-VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/danielstenberg.asc
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc
 inherit multilib-minimal verify-sig
 
 DESCRIPTION="C library that resolves names asynchronously"
@@ -13,28 +13,47 @@
 	verify-sig? ( https://c-ares.org/download/${P}.tar.gz.asc )
 "
 
-LICENSE="MIT"
+# ISC for lib/{bitncmp.c,inet_ntop.c,inet_net_pton.c} (bug #912405)
+LICENSE="MIT ISC"
 # Subslot = SONAME of libcares.so.2
 SLOT="0/2"
 KEYWORDS="*"
 IUSE="static-libs test"
 RESTRICT="!test? ( test )"
 
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-danielstenberg )"
+BDEPEND="
+	test? ( dev-cpp/gtest )
+	verify-sig? ( sec-keys/openpgp-keys-danielstenberg )
+"
 
-DOCS=( AUTHORS CHANGES NEWS README.md RELEASE-NOTES TODO )
+DOCS=( AUTHORS CHANGES NEWS README.md RELEASE-NOTES.md TODO )
 
 MULTILIB_WRAPPED_HEADERS=(
 	/usr/include/ares_build.h
-
 )
+
+A__QA_CONFIG_IMPL_DECL_SKIP=(
+	# Checking for obsolete headers
+	malloc
+	calloc
+	free
+
+	# Non-existent on Linux
+	closesocket
+	CloseSocket
+	ioctlsocket
+	bitncmp
+	ConvertInterfaceIndexToLuid
+	ConvertInterfaceLuidToNameA
+)
+
 multilib_src_configure() {
 	local myeconfargs=(
-		--enable-nonblocking
 		--enable-symbol-hiding
 		$(use_enable static-libs static)
 		$(use_enable test tests)
 	)
+
 	# Needed for running unit tests only
 	# Violates sandbox and tests pass fine without
 	export ax_cv_uts_namespace=no
@@ -44,6 +63,7 @@
 
 multilib_src_test() {
 	cd "${BUILD_DIR}"/test || die
+
 	# We're skipping the "real" network tests with the filter
 	# see https://github.com/c-ares/c-ares/tree/main/test
 	local network_tests=(
@@ -54,7 +74,12 @@
 		*TimeoutValue*
 		*GetSock*
 		*GetSock_virtualized*
+		*VerifySocketFunctionCallback*
+		# Seems flaky, even run manually
+		# https://github.com/c-ares/c-ares/commit/9e542a8839f81c990bb0dff14beeaf9aa6bcc18d
+		*MockUDPMaxQueriesTest.GetHostByNameParallelLookups*
 	)
+
 	# The format for disabling test1, test2, and test3 looks like:
 	# -test1:test2:test3
 	edo ./arestest --gtest_filter=-$(echo $(IFS=:; echo "${network_tests[*]}"))
@@ -62,5 +87,6 @@
 
 multilib_src_install_all() {
 	einstalldocs
+
 	find "${ED}" -name "*.la" -delete || die
 }