diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-12-20 13:50:54 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-12-20 13:50:54 +0000 |
commit | aec6329fe6b56821fd643ccaacb4d5d61f4eaad6 (patch) | |
tree | 8c6e7db4b9a4a624121681a167e21bda8e3cfeec /net-dns/c-ares | |
parent | 0c8ede87a5d0aa1ec25364a435296ec7aa8b9634 (diff) |
gentoo auto-resync : 20:12:2023 - 13:50:54
Diffstat (limited to 'net-dns/c-ares')
-rw-r--r-- | net-dns/c-ares/Manifest | 6 | ||||
-rw-r--r-- | net-dns/c-ares/c-ares-1.24.0.ebuild | 115 | ||||
-rw-r--r-- | net-dns/c-ares/files/c-ares-1.24.0-ares__iface_ips_enumerate-stub.patch | 34 | ||||
-rw-r--r-- | net-dns/c-ares/files/c-ares-1.24.0-getrandom.patch | 80 | ||||
-rw-r--r-- | net-dns/c-ares/files/c-ares-1.24.0-tests-symbol-hiding.patch | 109 |
5 files changed, 344 insertions, 0 deletions
diff --git a/net-dns/c-ares/Manifest b/net-dns/c-ares/Manifest index bcdafe35e54c..71eff7008993 100644 --- a/net-dns/c-ares/Manifest +++ b/net-dns/c-ares/Manifest @@ -1,3 +1,6 @@ +AUX c-ares-1.24.0-ares__iface_ips_enumerate-stub.patch 1133 BLAKE2B c9b4aedb0a9c826dbf79647f2f135668b5667d4801eada9f293e9250109cba2d6e15b2cdc48f9a85041f4cc29e827255f7cd338d395cc4bd311d8c1a2df4d8c7 SHA512 70bf56876051feb49324c64cad80a595cf5f69d3085e2019a83e9282470da7f930f9d9bf04f75efc31ec6e0554e64ed20276084960cab0208839b9a8a48d71fc +AUX c-ares-1.24.0-getrandom.patch 2879 BLAKE2B 6683dcca5ebc5c8eaf7da37c08e883fd510d4170a14911d77e6f6fa598e6a79bfcdbe2a14324b05e1ed90bd42a6c46f255eaa622f76cd264346c0fe99222b8fc SHA512 3f998443c2953d0fd5fcc9aceffd6ccfa48c3deae1619901dd696f908cda322fcdfde6c934c8ee36f56df0d708c7255979fa4c9990071c5885048006e183c8b2 +AUX c-ares-1.24.0-tests-symbol-hiding.patch 3362 BLAKE2B 029cc9b2422658cd265fc505a821e6371f94b42587022d8680275d8692f11e9444aef07d3db44f001876388d9bfe6f92de251f3177e03d0c0c51039176470268 SHA512 120d3abf30707fd943a56009bcd851d10ea2baa708ab0d1aaf45a782f13e0775e79801c971013968d8f46b37d78f3cad100da48de5f5786a74a7b88970b5fd3c 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 @@ -6,8 +9,11 @@ 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 EBUILD c-ares-1.19.1.ebuild 1953 BLAKE2B 1ded6481a7ebecae276cf0be56591051b72ba20469590e1231b8c873cc9d3869fda7a36cc79f3cadf14f4fef27e05e68dadf683fe9a23b5884c6562f7f3db8c9 SHA512 cf383c805ba7f878afa5c1e75144fca115ee60f420fb257e42badd9d31eaefcb21e2ec9eccdce72d061287e67aa3fe38cfa4ad7168064b8e95318e041e651aa7 EBUILD c-ares-1.21.0.ebuild 2320 BLAKE2B 0bf5577ca5af7eaaa7a0b1adb0acdc63b4a7c2a6be151c39742c6168ee8c44331f6918919d536967a34f527a3ee7b435979b5f4de27203b990a311d079731579 SHA512 fc5446f9b664a5fb93366877f86f029605842850a4aefc73d2c0138f7e5a4c7e61d2429e8c9be1256552805fce7220e26b3e9671dcaa1e561a465ddeceb96fdc EBUILD c-ares-1.22.1.ebuild 3004 BLAKE2B 54969e3ba5a0ae50507c72053c68e4cef46b5bcfb17a13a8da74787b7e9df95eb6991b72accc08e1cd668fb2f32a40b64531cb55599b017f8d9fe6e2410777ff SHA512 d887752df57e10a49959d18e1768cf0445771fbdc763c8867ec8dabf37e1baf0bddb1ec8676a5951ab408041fac5db34812165091d60e0c2740cec262466e9e3 EBUILD c-ares-1.23.0.ebuild 3004 BLAKE2B 54969e3ba5a0ae50507c72053c68e4cef46b5bcfb17a13a8da74787b7e9df95eb6991b72accc08e1cd668fb2f32a40b64531cb55599b017f8d9fe6e2410777ff SHA512 d887752df57e10a49959d18e1768cf0445771fbdc763c8867ec8dabf37e1baf0bddb1ec8676a5951ab408041fac5db34812165091d60e0c2740cec262466e9e3 +EBUILD c-ares-1.24.0.ebuild 3242 BLAKE2B d0e98bad28950c4835670021048a10eea25998ecb2e67fbf078d0106d6509f750f4ceb4f39b45e719e8fbb05ab6ecda792b9d8e040681b3f64fb910e53234ede SHA512 af5de4f8ee25ad76516928d45c524d053c1621aebb852adf1fed3537266a72ee51441fddcdbfc407be94a6f2cd5b84ebf5239585a21feb7deec81461aea7d4e8 MISC metadata.xml 402 BLAKE2B ab03bca92ec4073f5a877993558552136f0ae673f98619aa1f30eb94b6d8f2103b1cf77d23a9f2b3d56ee33af23d626ee230e480a3e3e0bc174df879082466bd SHA512 e02d13db5d10b1aaaae5680247a6b47610dda28a13b7754d2b97f08a760ce732957c96fb6e88ce7fd2076bfec275e72bfbb3dec802940f0159122364ab21acda 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) { + |