public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: net-dns/c-ares/, net-dns/c-ares/files/
@ 2016-10-14  7:29 Anthony G. Basile
  0 siblings, 0 replies; 5+ messages in thread
From: Anthony G. Basile @ 2016-10-14  7:29 UTC (permalink / raw
  To: gentoo-commits

commit:     4713589132fe11ec3184fb2602492139ce66ab37
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 14 07:28:40 2016 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri Oct 14 07:28:58 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=47135891

net-dns/c-ares: version bump to 1.12.0

Package-Manager: portage-2.2.28

 net-dns/c-ares/Manifest                            |  1 +
 net-dns/c-ares/c-ares-1.12.0.ebuild                | 43 ++++++++++++++++++++++
 .../c-ares/files/c-ares-1.12.0-remove-tests.patch  | 14 +++++++
 3 files changed, 58 insertions(+)

diff --git a/net-dns/c-ares/Manifest b/net-dns/c-ares/Manifest
index 3121a4b..18970ca 100644
--- a/net-dns/c-ares/Manifest
+++ b/net-dns/c-ares/Manifest
@@ -1,2 +1,3 @@
 DIST c-ares-1.10.0.tar.gz 809073 SHA256 3d701674615d1158e56a59aaede7891f2dde3da0f46a6d3c684e0ae70f52d3db SHA512 fef6945549034390ddaa03acf5509d0095e97c151e5f4047ffc32c51945a7261759228b20fdd77b9e4bf4a95f3a61bfb79bee0c66a860219debfd2916b390693 WHIRLPOOL 660d04b20371a75b4a9dea45449407b10c782ae8367356e2f6b0b73cb2d62485068a543b4a2303673f688c6c784afd9925faa18be943aa771d8467077f8ea407
 DIST c-ares-1.11.0.tar.gz 1102531 SHA256 b3612e6617d9682928a1d50c1040de4db6519f977f0b25d40cf1b632900b3efd SHA512 0a3bbe95dbc80201a7024db564c057a788f252b09c4bcc1539d2db8b12f3497db66710e24b1c18132579ddbe3015f1d916b378b83f9c32deb5fba206ffaf9f27 WHIRLPOOL f70a4aff5e50eb46e356d09b3466021f0cd2eb93959bc4d752d7ff26415f1de387a123f0607f97d87d42f75f643094f7382205ff9ea84c00205a9291d0faa700
+DIST c-ares-1.12.0.tar.gz 1769879 SHA256 8692f9403cdcdf936130e045c84021665118ee9bfea905d1a76f04d4e6f365fb SHA512 3da0fadb04eccab49b4e6eff3f087a392dd76238d47e74e2ede723883468da688e41f679ee8ca38613fc4f80d3bd7c29e69d3d6c711f988a02fd5d21a3ee1dc6 WHIRLPOOL 69d297213c6ca0988d3b7697d40443dabb3a9b4ceb65c357a3ec99ab2af7c0a7c669f2dc7f75833e0c8a661525ae4003be8109d2d5c1e90887b8349cd63a8d5c

diff --git a/net-dns/c-ares/c-ares-1.12.0.ebuild b/net-dns/c-ares/c-ares-1.12.0.ebuild
new file mode 100644
index 00000000..4741b2f
--- /dev/null
+++ b/net-dns/c-ares/c-ares-1.12.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools eutils multilib-minimal
+
+DESCRIPTION="C library that resolves names asynchronously"
+HOMEPAGE="http://c-ares.haxx.se/"
+SRC_URI="http://${PN}.haxx.se/download/${P}.tar.gz"
+
+LICENSE="MIT"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc64-solaris"
+IUSE="static-libs"
+
+# Subslot = SONAME of libcares.so.2
+SLOT="0/2"
+
+DOCS=( AUTHORS CHANGES NEWS README.md RELEASE-NOTES TODO )
+
+MULTILIB_WRAPPED_HEADERS=(
+	/usr/include/ares_build.h
+)
+
+src_prepare() {
+	eapply "${FILESDIR}"/${P}-remove-tests.patch
+	eapply_user
+	eautoreconf
+}
+
+multilib_src_configure() {
+	ECONF_SOURCE=${S} \
+	econf \
+		--enable-nonblocking \
+		--enable-symbol-hiding \
+		$(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+	einstalldocs
+	prune_libtool_files --all
+}

diff --git a/net-dns/c-ares/files/c-ares-1.12.0-remove-tests.patch b/net-dns/c-ares/files/c-ares-1.12.0-remove-tests.patch
new file mode 100644
index 00000000..826eb85
--- /dev/null
+++ b/net-dns/c-ares/files/c-ares-1.12.0-remove-tests.patch
@@ -0,0 +1,14 @@
+diff -Naur c-ares-1.12.0.orig/configure.ac c-ares-1.12.0/configure.ac
+--- c-ares-1.12.0.orig/configure.ac	2016-09-29 07:43:01.000000000 -0400
++++ c-ares-1.12.0/configure.ac	2016-10-14 03:10:36.253342032 -0400
+@@ -837,10 +837,6 @@
+ fi
+ AC_MSG_RESULT([$build_tests])
+ 
+-if test "x$build_tests" = "xyes" ; then
+-  AC_CONFIG_SUBDIRS([test])
+-fi
+-
+ AC_CONFIG_FILES([Makefile libcares.pc])
+ AC_OUTPUT
+ XC_AMEND_DISTCLEAN(['.'])


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-dns/c-ares/, net-dns/c-ares/files/
@ 2023-11-25  5:16 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2023-11-25  5:16 UTC (permalink / raw
  To: gentoo-commits

commit:     3916c5f320bb2e37603c4df389aefd9c371eb5fd
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 25 05:07:30 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Nov 25 05:07:30 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3916c5f3

net-dns/c-ares: drop 1.20.1, 1.22.0, 1.22.0-r1

Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-dns/c-ares/Manifest                            |   4 -
 net-dns/c-ares/c-ares-1.20.1.ebuild                |  88 -----
 net-dns/c-ares/c-ares-1.22.0-r1.ebuild             | 109 ------
 net-dns/c-ares/c-ares-1.22.0.ebuild                | 104 ------
 .../files/c-ares-1.22.0-hosts-lookup-perf.patch    | 403 ---------------------
 .../c-ares/files/c-ares-1.22.0-hosts-lookup.patch  | 109 ------
 6 files changed, 817 deletions(-)

diff --git a/net-dns/c-ares/Manifest b/net-dns/c-ares/Manifest
index 93f5a36b42fa..790088c7b050 100644
--- a/net-dns/c-ares/Manifest
+++ b/net-dns/c-ares/Manifest
@@ -1,10 +1,6 @@
 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.20.1.tar.gz 1599175 BLAKE2B 44d160e04dcbd78f0ad7c1f2eb3f34ff07017fd9b5c4bc12b81b123022297adccfff45f43630f8c73afdfd9424ff6ee9fb96c627405ec486c8d78bb0c7e518ca SHA512 83400fb276ebcf16dfe6f43d56ca87839d132b5a0544420eda9fa148eb85468b3f215593fcefc2a7a3a8ed8b0d4ef093ed99616a4e466b01f6913934240539e4
-DIST c-ares-1.20.1.tar.gz.asc 488 BLAKE2B 5a6a9e60dd3fb675cafbbf60c7b6c75b385786d1171afa9b1effcdf0187dbd044c93f6a0e87f685b5fdf2992892fdd760e2dc3246c196d011c157fc88bbb5ab4 SHA512 f0622f6df863c599028f20462fb6f5604f30243f51f382c8430abe2afbf3583cb6ffe527f0a38e646700d753d90fa9a2a4d197a7540b2fc9bed1d779fe3b43df
 DIST c-ares-1.21.0.tar.gz 1623742 BLAKE2B 708933603dfc6c0286e798b3244eb9d8bce500acb915a255b82e00133509e5c2ceaad6b9b4cd081fcd9193b64fdb72e4e7ff6deeca8eb1744124ab9239cacac0 SHA512 c526b0a28d8ea1c6a53215dfd52e8250c968513a667c5414459d97d46288da7e7a2193d757fc78225e56c6684b3d30e756dd3e5a31917e996c871773a34892ea
 DIST c-ares-1.21.0.tar.gz.asc 488 BLAKE2B b1985393dfc147abe729b5622c4c92585072173a169947caf1a9521d341dac2119e34691b96e31716df66a251dbba3a5284cddd4c47af0d0bd91e20576d5671e SHA512 0e75e51ebf97ec4ed0880811ddb60f741ea190c2e63011aad9a4233fe4e2481d0c660d401a5cf596fe257930365a366082c2b5faa34bb7b346d147cfc51392ff
-DIST c-ares-1.22.0.tar.gz 1662808 BLAKE2B 0f70c2cfe9e5076eaa97262a9b34d915d755618dc89884a2d743a0d47827bb99d2a1d1bb655aff92d8c85a19a4420a1e685d91f82b9f7a55cc2feb5daa27fd41 SHA512 b84b774090bbeae7ad2eabeb223a12474e42f2efcc4e2209fcda260b1fe29337549eb7827eb7f75475fade65b6e1ab719abdae0ff543309c1914aa9cef65cd01
-DIST c-ares-1.22.0.tar.gz.asc 488 BLAKE2B 93d378c92aef3ef1bfedc1d09ffb171c735c029c1d0440ea4e154db14b14d7eb68166fb00172dee20a826c39bd112bdc80b66ac23e7eb8bc6c47f0fe8f6fa412 SHA512 83c99f7d67a403628e407814c6829fb6ca14c102eec85bf9d3bb628677b3cba61343ca5d4fb06d95f2fa7df55681f3b1aebba2997b91c9156688075a445a1485
 DIST c-ares-1.22.1.tar.gz 1665059 BLAKE2B 720d0efdbcb591cf9a8b99a60f24c9c720eee4283608d12af45890f3a534e334487c9ce9eeaaed992c78ce5ff683e57ec08f5a3ba84efa818e1e39fc1ad91ed6 SHA512 9b9aa3ff48a76e7d1464f5fc644e736d09898b2245c81292c510d1a3b967dca13e4711bab564947ec99c118094c385d12a92ddd767a84153fdd21df03da75349
 DIST c-ares-1.22.1.tar.gz.asc 488 BLAKE2B a3723365cd733ca4551b039038baeb94b4e53dda3dac1c479606c07fbc09b8ea0ebbd83b26ede8e0a1782ac06dfb62b53472e0024239175d763fb1f3e6834b50 SHA512 37ad0a9c72e7a98bf83e4be107040c3223880a784e01a917dbe72861e2f4ca692100d2b8543be3c960d21fc8d3d57a7075f99ba6de61366a93783cea07cc9f76

diff --git a/net-dns/c-ares/c-ares-1.20.1.ebuild b/net-dns/c-ares/c-ares-1.20.1.ebuild
deleted file mode 100644
index 3f0ca563d3b2..000000000000
--- a/net-dns/c-ares/c-ares-1.20.1.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc
-inherit edo multilib-minimal verify-sig
-
-DESCRIPTION="C library that resolves names asynchronously"
-HOMEPAGE="https://c-ares.org/"
-SRC_URI="
-	https://c-ares.org/download/${P}.tar.gz
-	verify-sig? ( https://c-ares.org/download/${P}.tar.gz.asc )
-"
-
-# 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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-danielstenberg )"
-
-DOCS=( AUTHORS CHANGES NEWS README.md RELEASE-NOTES TODO )
-
-MULTILIB_WRAPPED_HEADERS=(
-	/usr/include/ares_build.h
-)
-
-QA_CONFIG_IMPL_DECL_SKIP=(
-	# Checking for obsolete headers
-	malloc
-	calloc
-	free
-
-	# Non-existent on Linux
-	closesocket
-	CloseSocket
-	ioctlsocket
-	bitncmp
-)
-
-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
-	export ax_cv_user_namespace=no
-	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-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=(
-		# Most live tests have Live in the name
-		*Live*
-		# These don't but are still in ares-test-live.cc => live
-		*GetTCPSock*
-		*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[*]}"))
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	find "${ED}" -name "*.la" -delete || die
-}

diff --git a/net-dns/c-ares/c-ares-1.22.0-r1.ebuild b/net-dns/c-ares/c-ares-1.22.0-r1.ebuild
deleted file mode 100644
index 5356eceefd2a..000000000000
--- a/net-dns/c-ares/c-ares-1.22.0-r1.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc
-inherit edo multilib-minimal verify-sig
-
-DESCRIPTION="C library that resolves names asynchronously"
-HOMEPAGE="https://c-ares.org/"
-SRC_URI="
-	https://c-ares.org/download/${P}.tar.gz
-	verify-sig? ( https://c-ares.org/download/${P}.tar.gz.asc )
-"
-
-# 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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-danielstenberg )"
-
-DOCS=( AUTHORS CHANGES NEWS README.md RELEASE-NOTES TODO )
-
-PATCHES=(
-	"${FILESDIR}"/${P}-hosts-lookup.patch
-	"${FILESDIR}"/${P}-hosts-lookup-perf.patch
-)
-
-MULTILIB_WRAPPED_HEADERS=(
-	/usr/include/ares_build.h
-)
-
-QA_CONFIG_IMPL_DECL_SKIP=(
-	# Checking for obsolete headers
-	malloc
-	calloc
-	free
-
-	# Non-existent on Linux
-	closesocket
-	CloseSocket
-	ioctlsocket
-	bitncmp
-)
-
-multilib_src_configure() {
-	# These configure tests take a long time to run. The args one runs in O(n^4).
-	export ac_cv_func_getnameinfo='yes'
-	export ac_cv_func_recvfrom='yes'
-	export ac_cv_func_recv='yes'
-	export ac_cv_func_send='yes'
-	export curl_cv_func_getnameinfo_args='const struct sockaddr *,socklen_t,size_t,int'
-	export curl_cv_func_recv_args='int,void *,size_t,int,int'
-	export curl_cv_func_recvfrom_args='int,void *,size_t,int,struct sockaddr *,socklen_t *,int'
-	export curl_cv_func_send_args='int,const void *,size_t,int,int'
-	export curl_cv_getnameinfo='yes'
-	export curl_cv_recv='yes'
-	export curl_cv_recvfrom='yes'
-	export curl_cv_send='yes'
-
-	local myeconfargs=(
-		--cache-file="${BUILD_DIR}"/config.cache
-
-		--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
-	export ax_cv_user_namespace=no
-	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-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=(
-		# Most live tests have Live in the name
-		*Live*
-		# These don't but are still in ares-test-live.cc => live
-		*GetTCPSock*
-		*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[*]}"))
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	find "${ED}" -name "*.la" -delete || die
-}

diff --git a/net-dns/c-ares/c-ares-1.22.0.ebuild b/net-dns/c-ares/c-ares-1.22.0.ebuild
deleted file mode 100644
index 8fbe8498c19b..000000000000
--- a/net-dns/c-ares/c-ares-1.22.0.ebuild
+++ /dev/null
@@ -1,104 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc
-inherit edo multilib-minimal verify-sig
-
-DESCRIPTION="C library that resolves names asynchronously"
-HOMEPAGE="https://c-ares.org/"
-SRC_URI="
-	https://c-ares.org/download/${P}.tar.gz
-	verify-sig? ( https://c-ares.org/download/${P}.tar.gz.asc )
-"
-
-# 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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-danielstenberg )"
-
-DOCS=( AUTHORS CHANGES NEWS README.md RELEASE-NOTES TODO )
-
-MULTILIB_WRAPPED_HEADERS=(
-	/usr/include/ares_build.h
-)
-
-QA_CONFIG_IMPL_DECL_SKIP=(
-	# Checking for obsolete headers
-	malloc
-	calloc
-	free
-
-	# Non-existent on Linux
-	closesocket
-	CloseSocket
-	ioctlsocket
-	bitncmp
-)
-
-multilib_src_configure() {
-	# These configure tests take a long time to run. The args one runs in O(n^4).
-	export ac_cv_func_getnameinfo='yes'
-	export ac_cv_func_recvfrom='yes'
-	export ac_cv_func_recv='yes'
-	export ac_cv_func_send='yes'
-	export curl_cv_func_getnameinfo_args='const struct sockaddr *,socklen_t,size_t,int'
-	export curl_cv_func_recv_args='int,void *,size_t,int,int'
-	export curl_cv_func_recvfrom_args='int,void *,size_t,int,struct sockaddr *,socklen_t *,int'
-	export curl_cv_func_send_args='int,const void *,size_t,int,int'
-	export curl_cv_getnameinfo='yes'
-	export curl_cv_recv='yes'
-	export curl_cv_recvfrom='yes'
-	export curl_cv_send='yes'
-
-	local myeconfargs=(
-		--cache-file="${BUILD_DIR}"/config.cache
-
-		--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
-	export ax_cv_user_namespace=no
-	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-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=(
-		# Most live tests have Live in the name
-		*Live*
-		# These don't but are still in ares-test-live.cc => live
-		*GetTCPSock*
-		*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[*]}"))
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	find "${ED}" -name "*.la" -delete || die
-}

diff --git a/net-dns/c-ares/files/c-ares-1.22.0-hosts-lookup-perf.patch b/net-dns/c-ares/files/c-ares-1.22.0-hosts-lookup-perf.patch
deleted file mode 100644
index 4830c9cb97e9..000000000000
--- a/net-dns/c-ares/files/c-ares-1.22.0-hosts-lookup-perf.patch
+++ /dev/null
@@ -1,403 +0,0 @@
-https://github.com/c-ares/c-ares/commit/2724f0e26c8875ce194d68dc15840e9435a1c805
-
-From 2724f0e26c8875ce194d68dc15840e9435a1c805 Mon Sep 17 00:00:00 2001
-From: Brad House <brad@brad-house.com>
-Date: Thu, 16 Nov 2023 15:20:48 -0500
-Subject: [PATCH] optimize: large /etc/hosts files reading
-
-profiling found some hot paths that could be optimized to reduce
-insert times into the cache.
-
-Fix By: Brad House (@bradh352)
---- a/src/lib/ares__hosts_file.c
-+++ b/src/lib/ares__hosts_file.c
-@@ -313,81 +313,51 @@ static ares_hosts_file_t *ares__hosts_file_create(const char *filename)
-   return NULL;
- }
- 
--static ares_bool_t ares__hosts_entry_ipaddr_exists(ares_hosts_entry_t *entry,
--                                                   const char         *ipaddr)
--{
--  ares__llist_node_t *node;
--
--  for (node = ares__llist_node_first(entry->ips); node != NULL;
--       node = ares__llist_node_next(node)) {
--    const char *myaddr = ares__llist_node_val(node);
--    if (strcmp(myaddr, ipaddr) == 0) {
--      return ARES_TRUE;
--    }
--  }
--
--  return ARES_FALSE;
--}
--
--static ares_bool_t ares__hosts_entry_host_exists(ares_hosts_entry_t *entry,
--                                                 const char         *host)
--{
--  ares__llist_node_t *node;
--
--  for (node = ares__llist_node_first(entry->ips); node != NULL;
--       node = ares__llist_node_next(node)) {
--    const char *myhost = ares__llist_node_val(node);
--    if (strcasecmp(myhost, host) == 0) {
--      return ARES_TRUE;
--    }
--  }
--
--  return ARES_FALSE;
--}
-+typedef enum {
-+  ARES_MATCH_NONE   = 0,
-+  ARES_MATCH_IPADDR = 1,
-+  ARES_MATCH_HOST   = 2
-+} ares_hosts_file_match_t;
- 
--static ares_status_t ares__hosts_file_merge_entry(ares_hosts_entry_t *existing,
--                                                  ares_hosts_entry_t *entry)
-+static ares_status_t ares__hosts_file_merge_entry(ares_hosts_file_t  *hf,
-+                                                  ares_hosts_entry_t *existing,
-+                                                  ares_hosts_entry_t *entry,
-+                                                  ares_hosts_file_match_t matchtype)
- {
-   ares__llist_node_t *node;
- 
--  while ((node = ares__llist_node_first(entry->ips)) != NULL) {
--    char *ipaddr = ares__llist_node_claim(node);
-+  /* If we matched on IP address, we know there can only be 1, so there's no
-+   * reason to do anything */
-+  if (matchtype != ARES_MATCH_IPADDR) {
-+    while ((node = ares__llist_node_first(entry->ips)) != NULL) {
-+      const char *ipaddr = ares__llist_node_val(node);
- 
--    if (ares__hosts_entry_ipaddr_exists(existing, ipaddr)) {
--      ares_free(ipaddr);
--      continue;
--    }
-+      if (ares__htable_strvp_get_direct(hf->iphash, ipaddr) != NULL) {
-+        ares__llist_node_destroy(node);
-+        continue;
-+      }
- 
--    if (ares__llist_insert_last(existing->ips, ipaddr) == NULL) {
--      ares_free(ipaddr);
--      return ARES_ENOMEM;
-+      ares__llist_node_move_parent_last(node, existing->ips);
-     }
-   }
- 
- 
-   while ((node = ares__llist_node_first(entry->hosts)) != NULL) {
--    char *hostname = ares__llist_node_claim(node);
-+    const char *hostname = ares__llist_node_val(node);
- 
--    if (ares__hosts_entry_host_exists(existing, hostname)) {
--      ares_free(hostname);
-+    if (ares__htable_strvp_get_direct(hf->hosthash, hostname) != NULL) {
-+      ares__llist_node_destroy(node);
-       continue;
-     }
- 
--    if (ares__llist_insert_last(existing->hosts, hostname) == NULL) {
--      ares_free(hostname);
--      return ARES_ENOMEM;
--    }
-+    ares__llist_node_move_parent_last(node, existing->hosts);
-   }
- 
-   ares__hosts_entry_destroy(entry);
-   return ARES_SUCCESS;
- }
- 
--typedef enum {
--  ARES_MATCH_NONE   = 0,
--  ARES_MATCH_IPADDR = 1,
--  ARES_MATCH_HOST   = 2
--} ares_hosts_file_match_t;
-+
- 
- static ares_hosts_file_match_t
-   ares__hosts_file_match(const ares_hosts_file_t *hf, ares_hosts_entry_t *entry,
-@@ -435,7 +405,7 @@ static ares_status_t ares__hosts_file_add(ares_hosts_file_t  *hosts,
-   matchtype = ares__hosts_file_match(hosts, entry, &match);
- 
-   if (matchtype != ARES_MATCH_NONE) {
--    status = ares__hosts_file_merge_entry(match, entry);
-+    status = ares__hosts_file_merge_entry(hosts, match, entry, matchtype);
-     if (status != ARES_SUCCESS) {
-       ares__hosts_entry_destroy(entry);
-       return status;
-@@ -481,6 +451,22 @@ static ares_status_t ares__hosts_file_add(ares_hosts_file_t  *hosts,
-   return ARES_SUCCESS;
- }
- 
-+static ares_bool_t ares__hosts_entry_isdup(ares_hosts_entry_t *entry,
-+                                           const char         *host)
-+{
-+  ares__llist_node_t *node;
-+
-+  for (node = ares__llist_node_first(entry->ips); node != NULL;
-+       node = ares__llist_node_next(node)) {
-+    const char *myhost = ares__llist_node_val(node);
-+    if (strcasecmp(myhost, host) == 0) {
-+      return ARES_TRUE;
-+    }
-+  }
-+
-+  return ARES_FALSE;
-+}
-+
- static ares_status_t ares__parse_hosts_hostnames(ares__buf_t        *buf,
-                                                  ares_hosts_entry_t *entry)
- {
-@@ -531,7 +517,7 @@ static ares_status_t ares__parse_hosts_hostnames(ares__buf_t        *buf,
-     }
- 
-     /* Don't add a duplicate to the same entry */
--    if (ares__hosts_entry_host_exists(entry, hostname)) {
-+    if (ares__hosts_entry_isdup(entry, hostname)) {
-       continue;
-     }
- 
---- a/src/lib/ares__htable.c
-+++ b/src/lib/ares__htable.c
-@@ -66,7 +66,7 @@ static unsigned int ares__htable_generate_seed(ares__htable_t *htable)
- 
- static void ares__htable_buckets_destroy(ares__llist_t **buckets,
-                                          unsigned int    size,
--                                         unsigned char   destroy_vals)
-+                                         ares_bool_t     destroy_vals)
- {
-   unsigned int i;
- 
-@@ -94,7 +94,7 @@ void ares__htable_destroy(ares__htable_t *htable)
-   if (htable == NULL) {
-     return;
-   }
--  ares__htable_buckets_destroy(htable->buckets, htable->size, 1);
-+  ares__htable_buckets_destroy(htable->buckets, htable->size, ARES_TRUE);
-   ares_free(htable);
- }
- 
-@@ -180,11 +180,40 @@ static ares_bool_t ares__htable_expand(ares__htable_t *htable)
- 
-   for (i = 0; i < old_size; i++) {
-     ares__llist_node_t *node;
--    for (node = ares__llist_node_first(htable->buckets[i]); node != NULL;
--         node = ares__llist_node_next(node)) {
-+
-+    /* Nothing in this bucket */
-+    if (htable->buckets[i] == NULL)
-+      continue;
-+
-+    /* Fast past optimization (most likely case), there is likely only a single
-+     * entry in both the source and destination, check for this to confirm and
-+     * if so, just move the bucket over */
-+    if (ares__llist_len(htable->buckets[i]) == 1) {
-+      void  *val = ares__llist_first_val(htable->buckets[i]);
-+      size_t idx = HASH_IDX(htable, htable->bucket_key(val));
-+
-+      if (buckets[idx] == NULL) {
-+        /* Swap! */
-+        buckets[idx]       = htable->buckets[i];
-+        htable->buckets[i] = NULL;
-+        continue;
-+      }
-+    }
-+
-+    /* Slow path, collisions */
-+    while ((node = ares__llist_node_first(htable->buckets[i])) != NULL) {
-       void  *val = ares__llist_node_val(node);
-       size_t idx = HASH_IDX(htable, htable->bucket_key(val));
- 
-+      /* Try fast path again as maybe we popped one collision off and the
-+       * next we can reuse the llist parent */
-+      if (buckets[idx] == NULL && ares__llist_len(htable->buckets[i]) == 1) {
-+        /* Swap! */
-+        buckets[idx]       = htable->buckets[i];
-+        htable->buckets[i] = NULL;
-+        break;
-+      }
-+
-       if (buckets[idx] == NULL) {
-         buckets[idx] = ares__llist_create(htable->bucket_free);
-       }
-@@ -192,19 +221,17 @@ static ares_bool_t ares__htable_expand(ares__htable_t *htable)
-         goto fail;
-       }
- 
--      if (ares__llist_insert_first(buckets[idx], val) == NULL) {
--        goto fail;
--      }
-+      ares__llist_node_move_parent_first(node, buckets[idx]);
-     }
-   }
- 
-   /* Swap out buckets */
--  ares__htable_buckets_destroy(htable->buckets, old_size, 0);
-+  ares__htable_buckets_destroy(htable->buckets, old_size, ARES_FALSE);
-   htable->buckets = buckets;
-   return ARES_TRUE;
- 
- fail:
--  ares__htable_buckets_destroy(buckets, htable->size, 0);
-+  ares__htable_buckets_destroy(buckets, htable->size, ARES_FALSE);
-   htable->size = old_size;
- 
-   return ARES_FALSE;
---- a/src/lib/ares__llist.c
-+++ b/src/lib/ares__llist.c
-@@ -71,24 +71,14 @@ typedef enum {
-   ARES__LLIST_INSERT_BEFORE
- } ares__llist_insert_type_t;
- 
--static ares__llist_node_t *ares__llist_insert_at(ares__llist_t            *list,
--                                                 ares__llist_insert_type_t type,
--                                                 ares__llist_node_t       *at,
--                                                 void                     *val)
-+static void ares__llist_attach_at(ares__llist_t            *list,
-+                                  ares__llist_insert_type_t type,
-+                                  ares__llist_node_t       *at,
-+                                  ares__llist_node_t       *node)
- {
--  ares__llist_node_t *node = NULL;
--
--  if (list == NULL || val == NULL) {
--    return NULL;
--  }
--
--  node = ares_malloc_zero(sizeof(*node));
--
--  if (node == NULL) {
--    return NULL;
--  }
-+  if (list == NULL || node == NULL)
-+    return;
- 
--  node->data   = val;
-   node->parent = list;
- 
-   if (type == ARES__LLIST_INSERT_BEFORE && (at == list->head || at == NULL)) {
-@@ -126,6 +116,27 @@ static ares__llist_node_t *ares__llist_insert_at(ares__llist_t            *list,
-   }
- 
-   list->cnt++;
-+}
-+
-+static ares__llist_node_t *ares__llist_insert_at(ares__llist_t            *list,
-+                                                 ares__llist_insert_type_t type,
-+                                                 ares__llist_node_t       *at,
-+                                                 void                     *val)
-+{
-+  ares__llist_node_t *node = NULL;
-+
-+  if (list == NULL || val == NULL) {
-+    return NULL;
-+  }
-+
-+  node = ares_malloc_zero(sizeof(*node));
-+
-+  if (node == NULL) {
-+    return NULL;
-+  }
-+
-+  node->data = val;
-+  ares__llist_attach_at(list, type, at, node);
- 
-   return node;
- }
-@@ -233,17 +244,14 @@ void *ares__llist_last_val(ares__llist_t *list)
-   return ares__llist_node_val(ares__llist_node_last(list));
- }
- 
--void *ares__llist_node_claim(ares__llist_node_t *node)
-+static void ares__llist_node_detach(ares__llist_node_t *node)
- {
--  void          *val;
-   ares__llist_t *list;
- 
--  if (node == NULL) {
--    return NULL;
--  }
-+  if (node == NULL)
-+    return;
- 
-   list = node->parent;
--  val  = node->data;
- 
-   if (node->prev) {
-     node->prev->next = node->next;
-@@ -260,9 +268,22 @@ void *ares__llist_node_claim(ares__llist_node_t *node)
-   if (node == list->tail) {
-     list->tail = node->prev;
-   }
--  ares_free(node);
- 
-+  node->parent = NULL;
-   list->cnt--;
-+}
-+
-+void *ares__llist_node_claim(ares__llist_node_t *node)
-+{
-+  void          *val;
-+
-+  if (node == NULL) {
-+    return NULL;
-+  }
-+
-+  val  = node->data;
-+  ares__llist_node_detach(node);
-+  ares_free(node);
- 
-   return val;
- }
-@@ -313,3 +334,23 @@ void ares__llist_destroy(ares__llist_t *list)
-   }
-   ares_free(list);
- }
-+
-+void ares__llist_node_move_parent_last(ares__llist_node_t *node,
-+                                       ares__llist_t *new_parent)
-+{
-+  if (node == NULL || new_parent == NULL)
-+    return;
-+
-+  ares__llist_node_detach(node);
-+  ares__llist_attach_at(new_parent, ARES__LLIST_INSERT_TAIL, NULL, node);
-+}
-+
-+void ares__llist_node_move_parent_first(ares__llist_node_t *node,
-+                                        ares__llist_t *new_parent)
-+{
-+  if (node == NULL || new_parent == NULL)
-+    return;
-+
-+  ares__llist_node_detach(node);
-+  ares__llist_attach_at(new_parent, ARES__LLIST_INSERT_HEAD, NULL, node);
-+}
---- a/src/lib/ares__llist.h
-+++ b/src/lib/ares__llist.h
-@@ -198,6 +198,23 @@ void ares__llist_node_destroy(ares__llist_node_t *node);
-  */
- void ares__llist_destroy(ares__llist_t *list);
- 
-+/*! Detach node from the current list and re-attach it to the new list as the
-+ *  last entry.
-+ *
-+ * \param[in] node   node to move
-+ * \param[in] parent new list
-+ */
-+void ares__llist_node_move_parent_last(ares__llist_node_t *node,
-+                                       ares__llist_t *new_parent);
-+
-+/*! Detach node from the current list and re-attach it to the new list as the
-+ *  first entry.
-+ *
-+ * \param[in] node   node to move
-+ * \param[in] parent new list
-+ */
-+void ares__llist_node_move_parent_first(ares__llist_node_t *node,
-+                                        ares__llist_t *new_parent);
- /*! @} */
- 
- #endif /* __ARES__LLIST_H */
-

diff --git a/net-dns/c-ares/files/c-ares-1.22.0-hosts-lookup.patch b/net-dns/c-ares/files/c-ares-1.22.0-hosts-lookup.patch
deleted file mode 100644
index c0e76ca7e83c..000000000000
--- a/net-dns/c-ares/files/c-ares-1.22.0-hosts-lookup.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-https://github.com/c-ares/c-ares/commit/a3631763ca30804c3095d99474e05625f0c9b0fa
-
-From a3631763ca30804c3095d99474e05625f0c9b0fa Mon Sep 17 00:00:00 2001
-From: Brad House <brad@brad-house.com>
-Date: Thu, 16 Nov 2023 12:19:39 -0500
-Subject: [PATCH] Fix /etc/hosts processing performance with all entries using
- same IP address
-
-Some users use blacklist files like https://github.com/StevenBlack/hosts which
-can contain 200k+ host entries all pointing to 0.0.0.0.  Due to the merge
-logic in the new hosts processor, all those entries will be associated as
-aliases for the same ip address.
-
-The first issue is that it attempts to check the status of all the hosts for
-the merged entry, when it should only be checking the new hosts added to the
-merged entry, so this caused exponential time as the entries got longer.
-
-The next issue is if searching for one of those hosts, it would append all
-the matches as cnames/aliases, but there is zero use for 200k aliases
-being appended to a lookup, so we are artificially capping this to 100.
-
-Bug report reference: https://bugs.gentoo.org/917400
-
-Fix By: Brad House (@bradh352)
---- a/src/lib/ares__hosts_file.c
-+++ b/src/lib/ares__hosts_file.c
-@@ -422,9 +422,15 @@ static ares_status_t ares__hosts_file_add(ares_hosts_file_t  *hosts,
-                                           ares_hosts_entry_t *entry)
- {
-   ares_hosts_entry_t     *match  = NULL;
--  ares_status_t           status = ARES_SUCCESS;
-+  ares_status_t           status       = ARES_SUCCESS;
-   ares__llist_node_t     *node;
-   ares_hosts_file_match_t matchtype;
-+  size_t                  num_hostnames;
-+
-+  /* Record the number of hostnames in this entry file.  If we merge into an
-+   * existing record, these will be *appended* to the entry, so we'll count
-+   * backwards when adding to the hosts hashtable */
-+  num_hostnames = ares__llist_len(entry->hosts);
- 
-   matchtype = ares__hosts_file_match(hosts, entry, &match);
- 
-@@ -450,10 +456,17 @@ static ares_status_t ares__hosts_file_add(ares_hosts_file_t  *hosts,
-     }
-   }
- 
--  for (node = ares__llist_node_first(entry->hosts); node != NULL;
--       node = ares__llist_node_next(node)) {
-+  /* Go backwards, on a merge, hostnames are appended.  Breakout once we've
-+   * consumed all the hosts that we appended */
-+  for (node = ares__llist_node_last(entry->hosts); node != NULL;
-+       node = ares__llist_node_prev(node)) {
-     const char *val = ares__llist_node_val(node);
- 
-+    if (num_hostnames == 0)
-+      break;
-+
-+    num_hostnames--;
-+
-     /* first hostname match wins.  If we detect a duplicate hostname for another
-      * ip it will automatically be added to the same entry */
-     if (ares__htable_strvp_get(hosts->hosthash, val, NULL)) {
-@@ -950,6 +963,12 @@ ares_status_t ares__hosts_entry_to_hostent(const ares_hosts_entry_t *entry,
- 
-   /* Copy aliases */
-   naliases = ares__llist_len(entry->hosts) - 1;
-+
-+  /* Cap at 100, some people use https://github.com/StevenBlack/hosts and we
-+   * don't need 200k+ aliases */
-+  if (naliases > 100)
-+    naliases = 100;
-+
-   (*hostent)->h_aliases =
-     ares_malloc_zero((naliases + 1) * sizeof(*(*hostent)->h_aliases));
-   if ((*hostent)->h_aliases == NULL) {
-@@ -968,6 +987,10 @@ ares_status_t ares__hosts_entry_to_hostent(const ares_hosts_entry_t *entry,
-       goto fail;
-     }
-     idx++;
-+
-+    /* Break out if artificially capped */
-+    if (idx == naliases)
-+      break;
-     node = ares__llist_node_next(node);
-   }
- 
-@@ -988,6 +1011,7 @@ static ares_status_t
-   const char                 *primaryhost;
-   ares__llist_node_t         *node;
-   ares_status_t               status;
-+  size_t                      cnt = 0;
- 
-   node        = ares__llist_node_first(entry->hosts);
-   primaryhost = ares__llist_node_val(node);
-@@ -997,6 +1021,12 @@ static ares_status_t
-   while (node != NULL) {
-     const char *host = ares__llist_node_val(node);
- 
-+    /* Cap at 100 entries. , some people use https://github.com/StevenBlack/hosts
-+     * and we don't need 200k+ aliases */
-+    cnt++;
-+    if (cnt > 100)
-+      break;
-+
-     cname = ares__append_addrinfo_cname(&cnames);
-     if (cname == NULL) {
-       status = ARES_ENOMEM;
-


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-dns/c-ares/, net-dns/c-ares/files/
@ 2023-12-20 10:04 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2023-12-20 10:04 UTC (permalink / raw
  To: gentoo-commits

commit:     9ae45b215255d54bb165ccc6cf2324197add02a8
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 20 09:21:50 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Dec 20 10:03:25 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9ae45b21

net-dns/c-ares: add 1.24.0

Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-dns/c-ares/Manifest                            |   2 +
 net-dns/c-ares/c-ares-1.24.0.ebuild                | 115 +++++++++++++++++++++
 ...res-1.24.0-ares__iface_ips_enumerate-stub.patch |  34 ++++++
 net-dns/c-ares/files/c-ares-1.24.0-getrandom.patch |  80 ++++++++++++++
 .../files/c-ares-1.24.0-tests-symbol-hiding.patch  | 109 +++++++++++++++++++
 5 files changed, 340 insertions(+)

diff --git a/net-dns/c-ares/Manifest b/net-dns/c-ares/Manifest
index 7c0f33ffed5b..088a7d885e0b 100644
--- a/net-dns/c-ares/Manifest
+++ b/net-dns/c-ares/Manifest
@@ -6,3 +6,5 @@ DIST c-ares-1.22.1.tar.gz 1665059 BLAKE2B 720d0efdbcb591cf9a8b99a60f24c9c720eee4
 DIST c-ares-1.22.1.tar.gz.asc 488 BLAKE2B a3723365cd733ca4551b039038baeb94b4e53dda3dac1c479606c07fbc09b8ea0ebbd83b26ede8e0a1782ac06dfb62b53472e0024239175d763fb1f3e6834b50 SHA512 37ad0a9c72e7a98bf83e4be107040c3223880a784e01a917dbe72861e2f4ca692100d2b8543be3c960d21fc8d3d57a7075f99ba6de61366a93783cea07cc9f76
 DIST c-ares-1.23.0.tar.gz 1681336 BLAKE2B 0bbac0afed8c2853d3b9e95db0e9b1d170480471720ce9260d212c4da50311ba21f45a68e4737d23a22f3ebaef005055c227f9be1c07cc9e1d66a93af76af276 SHA512 0302fe809118bc81310c4f5ca4bbea3e2aee262da2c44ad6266d9da05e9326452f274508685974ff8aa6fce8332a2862008c12fbbc2917af258daa90b69567f0
 DIST c-ares-1.23.0.tar.gz.asc 488 BLAKE2B 0db7e4af81c00e1d5a3db38a19686c23dd2dd61717c5767506a94e6e1c171cf33be4c49afabeb738e9f16d1b9c083b9b7b2ae66f9c91a6086fe296a7dfd262c4 SHA512 89e3523d6168672a85f14867cd6e29994b9dd54c6950e47d973d4d05ecaa76ce81813521bd7b748e4f7c2f34972cdd980dcecefe2832d1c6cad56065697a5216
+DIST c-ares-1.24.0.tar.gz 1368749 BLAKE2B aae99e1b5715ae4c68b84e3ceedf3e9758cf0f961bb85bfe870def2bd0342ac26d71a3a784708050c7a339360962567031e83c6b9a61a163ecaba0def6ceb24d SHA512 3701853e263de94daf19734185ad913848c19b825e0738926b418a54b0628ee1ac95a49ebfaa2ddf3eed74a7ef209e1a0a8f573df3e507ef1f11fcc53fc5eb68
+DIST c-ares-1.24.0.tar.gz.asc 488 BLAKE2B 965dc1ec04aae5ec4fb5e3cee6dfe99c102112d12498f841377d901e87d8b13e17a48ba8393054849206a21333173bd3ab1d7c61cf76b6c7415f5bf99a7ada1c SHA512 dda1b8d3e715b5ba117542cab31826faf821061ea6ceefa77c0452f1d17d0c84a0cc5891722eb8e7f54da087c352409197d1e1a06420035a62c391e8e93cb8dd

diff --git a/net-dns/c-ares/c-ares-1.24.0.ebuild b/net-dns/c-ares/c-ares-1.24.0.ebuild
new file mode 100644
index 000000000000..a212ebd74cef
--- /dev/null
+++ b/net-dns/c-ares/c-ares-1.24.0.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc
+inherit edo multilib-minimal verify-sig
+
+DESCRIPTION="C library that resolves names asynchronously"
+HOMEPAGE="https://c-ares.org/"
+SRC_URI="
+	https://c-ares.org/download/${P}.tar.gz
+	verify-sig? ( https://c-ares.org/download/${P}.tar.gz.asc )
+"
+
+# 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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="static-libs test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+	test? ( dev-cpp/gtest )
+	verify-sig? ( sec-keys/openpgp-keys-danielstenberg )
+"
+
+DOCS=( AUTHORS CHANGES NEWS README.md RELEASE-NOTES TODO )
+
+MULTILIB_WRAPPED_HEADERS=(
+	/usr/include/ares_build.h
+)
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+	# Checking for obsolete headers
+	malloc
+	calloc
+	free
+
+	# Non-existent on Linux
+	closesocket
+	CloseSocket
+	ioctlsocket
+	bitncmp
+	ConvertInterfaceIndexToLuid
+	ConvertInterfaceLuidToNameA
+)
+
+PATCHES=(
+	"${FILESDIR}"/${P}-tests-symbol-hiding.patch
+	"${FILESDIR}"/${P}-getrandom.patch
+	"${FILESDIR}"/${P}-ares__iface_ips_enumerate-stub.patch
+)
+
+multilib_src_configure() {
+	# These configure tests take a long time to run. The args one runs in O(n^4).
+	export ac_cv_func_getnameinfo='yes'
+	export ac_cv_func_recvfrom='yes'
+	export ac_cv_func_recv='yes'
+	export ac_cv_func_send='yes'
+	export curl_cv_func_getnameinfo_args='const struct sockaddr *,socklen_t,size_t,int'
+	export curl_cv_func_recv_args='int,void *,size_t,int,int'
+	export curl_cv_func_recvfrom_args='int,void *,size_t,int,struct sockaddr *,socklen_t *,int'
+	export curl_cv_func_send_args='int,const void *,size_t,int,int'
+	export curl_cv_getnameinfo='yes'
+	export curl_cv_recv='yes'
+	export curl_cv_recvfrom='yes'
+	export curl_cv_send='yes'
+
+	local myeconfargs=(
+		--cache-file="${BUILD_DIR}"/config.cache
+
+		--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
+	export ax_cv_user_namespace=no
+	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
+}
+
+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=(
+		# Most live tests have Live in the name
+		*Live*
+		# These don't but are still in ares-test-live.cc => live
+		*GetTCPSock*
+		*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[*]}"))
+}
+
+multilib_src_install_all() {
+	einstalldocs
+
+	find "${ED}" -name "*.la" -delete || die
+}

diff --git a/net-dns/c-ares/files/c-ares-1.24.0-ares__iface_ips_enumerate-stub.patch b/net-dns/c-ares/files/c-ares-1.24.0-ares__iface_ips_enumerate-stub.patch
new file mode 100644
index 000000000000..12252cb1741b
--- /dev/null
+++ b/net-dns/c-ares/files/c-ares-1.24.0-ares__iface_ips_enumerate-stub.patch
@@ -0,0 +1,34 @@
+https://github.com/c-ares/c-ares/commit/eebfe0c15e1cc231500dfd79c730788790ec5251
+
+From eebfe0c15e1cc231500dfd79c730788790ec5251 Mon Sep 17 00:00:00 2001
+From: Brad House <brad@brad-house.com>
+Date: Sun, 17 Dec 2023 19:03:33 -0500
+Subject: [PATCH] Fix bad stub for ares__iface_ips_enumerate()
+
+If the ability to enumerate interface ip addresses does not exist
+on a system, the stub function contained the wrong prototype.
+
+Fixes Bug: #668
+Fix By: Brad House (@bradh352)
+---
+ src/lib/ares__iface_ips.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/lib/ares__iface_ips.c b/src/lib/ares__iface_ips.c
+index e10a0d80c..7cd12a605 100644
+--- a/src/lib/ares__iface_ips.c
++++ b/src/lib/ares__iface_ips.c
+@@ -510,11 +510,10 @@ static ares_status_t ares__iface_ips_enumerate(ares__iface_ips_t *ips,
+ #else
+ 
+ static ares_status_t ares__iface_ips_enumerate(ares__iface_ips_t     *ips,
+-                                               ares__iface_ip_flags_t flags,
+                                                const char            *name)
+ {
+   (void)ips;
+-  (void)flags;
++  (void)name;
+   return ARES_ENOTIMP;
+ }
+ 
+

diff --git a/net-dns/c-ares/files/c-ares-1.24.0-getrandom.patch b/net-dns/c-ares/files/c-ares-1.24.0-getrandom.patch
new file mode 100644
index 000000000000..090690213e22
--- /dev/null
+++ b/net-dns/c-ares/files/c-ares-1.24.0-getrandom.patch
@@ -0,0 +1,80 @@
+https://github.com/c-ares/c-ares/commit/d8edb76bece36267c4c55355ae9c7009e131a0e0
+
+From d8edb76bece36267c4c55355ae9c7009e131a0e0 Mon Sep 17 00:00:00 2001
+From: Brad House <brad@brad-house.com>
+Date: Sun, 17 Dec 2023 11:08:21 -0500
+Subject: [PATCH] getrandom() may require sys/random.h on some systems
+
+There is a reported build issue where getrandom() is detected
+but compile fails due to a missing prototype. This commit attempts
+to resolve that issue.
+
+Fixes Bug: #665
+Fix By: Brad House (@bradh352)
+---
+ CMakeLists.txt              | 2 ++
+ configure.ac                | 1 +
+ src/lib/ares_config.h.cmake | 3 +++
+ src/lib/ares_rand.c         | 3 +++
+ 4 files changed, 9 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a8d3eed06..29f5d7ed3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -225,6 +225,7 @@ CHECK_INCLUDE_FILES (sys/select.h          HAVE_SYS_SELECT_H)
+ CHECK_INCLUDE_FILES (sys/stat.h            HAVE_SYS_STAT_H)
+ CHECK_INCLUDE_FILES (sys/time.h            HAVE_SYS_TIME_H)
+ CHECK_INCLUDE_FILES (sys/uio.h             HAVE_SYS_UIO_H)
++CHECK_INCLUDE_FILES (sys/random.h          HAVE_SYS_RANDOM_H)
+ CHECK_INCLUDE_FILES (ifaddrs.h             HAVE_IFADDRS_H)
+ CHECK_INCLUDE_FILES (time.h                HAVE_TIME_H)
+ CHECK_INCLUDE_FILES (dlfcn.h               HAVE_DLFCN_H)
+@@ -323,6 +324,7 @@ CARES_EXTRAINCLUDE_IFSET (HAVE_SYS_SOCKIO_H	sys/sockio.h)
+ CARES_EXTRAINCLUDE_IFSET (HAVE_SYS_TIME_H     sys/time.h)
+ CARES_EXTRAINCLUDE_IFSET (HAVE_SYS_STAT_H     sys/stat.h)
+ CARES_EXTRAINCLUDE_IFSET (HAVE_SYS_UIO_H      sys/uio.h)
++CARES_EXTRAINCLUDE_IFSET (HAVE_SYS_RANDOM_H   sys/random.h)
+ CARES_EXTRAINCLUDE_IFSET (HAVE_TIME_H         time.h)
+ CARES_EXTRAINCLUDE_IFSET (HAVE_FCNTL_H        fcntl.h)
+ CARES_EXTRAINCLUDE_IFSET (HAVE_UNISTD_H       unistd.h)
+diff --git a/configure.ac b/configure.ac
+index 7a6b14092..e9c2534cd 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -574,6 +574,7 @@ AC_CHECK_HEADERS(
+        sys/ioctl.h \
+        sys/param.h \
+        sys/uio.h \
++       sys/random.h \
+        assert.h \
+        iphlpapi.h \
+        netioapi.h \
+diff --git a/src/lib/ares_config.h.cmake b/src/lib/ares_config.h.cmake
+index c2974dced..3fb85d54f 100644
+--- a/src/lib/ares_config.h.cmake
++++ b/src/lib/ares_config.h.cmake
+@@ -320,6 +320,9 @@
+ /* Define to 1 if you have the <sys/param.h> header file. */
+ #cmakedefine HAVE_SYS_PARAM_H
+ 
++/* Define to 1 if you have the <sys/random.h> header file. */
++#cmakedefine HAVE_SYS_RANDOM_H
++
+ /* Define to 1 if you have the <sys/select.h> header file. */
+ #cmakedefine HAVE_SYS_SELECT_H
+ 
+diff --git a/src/lib/ares_rand.c b/src/lib/ares_rand.c
+index e6e35ef61..867ca3340 100644
+--- a/src/lib/ares_rand.c
++++ b/src/lib/ares_rand.c
+@@ -28,6 +28,9 @@
+ #include "ares.h"
+ #include "ares_private.h"
+ #include <stdlib.h>
++#ifdef HAVE_SYS_RANDOM_H
++#  include <sys/random.h>
++#endif
+ 
+ 
+ typedef enum {

diff --git a/net-dns/c-ares/files/c-ares-1.24.0-tests-symbol-hiding.patch b/net-dns/c-ares/files/c-ares-1.24.0-tests-symbol-hiding.patch
new file mode 100644
index 000000000000..901966330d1c
--- /dev/null
+++ b/net-dns/c-ares/files/c-ares-1.24.0-tests-symbol-hiding.patch
@@ -0,0 +1,109 @@
+https://github.com/c-ares/c-ares/commit/7dd384a99cc385e408e64c3e0af4e0e2136ed034
+
+From 7dd384a99cc385e408e64c3e0af4e0e2136ed034 Mon Sep 17 00:00:00 2001
+From: Brad House <brad@brad-house.com>
+Date: Sun, 17 Dec 2023 08:16:24 -0500
+Subject: [PATCH] fix test building with symbol hiding
+
+New test cases depend on internal symbols for calculating timeouts.
+Disable those test features if symbol hiding is enabled.
+
+Fixes Bug: #664
+Fix By: Brad House (@bradh352)
+---
+ test/ares-test-mock-ai.cc |  2 ++
+ test/ares-test-mock.cc    |  4 ++--
+ test/ares-test.cc         | 12 ++++++++++++
+ 3 files changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/test/ares-test-mock-ai.cc b/test/ares-test-mock-ai.cc
+index c55676f6c..57b9d5ee2 100644
+--- a/test/ares-test-mock-ai.cc
++++ b/test/ares-test-mock-ai.cc
+@@ -442,6 +442,7 @@ TEST_P(MockChannelTestAI, FamilyV6) {
+   EXPECT_THAT(result.ai_, IncludesV6Address("2121:0000:0000:0000:0000:0000:0000:0303"));
+ }
+ 
++#ifndef CARES_SYMBOL_HIDING
+ // Test case for Issue #662
+ TEST_P(MockChannelTestAI, PartialQueryCancel) {
+   std::vector<byte> nothing;
+@@ -469,6 +470,7 @@ TEST_P(MockChannelTestAI, PartialQueryCancel) {
+   EXPECT_TRUE(result.done_);
+   EXPECT_EQ(ARES_ECANCELLED, result.status_);
+ }
++#endif
+ 
+ TEST_P(MockChannelTestAI, FamilyV4) {
+   DNSPacket rsp4;
+diff --git a/test/ares-test-mock.cc b/test/ares-test-mock.cc
+index 6afa8f989..849eb6980 100644
+--- a/test/ares-test-mock.cc
++++ b/test/ares-test-mock.cc
+@@ -826,7 +826,7 @@ TEST_P(MockChannelTest, V4WorksV6Timeout) {
+   EXPECT_EQ("{'www.google.com' aliases=[] addrs=[1.2.3.4]}", ss.str());
+ }
+ 
+-
++#ifndef CARES_SYMBOL_HIDING
+ // Test case for Issue #662
+ TEST_P(MockChannelTest, PartialQueryCancel) {
+   std::vector<byte> nothing;
+@@ -849,7 +849,7 @@ TEST_P(MockChannelTest, PartialQueryCancel) {
+   EXPECT_TRUE(result.done_);
+   EXPECT_EQ(ARES_ECANCELLED, result.status_);
+ }
+-
++#endif
+ 
+ TEST_P(MockChannelTest, UnspecifiedFamilyV6) {
+   DNSPacket rsp6;
+diff --git a/test/ares-test.cc b/test/ares-test.cc
+index faad01486..3a55b73d3 100644
+--- a/test/ares-test.cc
++++ b/test/ares-test.cc
+@@ -105,6 +105,8 @@ void ProcessWork(ares_channel_t *channel,
+                  unsigned int cancel_ms) {
+   int nfds, count;
+   fd_set readers, writers;
++
++#ifndef CARES_SYMBOL_HIDING
+   struct timeval tv_begin  = ares__tvnow();
+   struct timeval tv_cancel = tv_begin;
+ 
+@@ -113,10 +115,18 @@ void ProcessWork(ares_channel_t *channel,
+     tv_cancel.tv_sec  += (cancel_ms / 1000);
+     tv_cancel.tv_usec += ((cancel_ms % 1000) * 1000);
+   }
++#else
++  if (cancel_ms) {
++    std::cerr << "library built with symbol hiding, can't test with cancel support" << std::endl;
++    return;
++  }
++#endif
+ 
+   while (true) {
++#ifndef CARES_SYMBOL_HIDING
+     struct timeval  tv_now = ares__tvnow();
+     struct timeval  tv_remaining;
++#endif
+     struct timeval  tv;
+     struct timeval *tv_select;
+ 
+@@ -142,6 +152,7 @@ void ProcessWork(ares_channel_t *channel,
+     if (tv_select == NULL)
+       return;
+ 
++#ifndef CARES_SYMBOL_HIDING
+     if (cancel_ms) {
+       unsigned int remaining_ms;
+       ares__timeval_remaining(&tv_remaining,
+@@ -157,6 +168,7 @@ void ProcessWork(ares_channel_t *channel,
+         tv_select = ares_timeout(channel, &tv_remaining, &tv);
+       }
+     }
++#endif
+ 
+     count = select(nfds, &readers, &writers, nullptr, tv_select);
+     if (count < 0) {
+


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-dns/c-ares/, net-dns/c-ares/files/
@ 2024-02-21  7:55 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2024-02-21  7:55 UTC (permalink / raw
  To: gentoo-commits

commit:     75f9e2140367bcc87c167c9012f4a30302f28d0e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 21 07:45:12 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Feb 21 07:53:01 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=75f9e214

net-dns/c-ares: drop 1.19.1, 1.21.0, 1.24.0, 1.25.0

Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-dns/c-ares/Manifest                            |   6 --
 net-dns/c-ares/c-ares-1.19.1.ebuild                |  71 -------------
 net-dns/c-ares/c-ares-1.21.0.ebuild                |  88 ----------------
 net-dns/c-ares/c-ares-1.24.0.ebuild                | 115 ---------------------
 net-dns/c-ares/c-ares-1.25.0.ebuild                |  92 -----------------
 ...res-1.24.0-ares__iface_ips_enumerate-stub.patch |  34 ------
 net-dns/c-ares/files/c-ares-1.24.0-getrandom.patch |  80 --------------
 .../files/c-ares-1.24.0-tests-symbol-hiding.patch  | 109 -------------------
 8 files changed, 595 deletions(-)

diff --git a/net-dns/c-ares/Manifest b/net-dns/c-ares/Manifest
index 71a98e4e9b04..5688eb61fabf 100644
--- a/net-dns/c-ares/Manifest
+++ b/net-dns/c-ares/Manifest
@@ -1,9 +1,3 @@
-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.21.0.tar.gz 1623742 BLAKE2B 708933603dfc6c0286e798b3244eb9d8bce500acb915a255b82e00133509e5c2ceaad6b9b4cd081fcd9193b64fdb72e4e7ff6deeca8eb1744124ab9239cacac0 SHA512 c526b0a28d8ea1c6a53215dfd52e8250c968513a667c5414459d97d46288da7e7a2193d757fc78225e56c6684b3d30e756dd3e5a31917e996c871773a34892ea
-DIST c-ares-1.21.0.tar.gz.asc 488 BLAKE2B b1985393dfc147abe729b5622c4c92585072173a169947caf1a9521d341dac2119e34691b96e31716df66a251dbba3a5284cddd4c47af0d0bd91e20576d5671e SHA512 0e75e51ebf97ec4ed0880811ddb60f741ea190c2e63011aad9a4233fe4e2481d0c660d401a5cf596fe257930365a366082c2b5faa34bb7b346d147cfc51392ff
-DIST c-ares-1.24.0.tar.gz 1368749 BLAKE2B aae99e1b5715ae4c68b84e3ceedf3e9758cf0f961bb85bfe870def2bd0342ac26d71a3a784708050c7a339360962567031e83c6b9a61a163ecaba0def6ceb24d SHA512 3701853e263de94daf19734185ad913848c19b825e0738926b418a54b0628ee1ac95a49ebfaa2ddf3eed74a7ef209e1a0a8f573df3e507ef1f11fcc53fc5eb68
-DIST c-ares-1.24.0.tar.gz.asc 488 BLAKE2B 965dc1ec04aae5ec4fb5e3cee6dfe99c102112d12498f841377d901e87d8b13e17a48ba8393054849206a21333173bd3ab1d7c61cf76b6c7415f5bf99a7ada1c SHA512 dda1b8d3e715b5ba117542cab31826faf821061ea6ceefa77c0452f1d17d0c84a0cc5891722eb8e7f54da087c352409197d1e1a06420035a62c391e8e93cb8dd
 DIST c-ares-1.25.0.tar.gz 1264129 BLAKE2B a4f4b493e1331ade27504238c3e520e1ffaa525baf99442c88de3aeda1eb06a12ec804a5f0f699fb8acd469ccd2b3d08f5c32b4d01d50cfdc31097665087fce9 SHA512 f73ffc45c17f1e952ea5fae8a1d9e1508427f21c821ff470ff0b728cc4a1e21d1274f95d9192c22f704bc7e0f58a633608cfdc1704dfe8950902fdfc3dfa2e1c
 DIST c-ares-1.25.0.tar.gz.asc 488 BLAKE2B 45b07fc1ef14452b8a4fda63f134e389b66c120ccd8de3d48ccc5659c481db1796339a1968db406cf9b3da1a9c5aa81ccf538bc0546bb6c4babbe7de9c14f576 SHA512 9cf2dcd80807b54cd7fa6871283863384a4b6b10e0ef9c287bb4969a9169b7f12180a15c5fa756770c5ba01558ef48615aaaaefa546d19b3496e3cbe0454346b
 DIST c-ares-1.26.0.tar.gz 1298394 BLAKE2B 9bcbb321b31518fdd3481447e1bba733dbf0eabd1876aa0fec6737888fd176b837c64e6b22ae5754a905f0fd1591d4fd516db558fafae92cc2684ad7e0c29f63 SHA512 81657b8b9840a565b04ecf87ef8f0fc3192a9594808e47aed5e5bbebf2b5f0066b0cd5fae70f0fe70b68d428b4cc75fba22d2ae7683c6d0f87979c414c072af1

diff --git a/net-dns/c-ares/c-ares-1.19.1.ebuild b/net-dns/c-ares/c-ares-1.19.1.ebuild
deleted file mode 100644
index 4341bf88bddb..000000000000
--- a/net-dns/c-ares/c-ares-1.19.1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc
-inherit edo multilib-minimal verify-sig
-
-DESCRIPTION="C library that resolves names asynchronously"
-HOMEPAGE="https://c-ares.org/"
-SRC_URI="
-	https://c-ares.org/download/${P}.tar.gz
-	verify-sig? ( https://c-ares.org/download/${P}.tar.gz.asc )
-"
-
-# 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="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-danielstenberg )"
-
-DOCS=( AUTHORS CHANGES NEWS README.md RELEASE-NOTES TODO )
-
-MULTILIB_WRAPPED_HEADERS=(
-	/usr/include/ares_build.h
-)
-
-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
-	export ax_cv_user_namespace=no
-	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-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=(
-		# Most live tests have Live in the name
-		*Live*
-		# These don't but are still in ares-test-live.cc => live
-		*GetTCPSock*
-		*TimeoutValue*
-		*GetSock*
-		*GetSock_virtualized*
-	)
-
-	# The format for disabling test1, test2, and test3 looks like:
-	# -test1:test2:test3
-	edo ./arestest --gtest_filter=-$(echo $(IFS=:; echo "${network_tests[*]}"))
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	find "${ED}" -name "*.la" -delete || die
-}

diff --git a/net-dns/c-ares/c-ares-1.21.0.ebuild b/net-dns/c-ares/c-ares-1.21.0.ebuild
deleted file mode 100644
index 06044911cd79..000000000000
--- a/net-dns/c-ares/c-ares-1.21.0.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc
-inherit edo multilib-minimal verify-sig
-
-DESCRIPTION="C library that resolves names asynchronously"
-HOMEPAGE="https://c-ares.org/"
-SRC_URI="
-	https://c-ares.org/download/${P}.tar.gz
-	verify-sig? ( https://c-ares.org/download/${P}.tar.gz.asc )
-"
-
-# 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="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-danielstenberg )"
-
-DOCS=( AUTHORS CHANGES NEWS README.md RELEASE-NOTES TODO )
-
-MULTILIB_WRAPPED_HEADERS=(
-	/usr/include/ares_build.h
-)
-
-QA_CONFIG_IMPL_DECL_SKIP=(
-	# Checking for obsolete headers
-	malloc
-	calloc
-	free
-
-	# Non-existent on Linux
-	closesocket
-	CloseSocket
-	ioctlsocket
-	bitncmp
-)
-
-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
-	export ax_cv_user_namespace=no
-	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-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=(
-		# Most live tests have Live in the name
-		*Live*
-		# These don't but are still in ares-test-live.cc => live
-		*GetTCPSock*
-		*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[*]}"))
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	find "${ED}" -name "*.la" -delete || die
-}

diff --git a/net-dns/c-ares/c-ares-1.24.0.ebuild b/net-dns/c-ares/c-ares-1.24.0.ebuild
deleted file mode 100644
index a212ebd74cef..000000000000
--- a/net-dns/c-ares/c-ares-1.24.0.ebuild
+++ /dev/null
@@ -1,115 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc
-inherit edo multilib-minimal verify-sig
-
-DESCRIPTION="C library that resolves names asynchronously"
-HOMEPAGE="https://c-ares.org/"
-SRC_URI="
-	https://c-ares.org/download/${P}.tar.gz
-	verify-sig? ( https://c-ares.org/download/${P}.tar.gz.asc )
-"
-
-# 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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	test? ( dev-cpp/gtest )
-	verify-sig? ( sec-keys/openpgp-keys-danielstenberg )
-"
-
-DOCS=( AUTHORS CHANGES NEWS README.md RELEASE-NOTES TODO )
-
-MULTILIB_WRAPPED_HEADERS=(
-	/usr/include/ares_build.h
-)
-
-QA_CONFIG_IMPL_DECL_SKIP=(
-	# Checking for obsolete headers
-	malloc
-	calloc
-	free
-
-	# Non-existent on Linux
-	closesocket
-	CloseSocket
-	ioctlsocket
-	bitncmp
-	ConvertInterfaceIndexToLuid
-	ConvertInterfaceLuidToNameA
-)
-
-PATCHES=(
-	"${FILESDIR}"/${P}-tests-symbol-hiding.patch
-	"${FILESDIR}"/${P}-getrandom.patch
-	"${FILESDIR}"/${P}-ares__iface_ips_enumerate-stub.patch
-)
-
-multilib_src_configure() {
-	# These configure tests take a long time to run. The args one runs in O(n^4).
-	export ac_cv_func_getnameinfo='yes'
-	export ac_cv_func_recvfrom='yes'
-	export ac_cv_func_recv='yes'
-	export ac_cv_func_send='yes'
-	export curl_cv_func_getnameinfo_args='const struct sockaddr *,socklen_t,size_t,int'
-	export curl_cv_func_recv_args='int,void *,size_t,int,int'
-	export curl_cv_func_recvfrom_args='int,void *,size_t,int,struct sockaddr *,socklen_t *,int'
-	export curl_cv_func_send_args='int,const void *,size_t,int,int'
-	export curl_cv_getnameinfo='yes'
-	export curl_cv_recv='yes'
-	export curl_cv_recvfrom='yes'
-	export curl_cv_send='yes'
-
-	local myeconfargs=(
-		--cache-file="${BUILD_DIR}"/config.cache
-
-		--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
-	export ax_cv_user_namespace=no
-	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-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=(
-		# Most live tests have Live in the name
-		*Live*
-		# These don't but are still in ares-test-live.cc => live
-		*GetTCPSock*
-		*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[*]}"))
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	find "${ED}" -name "*.la" -delete || die
-}

diff --git a/net-dns/c-ares/c-ares-1.25.0.ebuild b/net-dns/c-ares/c-ares-1.25.0.ebuild
deleted file mode 100644
index 905fa532a8cf..000000000000
--- a/net-dns/c-ares/c-ares-1.25.0.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc
-inherit edo multilib-minimal verify-sig
-
-DESCRIPTION="C library that resolves names asynchronously"
-HOMEPAGE="https://c-ares.org/"
-SRC_URI="
-	https://c-ares.org/download/${P}.tar.gz
-	verify-sig? ( https://c-ares.org/download/${P}.tar.gz.asc )
-"
-
-# 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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	test? ( dev-cpp/gtest )
-	verify-sig? ( sec-keys/openpgp-keys-danielstenberg )
-"
-
-DOCS=( AUTHORS CHANGES NEWS README.md RELEASE-NOTES 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-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
-	export ax_cv_user_namespace=no
-	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-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=(
-		# Most live tests have Live in the name
-		*Live*
-		# These don't but are still in ares-test-live.cc => live
-		*GetTCPSock*
-		*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[*]}"))
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	find "${ED}" -name "*.la" -delete || die
-}

diff --git a/net-dns/c-ares/files/c-ares-1.24.0-ares__iface_ips_enumerate-stub.patch b/net-dns/c-ares/files/c-ares-1.24.0-ares__iface_ips_enumerate-stub.patch
deleted file mode 100644
index 12252cb1741b..000000000000
--- a/net-dns/c-ares/files/c-ares-1.24.0-ares__iface_ips_enumerate-stub.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-https://github.com/c-ares/c-ares/commit/eebfe0c15e1cc231500dfd79c730788790ec5251
-
-From eebfe0c15e1cc231500dfd79c730788790ec5251 Mon Sep 17 00:00:00 2001
-From: Brad House <brad@brad-house.com>
-Date: Sun, 17 Dec 2023 19:03:33 -0500
-Subject: [PATCH] Fix bad stub for ares__iface_ips_enumerate()
-
-If the ability to enumerate interface ip addresses does not exist
-on a system, the stub function contained the wrong prototype.
-
-Fixes Bug: #668
-Fix By: Brad House (@bradh352)
----
- src/lib/ares__iface_ips.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/src/lib/ares__iface_ips.c b/src/lib/ares__iface_ips.c
-index e10a0d80c..7cd12a605 100644
---- a/src/lib/ares__iface_ips.c
-+++ b/src/lib/ares__iface_ips.c
-@@ -510,11 +510,10 @@ static ares_status_t ares__iface_ips_enumerate(ares__iface_ips_t *ips,
- #else
- 
- static ares_status_t ares__iface_ips_enumerate(ares__iface_ips_t     *ips,
--                                               ares__iface_ip_flags_t flags,
-                                                const char            *name)
- {
-   (void)ips;
--  (void)flags;
-+  (void)name;
-   return ARES_ENOTIMP;
- }
- 
-

diff --git a/net-dns/c-ares/files/c-ares-1.24.0-getrandom.patch b/net-dns/c-ares/files/c-ares-1.24.0-getrandom.patch
deleted file mode 100644
index 090690213e22..000000000000
--- a/net-dns/c-ares/files/c-ares-1.24.0-getrandom.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-https://github.com/c-ares/c-ares/commit/d8edb76bece36267c4c55355ae9c7009e131a0e0
-
-From d8edb76bece36267c4c55355ae9c7009e131a0e0 Mon Sep 17 00:00:00 2001
-From: Brad House <brad@brad-house.com>
-Date: Sun, 17 Dec 2023 11:08:21 -0500
-Subject: [PATCH] getrandom() may require sys/random.h on some systems
-
-There is a reported build issue where getrandom() is detected
-but compile fails due to a missing prototype. This commit attempts
-to resolve that issue.
-
-Fixes Bug: #665
-Fix By: Brad House (@bradh352)
----
- CMakeLists.txt              | 2 ++
- configure.ac                | 1 +
- src/lib/ares_config.h.cmake | 3 +++
- src/lib/ares_rand.c         | 3 +++
- 4 files changed, 9 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a8d3eed06..29f5d7ed3 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -225,6 +225,7 @@ CHECK_INCLUDE_FILES (sys/select.h          HAVE_SYS_SELECT_H)
- CHECK_INCLUDE_FILES (sys/stat.h            HAVE_SYS_STAT_H)
- CHECK_INCLUDE_FILES (sys/time.h            HAVE_SYS_TIME_H)
- CHECK_INCLUDE_FILES (sys/uio.h             HAVE_SYS_UIO_H)
-+CHECK_INCLUDE_FILES (sys/random.h          HAVE_SYS_RANDOM_H)
- CHECK_INCLUDE_FILES (ifaddrs.h             HAVE_IFADDRS_H)
- CHECK_INCLUDE_FILES (time.h                HAVE_TIME_H)
- CHECK_INCLUDE_FILES (dlfcn.h               HAVE_DLFCN_H)
-@@ -323,6 +324,7 @@ CARES_EXTRAINCLUDE_IFSET (HAVE_SYS_SOCKIO_H	sys/sockio.h)
- CARES_EXTRAINCLUDE_IFSET (HAVE_SYS_TIME_H     sys/time.h)
- CARES_EXTRAINCLUDE_IFSET (HAVE_SYS_STAT_H     sys/stat.h)
- CARES_EXTRAINCLUDE_IFSET (HAVE_SYS_UIO_H      sys/uio.h)
-+CARES_EXTRAINCLUDE_IFSET (HAVE_SYS_RANDOM_H   sys/random.h)
- CARES_EXTRAINCLUDE_IFSET (HAVE_TIME_H         time.h)
- CARES_EXTRAINCLUDE_IFSET (HAVE_FCNTL_H        fcntl.h)
- CARES_EXTRAINCLUDE_IFSET (HAVE_UNISTD_H       unistd.h)
-diff --git a/configure.ac b/configure.ac
-index 7a6b14092..e9c2534cd 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -574,6 +574,7 @@ AC_CHECK_HEADERS(
-        sys/ioctl.h \
-        sys/param.h \
-        sys/uio.h \
-+       sys/random.h \
-        assert.h \
-        iphlpapi.h \
-        netioapi.h \
-diff --git a/src/lib/ares_config.h.cmake b/src/lib/ares_config.h.cmake
-index c2974dced..3fb85d54f 100644
---- a/src/lib/ares_config.h.cmake
-+++ b/src/lib/ares_config.h.cmake
-@@ -320,6 +320,9 @@
- /* Define to 1 if you have the <sys/param.h> header file. */
- #cmakedefine HAVE_SYS_PARAM_H
- 
-+/* Define to 1 if you have the <sys/random.h> header file. */
-+#cmakedefine HAVE_SYS_RANDOM_H
-+
- /* Define to 1 if you have the <sys/select.h> header file. */
- #cmakedefine HAVE_SYS_SELECT_H
- 
-diff --git a/src/lib/ares_rand.c b/src/lib/ares_rand.c
-index e6e35ef61..867ca3340 100644
---- a/src/lib/ares_rand.c
-+++ b/src/lib/ares_rand.c
-@@ -28,6 +28,9 @@
- #include "ares.h"
- #include "ares_private.h"
- #include <stdlib.h>
-+#ifdef HAVE_SYS_RANDOM_H
-+#  include <sys/random.h>
-+#endif
- 
- 
- typedef enum {

diff --git a/net-dns/c-ares/files/c-ares-1.24.0-tests-symbol-hiding.patch b/net-dns/c-ares/files/c-ares-1.24.0-tests-symbol-hiding.patch
deleted file mode 100644
index 901966330d1c..000000000000
--- a/net-dns/c-ares/files/c-ares-1.24.0-tests-symbol-hiding.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-https://github.com/c-ares/c-ares/commit/7dd384a99cc385e408e64c3e0af4e0e2136ed034
-
-From 7dd384a99cc385e408e64c3e0af4e0e2136ed034 Mon Sep 17 00:00:00 2001
-From: Brad House <brad@brad-house.com>
-Date: Sun, 17 Dec 2023 08:16:24 -0500
-Subject: [PATCH] fix test building with symbol hiding
-
-New test cases depend on internal symbols for calculating timeouts.
-Disable those test features if symbol hiding is enabled.
-
-Fixes Bug: #664
-Fix By: Brad House (@bradh352)
----
- test/ares-test-mock-ai.cc |  2 ++
- test/ares-test-mock.cc    |  4 ++--
- test/ares-test.cc         | 12 ++++++++++++
- 3 files changed, 16 insertions(+), 2 deletions(-)
-
-diff --git a/test/ares-test-mock-ai.cc b/test/ares-test-mock-ai.cc
-index c55676f6c..57b9d5ee2 100644
---- a/test/ares-test-mock-ai.cc
-+++ b/test/ares-test-mock-ai.cc
-@@ -442,6 +442,7 @@ TEST_P(MockChannelTestAI, FamilyV6) {
-   EXPECT_THAT(result.ai_, IncludesV6Address("2121:0000:0000:0000:0000:0000:0000:0303"));
- }
- 
-+#ifndef CARES_SYMBOL_HIDING
- // Test case for Issue #662
- TEST_P(MockChannelTestAI, PartialQueryCancel) {
-   std::vector<byte> nothing;
-@@ -469,6 +470,7 @@ TEST_P(MockChannelTestAI, PartialQueryCancel) {
-   EXPECT_TRUE(result.done_);
-   EXPECT_EQ(ARES_ECANCELLED, result.status_);
- }
-+#endif
- 
- TEST_P(MockChannelTestAI, FamilyV4) {
-   DNSPacket rsp4;
-diff --git a/test/ares-test-mock.cc b/test/ares-test-mock.cc
-index 6afa8f989..849eb6980 100644
---- a/test/ares-test-mock.cc
-+++ b/test/ares-test-mock.cc
-@@ -826,7 +826,7 @@ TEST_P(MockChannelTest, V4WorksV6Timeout) {
-   EXPECT_EQ("{'www.google.com' aliases=[] addrs=[1.2.3.4]}", ss.str());
- }
- 
--
-+#ifndef CARES_SYMBOL_HIDING
- // Test case for Issue #662
- TEST_P(MockChannelTest, PartialQueryCancel) {
-   std::vector<byte> nothing;
-@@ -849,7 +849,7 @@ TEST_P(MockChannelTest, PartialQueryCancel) {
-   EXPECT_TRUE(result.done_);
-   EXPECT_EQ(ARES_ECANCELLED, result.status_);
- }
--
-+#endif
- 
- TEST_P(MockChannelTest, UnspecifiedFamilyV6) {
-   DNSPacket rsp6;
-diff --git a/test/ares-test.cc b/test/ares-test.cc
-index faad01486..3a55b73d3 100644
---- a/test/ares-test.cc
-+++ b/test/ares-test.cc
-@@ -105,6 +105,8 @@ void ProcessWork(ares_channel_t *channel,
-                  unsigned int cancel_ms) {
-   int nfds, count;
-   fd_set readers, writers;
-+
-+#ifndef CARES_SYMBOL_HIDING
-   struct timeval tv_begin  = ares__tvnow();
-   struct timeval tv_cancel = tv_begin;
- 
-@@ -113,10 +115,18 @@ void ProcessWork(ares_channel_t *channel,
-     tv_cancel.tv_sec  += (cancel_ms / 1000);
-     tv_cancel.tv_usec += ((cancel_ms % 1000) * 1000);
-   }
-+#else
-+  if (cancel_ms) {
-+    std::cerr << "library built with symbol hiding, can't test with cancel support" << std::endl;
-+    return;
-+  }
-+#endif
- 
-   while (true) {
-+#ifndef CARES_SYMBOL_HIDING
-     struct timeval  tv_now = ares__tvnow();
-     struct timeval  tv_remaining;
-+#endif
-     struct timeval  tv;
-     struct timeval *tv_select;
- 
-@@ -142,6 +152,7 @@ void ProcessWork(ares_channel_t *channel,
-     if (tv_select == NULL)
-       return;
- 
-+#ifndef CARES_SYMBOL_HIDING
-     if (cancel_ms) {
-       unsigned int remaining_ms;
-       ares__timeval_remaining(&tv_remaining,
-@@ -157,6 +168,7 @@ void ProcessWork(ares_channel_t *channel,
-         tv_select = ares_timeout(channel, &tv_remaining, &tv);
-       }
-     }
-+#endif
- 
-     count = select(nfds, &readers, &writers, nullptr, tv_select);
-     if (count < 0) {
-


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: net-dns/c-ares/, net-dns/c-ares/files/
@ 2024-06-24  2:54 Sam James
  0 siblings, 0 replies; 5+ messages in thread
From: Sam James @ 2024-06-24  2:54 UTC (permalink / raw
  To: gentoo-commits

commit:     59e60662c86175e12b431c440d353351607a5e76
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 24 02:36:25 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Jun 24 02:53:36 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59e60662

net-dns/c-ares: drop 1.25.0-r1, 1.26.0, 1.27.0

Bug: https://bugs.gentoo.org/925661
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-dns/c-ares/Manifest                            |   6 -
 net-dns/c-ares/c-ares-1.25.0-r1.ebuild             |  96 ------------
 net-dns/c-ares/c-ares-1.26.0.ebuild                |  92 ------------
 net-dns/c-ares/c-ares-1.27.0.ebuild                |  92 ------------
 .../files/c-ares-1.25.0-fix-sanity-check-rr.patch  | 166 ---------------------
 5 files changed, 452 deletions(-)

diff --git a/net-dns/c-ares/Manifest b/net-dns/c-ares/Manifest
index c17068e85d2c..0cef135b901e 100644
--- a/net-dns/c-ares/Manifest
+++ b/net-dns/c-ares/Manifest
@@ -1,9 +1,3 @@
-DIST c-ares-1.25.0.tar.gz 1264129 BLAKE2B a4f4b493e1331ade27504238c3e520e1ffaa525baf99442c88de3aeda1eb06a12ec804a5f0f699fb8acd469ccd2b3d08f5c32b4d01d50cfdc31097665087fce9 SHA512 f73ffc45c17f1e952ea5fae8a1d9e1508427f21c821ff470ff0b728cc4a1e21d1274f95d9192c22f704bc7e0f58a633608cfdc1704dfe8950902fdfc3dfa2e1c
-DIST c-ares-1.25.0.tar.gz.asc 488 BLAKE2B 45b07fc1ef14452b8a4fda63f134e389b66c120ccd8de3d48ccc5659c481db1796339a1968db406cf9b3da1a9c5aa81ccf538bc0546bb6c4babbe7de9c14f576 SHA512 9cf2dcd80807b54cd7fa6871283863384a4b6b10e0ef9c287bb4969a9169b7f12180a15c5fa756770c5ba01558ef48615aaaaefa546d19b3496e3cbe0454346b
-DIST c-ares-1.26.0.tar.gz 1298394 BLAKE2B 9bcbb321b31518fdd3481447e1bba733dbf0eabd1876aa0fec6737888fd176b837c64e6b22ae5754a905f0fd1591d4fd516db558fafae92cc2684ad7e0c29f63 SHA512 81657b8b9840a565b04ecf87ef8f0fc3192a9594808e47aed5e5bbebf2b5f0066b0cd5fae70f0fe70b68d428b4cc75fba22d2ae7683c6d0f87979c414c072af1
-DIST c-ares-1.26.0.tar.gz.asc 488 BLAKE2B 89c420ed235dce86c3d18ce62b58f50b78abf919c178e9a786fce5ee11da2b7a1314f8eb76bef20df0e43d18f636508540d9a9d2dfcd84df0c62691497f3a9a0 SHA512 84cd9918c22346a975400f17bf64e5093aa7b2d8f3377799cde5f6ab508e8f5ab6a004497747b702b7249b2b1369cdd22149519da01a405cf928806007e7a599
-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
 DIST c-ares-1.28.1.tar.gz 1312102 BLAKE2B 2d0f12aeb4b947f76fe6c45e2bb0a7401c5d3ae5c84a94f2387f05b639587275e12cb0a2798caa381726e37757973b28c543249f9528b60746b8bf543a70be77 SHA512 9a24f40002b661d97c9b49a617d2e6b12bad1c9f22e872611252d051ec650f886c010207939fac6992610b3cd5a87588f802d7dfa1310ced7c6621ea2f99dd90
 DIST c-ares-1.28.1.tar.gz.asc 488 BLAKE2B 90f3aedc3b56f31519a9b2746e528bb952364748b6053ecebaa3edf4269aab6b3badad459a14e8afe623340b294fd072b13c60af540eb59d7f4d82eb5204be83 SHA512 62659e3c41ea7158c7fdaab3246fee6a6a1502dec12d322efd353e5a0fb1b0aa4c1caf7ace37e1d3ea0b2937522814fdf66af2d19a501e9b9995b86e2369410d
 DIST c-ares-1.29.0.tar.gz 1329299 BLAKE2B 7dd6a0dc85d3383087726cd48e75b481f4ef7551a41590de21b7f30f9e588d7bef87c852203b91f281b0fbf44dca75f0ae538f6a3c17fe8ff29c802d05d36189 SHA512 0287fd59aa6d831e0d1705deb6b4b1ab3b97a28c5c42feeeaa1eeab55ffb429998c7f0735f15cf5eaeb9177cb77800e6b0b01107bd28fb082cf737f8c12766d0

diff --git a/net-dns/c-ares/c-ares-1.25.0-r1.ebuild b/net-dns/c-ares/c-ares-1.25.0-r1.ebuild
deleted file mode 100644
index 750a2585f9d1..000000000000
--- a/net-dns/c-ares/c-ares-1.25.0-r1.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc
-inherit edo multilib-minimal verify-sig
-
-DESCRIPTION="C library that resolves names asynchronously"
-HOMEPAGE="https://c-ares.org/"
-SRC_URI="
-	https://github.com/c-ares/c-ares/releases/download/cares-${PV//./_}/${P}.tar.gz
-	verify-sig? ( https://github.com/c-ares/c-ares/releases/download/cares-${PV//./_}/${P}.tar.gz.asc )
-"
-
-# 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="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	test? ( dev-cpp/gtest )
-	verify-sig? ( sec-keys/openpgp-keys-danielstenberg )
-"
-
-DOCS=( AUTHORS CHANGES NEWS README.md RELEASE-NOTES 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
-)
-
-PATCHES=(
-	"${FILESDIR}"/${P}-fix-sanity-check-rr.patch
-)
-
-multilib_src_configure() {
-	local myeconfargs=(
-		--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
-	export ax_cv_user_namespace=no
-	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-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=(
-		# Most live tests have Live in the name
-		*Live*
-		# These don't but are still in ares-test-live.cc => live
-		*GetTCPSock*
-		*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[*]}"))
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	find "${ED}" -name "*.la" -delete || die
-}

diff --git a/net-dns/c-ares/c-ares-1.26.0.ebuild b/net-dns/c-ares/c-ares-1.26.0.ebuild
deleted file mode 100644
index fcaf723b0bb2..000000000000
--- a/net-dns/c-ares/c-ares-1.26.0.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc
-inherit edo multilib-minimal verify-sig
-
-DESCRIPTION="C library that resolves names asynchronously"
-HOMEPAGE="https://c-ares.org/"
-SRC_URI="
-	https://github.com/c-ares/c-ares/releases/download/cares-${PV//./_}/${P}.tar.gz
-	verify-sig? ( https://github.com/c-ares/c-ares/releases/download/cares-${PV//./_}/${P}.tar.gz.asc )
-"
-
-# 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="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	test? ( dev-cpp/gtest )
-	verify-sig? ( sec-keys/openpgp-keys-danielstenberg )
-"
-
-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-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
-	export ax_cv_user_namespace=no
-	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-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=(
-		# Most live tests have Live in the name
-		*Live*
-		# These don't but are still in ares-test-live.cc => live
-		*GetTCPSock*
-		*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[*]}"))
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	find "${ED}" -name "*.la" -delete || die
-}

diff --git a/net-dns/c-ares/c-ares-1.27.0.ebuild b/net-dns/c-ares/c-ares-1.27.0.ebuild
deleted file mode 100644
index f57d48f92bcd..000000000000
--- a/net-dns/c-ares/c-ares-1.27.0.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/danielstenberg.asc
-inherit edo multilib-minimal verify-sig
-
-DESCRIPTION="C library that resolves names asynchronously"
-HOMEPAGE="https://c-ares.org/"
-SRC_URI="
-	https://github.com/c-ares/c-ares/releases/download/cares-${PV//./_}/${P}.tar.gz
-	verify-sig? ( https://github.com/c-ares/c-ares/releases/download/cares-${PV//./_}/${P}.tar.gz.asc )
-"
-
-# 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="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
-	test? ( dev-cpp/gtest )
-	verify-sig? ( sec-keys/openpgp-keys-danielstenberg )
-"
-
-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-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
-	export ax_cv_user_namespace=no
-	ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-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=(
-		# Most live tests have Live in the name
-		*Live*
-		# These don't but are still in ares-test-live.cc => live
-		*GetTCPSock*
-		*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[*]}"))
-}
-
-multilib_src_install_all() {
-	einstalldocs
-
-	find "${ED}" -name "*.la" -delete || die
-}

diff --git a/net-dns/c-ares/files/c-ares-1.25.0-fix-sanity-check-rr.patch b/net-dns/c-ares/files/c-ares-1.25.0-fix-sanity-check-rr.patch
deleted file mode 100644
index 9b494ebfe8fe..000000000000
--- a/net-dns/c-ares/files/c-ares-1.25.0-fix-sanity-check-rr.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-https://github.com/c-ares/c-ares/issues/683
-https://github.com/c-ares/c-ares/commit/626dcb155b4daf3360e4251c64ce052e7e520b34
-
-From 626dcb155b4daf3360e4251c64ce052e7e520b34 Mon Sep 17 00:00:00 2001
-From: Brad House <brad@brad-house.com>
-Date: Fri, 12 Jan 2024 09:55:42 -0500
-Subject: [PATCH] Do not sanity check RR Name vs Question (#685)
-
-It appears as though we should never sanity check the RR name vs the question name as some DNS servers may return results for alias records.
-
-Fixes Bug: #683
-Fix By: Brad House (@bradh352)
---- a/src/lib/ares__parse_into_addrinfo.c
-+++ b/src/lib/ares__parse_into_addrinfo.c
-@@ -81,7 +81,6 @@ ares_status_t ares__parse_into_addrinfo(const unsigned char *abuf, size_t alen,
-   }
- 
-   for (i = 0; i < ancount; i++) {
--    const char          *rname = NULL;
-     ares_dns_rec_type_t  rtype;
-     const ares_dns_rr_t *rr =
-       ares_dns_record_rr_get(dnsrec, ARES_SECTION_ANSWER, i);
-@@ -91,13 +90,18 @@ ares_status_t ares__parse_into_addrinfo(const unsigned char *abuf, size_t alen,
-     }
- 
-     rtype = ares_dns_rr_get_type(rr);
--    rname = ares_dns_rr_get_name(rr);
- 
--    /* Old code did this hostname sanity check */
--    if ((rtype == ARES_REC_TYPE_A || rtype == ARES_REC_TYPE_AAAA) &&
--        strcasecmp(rname, hostname) != 0) {
--      continue;
--    }
-+    /* Issue #683
-+     * Old code did this hostname sanity check, however it appears this is
-+     * flawed logic.  Other resolvers don't do this sanity check.  Leaving
-+     * this code commented out for future reference.
-+     *
-+     * rname = ares_dns_rr_get_name(rr);
-+     * if ((rtype == ARES_REC_TYPE_A || rtype == ARES_REC_TYPE_AAAA) &&
-+     *     strcasecmp(rname, hostname) != 0) {
-+     *   continue;
-+     * }
-+     */
- 
-     if (rtype == ARES_REC_TYPE_CNAME) {
-       struct ares_addrinfo_cname *cname;
---- a/src/lib/ares_parse_ptr_reply.c
-+++ b/src/lib/ares_parse_ptr_reply.c
-@@ -113,7 +113,6 @@ int ares_parse_ptr_reply(const unsigned char *abuf, int alen_int,
- 
-   /* Cycle through answers */
-   for (i = 0; i < ancount; i++) {
--    const char          *rname = NULL;
-     const ares_dns_rr_t *rr =
-       ares_dns_record_rr_get(dnsrec, ARES_SECTION_ANSWER, i);
- 
-@@ -141,17 +140,20 @@ int ares_parse_ptr_reply(const unsigned char *abuf, int alen_int,
-       continue;
-     }
- 
--    /* Old code compared the name in the rr to the ptrname, so we'll do that
--     * check here, but I'm not sure its necessary */
--    rname = ares_dns_rr_get_name(rr);
--    if (rname == NULL) {
--      /* Shouldn't be possible */
--      status = ARES_EBADRESP;
--      goto done;
--    }
--    if (strcasecmp(ptrname, rname) != 0) {
--      continue;
--    }
-+    /* Issue #683
-+     * Old code compared the name in the rr to the ptrname, but I think this
-+     * is wrong since it was proven wrong for A & AAAA records.  Leaving
-+     * this code commented out for future reference
-+     *
-+     * rname = ares_dns_rr_get_name(rr);
-+     * if (rname == NULL) {
-+     *   status = ARES_EBADRESP;
-+     *   goto done;
-+     * }
-+     * if (strcasecmp(ptrname, rname) != 0) {
-+     *   continue;
-+     * }
-+     */
- 
-     /* Save most recent PTR record as the hostname */
-     hostname = ares_dns_rr_get_str(rr, ARES_RR_PTR_DNAME);
---- a/test/ares-test-parse-a.cc
-+++ b/test/ares-test-parse-a.cc
-@@ -312,13 +312,19 @@ TEST_F(LibraryTest, ParseAReplyErrors) {
-   EXPECT_EQ(nullptr, host);
-   pkt.add_question(new DNSQuestion("example.com", T_A));
- 
--  // Question != answer
-+  // Question != answer, this is ok as of Issue #683
-   pkt.questions_.clear();
-   pkt.add_question(new DNSQuestion("Axample.com", T_A));
-   data = pkt.data();
--  EXPECT_EQ(ARES_ENODATA, ares_parse_a_reply(data.data(), (int)data.size(),
-+  EXPECT_EQ(ARES_SUCCESS, ares_parse_a_reply(data.data(), (int)data.size(),
-                                               &host, info, &count));
--  EXPECT_EQ(nullptr, host);
-+  ASSERT_NE(nullptr, host);
-+  std::stringstream ss;
-+  ss << HostEnt(host);
-+  EXPECT_EQ("{'Axample.com' aliases=[] addrs=[2.3.4.5]}", ss.str());
-+  ares_free_hostent(host);
-+  host = nullptr;
-+
-   pkt.questions_.clear();
-   pkt.add_question(new DNSQuestion("example.com", T_A));
- 
---- a/test/ares-test-parse-aaaa.cc
-+++ b/test/ares-test-parse-aaaa.cc
-@@ -139,13 +139,19 @@ TEST_F(LibraryTest, ParseAaaaReplyErrors) {
-   EXPECT_EQ(nullptr, host);
-   pkt.add_question(new DNSQuestion("example.com", T_AAAA));
- 
--  // Question != answer
-+  // Question != answer, this is ok as of Issue #683
-   pkt.questions_.clear();
-   pkt.add_question(new DNSQuestion("Axample.com", T_AAAA));
-   data = pkt.data();
--  EXPECT_EQ(ARES_ENODATA, ares_parse_aaaa_reply(data.data(), (int)data.size(),
-+  EXPECT_EQ(ARES_SUCCESS, ares_parse_aaaa_reply(data.data(), (int)data.size(),
-                                                 &host, info, &count));
--  EXPECT_EQ(nullptr, host);
-+  ASSERT_NE(nullptr, host);
-+  std::stringstream ss;
-+  ss << HostEnt(host);
-+  EXPECT_EQ("{'Axample.com' aliases=[] addrs=[0101:0101:0202:0202:0303:0303:0404:0404]}", ss.str());
-+  ares_free_hostent(host);
-+
-+  host = nullptr;
-   pkt.questions_.clear();
-   pkt.add_question(new DNSQuestion("example.com", T_AAAA));
- 
---- a/test/ares-test-parse-ptr.cc
-+++ b/test/ares-test-parse-ptr.cc
-@@ -163,13 +163,20 @@ TEST_F(LibraryTest, ParsePtrReplyErrors) {
-                                                 addrv4, sizeof(addrv4), AF_INET, &host));
-   pkt.add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", T_PTR));
- 
--  // Question != answer
-+  // Question != answer, ok after #683
-+  host = nullptr;
-   pkt.questions_.clear();
-   pkt.add_question(new DNSQuestion("99.48.32.16.in-addr.arpa", T_PTR));
-   data = pkt.data();
--  EXPECT_EQ(ARES_ENODATA, ares_parse_ptr_reply(data.data(), (int)data.size(),
-+  EXPECT_EQ(ARES_SUCCESS, ares_parse_ptr_reply(data.data(), (int)data.size(),
-                                                addrv4, sizeof(addrv4), AF_INET, &host));
--  EXPECT_EQ(nullptr, host);
-+  ASSERT_NE(nullptr, host);
-+  std::stringstream ss;
-+  ss << HostEnt(host);
-+  EXPECT_EQ("{'other.com' aliases=[other.com] addrs=[16.32.48.64]}", ss.str());
-+  ares_free_hostent(host);
-+
-+  host = nullptr;
-   pkt.questions_.clear();
-   pkt.add_question(new DNSQuestion("64.48.32.16.in-addr.arpa", T_PTR));
- 
-


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-06-24  2:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-25  5:16 [gentoo-commits] repo/gentoo:master commit in: net-dns/c-ares/, net-dns/c-ares/files/ Sam James
  -- strict thread matches above, loose matches on Subject: below --
2024-06-24  2:54 Sam James
2024-02-21  7:55 Sam James
2023-12-20 10:04 Sam James
2016-10-14  7:29 Anthony G. Basile

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox