diff --git a/a531524a3d085fcd9a5e25d5f6cbdb953082c2b9.patch b/a531524a3d085fcd9a5e25d5f6cbdb953082c2b9.patch new file mode 100644 index 0000000..570870e --- /dev/null +++ b/a531524a3d085fcd9a5e25d5f6cbdb953082c2b9.patch @@ -0,0 +1,318 @@ +commit a531524a3d085fcd9a5e25d5f6cbdb953082c2b9 +Author: Brad House +Date: Fri Jan 3 12:55:54 2025 -0500 + + tests: Convert some live tests to Mock tests (#954) + + In Issue #953 `GetTCPSock` and `VerifySocketFunctionCallback` tests + might rely on the fact that `connect()` doesn't return an immediate + failure. If `connect()` returned `EWOULDBLOCK`/`EAGAIN` the test would + succeed, but on systems that check on the call for available routes or + listening servers on localhost the `connect()` function would return an + immediate failure. + + These functions were not actually tagged with a `Live` prefix so they + would run even callers exclude Live tests. These are testing functions + that shouldn't be limited to live scenarios so we need to move them to + the Mock frameworks and test appropriately. + + Fixes #953 + Signed-off-by: Brad House (@bradh352) + +diff --git a/test/ares-test-live.cc b/test/ares-test-live.cc +index e23dadfe..557c485e 100644 +--- a/test/ares-test-live.cc ++++ b/test/ares-test-live.cc +@@ -669,115 +669,7 @@ VIRT_NONVIRT_TEST_F(DefaultChannelTest, LiveGetNameInfoAllocFail) { + EXPECT_EQ(ARES_ENOMEM, result.status_); + } + +-VIRT_NONVIRT_TEST_F(DefaultChannelTest, GetSock) { +- ares_socket_t socks[3] = {ARES_SOCKET_BAD, ARES_SOCKET_BAD, ARES_SOCKET_BAD}; +- int bitmask = ares_getsock(channel_, socks, 3); +- EXPECT_EQ(0, bitmask); +- bitmask = ares_getsock(channel_, nullptr, 0); +- EXPECT_EQ(0, bitmask); +- +- // Ask again with a pending query. +- HostResult result; +- ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result); +- bitmask = ares_getsock(channel_, socks, 3); +- EXPECT_NE(0, bitmask); +- +- size_t sock_cnt = 0; +- for (size_t i=0; i<3; i++) { +- if (ARES_GETSOCK_READABLE(bitmask, i) || ARES_GETSOCK_WRITABLE(bitmask, i)) { +- EXPECT_NE(ARES_SOCKET_BAD, socks[i]); +- if (socks[i] != ARES_SOCKET_BAD) +- sock_cnt++; +- } +- } +- EXPECT_NE((size_t)0, sock_cnt); +- +- bitmask = ares_getsock(channel_, nullptr, 0); +- EXPECT_EQ(0, bitmask); +- +- Process(); +-} +- +-TEST_F(LibraryTest, GetTCPSock) { +- ares_channel_t *channel; +- struct ares_options opts; +- memset(&opts, 0, sizeof(opts)); +- opts.tcp_port = 53; +- opts.flags = ARES_FLAG_USEVC; +- int optmask = ARES_OPT_TCP_PORT | ARES_OPT_FLAGS; +- EXPECT_EQ(ARES_SUCCESS, ares_init_options(&channel, &opts, optmask)); +- EXPECT_NE(nullptr, channel); +- +- ares_socket_t socks[3] = {ARES_SOCKET_BAD, ARES_SOCKET_BAD, ARES_SOCKET_BAD}; +- int bitmask = ares_getsock(channel, socks, 3); +- EXPECT_EQ(0, bitmask); +- bitmask = ares_getsock(channel, nullptr, 0); +- EXPECT_EQ(0, bitmask); +- +- // Ask again with a pending query. +- HostResult result; +- ares_gethostbyname(channel, "www.google.com.", AF_INET, HostCallback, &result); +- bitmask = ares_getsock(channel, socks, 3); +- EXPECT_NE(0, bitmask); +- +- size_t sock_cnt = 0; +- for (size_t i=0; i<3; i++) { +- if (ARES_GETSOCK_READABLE(bitmask, i) || ARES_GETSOCK_WRITABLE(bitmask, i)) { +- EXPECT_NE(ARES_SOCKET_BAD, socks[i]); +- if (socks[i] != ARES_SOCKET_BAD) +- sock_cnt++; +- } +- } +- EXPECT_NE((size_t)0, sock_cnt); +- +- bitmask = ares_getsock(channel, nullptr, 0); +- EXPECT_EQ(0, bitmask); +- +- ProcessWork(channel, NoExtraFDs, nullptr); + +- ares_destroy(channel); +-} +- +-TEST_F(DefaultChannelTest, VerifySocketFunctionCallback) { +- VirtualizeIO vio(channel_); +- +- auto my_functions = VirtualizeIO::default_functions; +- size_t count = 0; +- +- my_functions.asocket = [](int af, int type, int protocol, void * p) -> ares_socket_t { +- EXPECT_NE(nullptr, p); +- (*reinterpret_cast(p))++; +- return ::socket(af, type, protocol); +- }; +- +- ares_set_socket_functions(channel_, &my_functions, &count); +- +- { +- count = 0; +- HostResult result; +- ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result); +- Process(); +- +- EXPECT_TRUE(result.done_); +- EXPECT_NE((size_t)0, count); +- } +- +- { +- count = 0; +- ares_channel_t *copy; +- EXPECT_EQ(ARES_SUCCESS, ares_dup(©, channel_)); +- +- HostResult result; +- ares_gethostbyname(copy, "www.google.com.", AF_INET, HostCallback, &result); +- +- ProcessWork(copy, NoExtraFDs, nullptr); +- +- EXPECT_TRUE(result.done_); +- ares_destroy(copy); +- EXPECT_NE((size_t)0, count); +- } +- +-} + + TEST_F(DefaultChannelTest, LiveSetServers) { + struct ares_addr_node server1; +diff --git a/test/ares-test-mock.cc b/test/ares-test-mock.cc +index 8c74c05f..ebae7140 100644 +--- a/test/ares-test-mock.cc ++++ b/test/ares-test-mock.cc +@@ -1662,6 +1662,135 @@ TEST_P(MockChannelTest, GetHostByAddrDestroy) { + EXPECT_EQ(0, result.timeouts_); + } + ++TEST_P(MockUDPChannelTest, GetSock) { ++ DNSPacket reply; ++ reply.set_response().set_aa() ++ .add_question(new DNSQuestion("www.google.com", T_A)) ++ .add_answer(new DNSARR("www.google.com", 0x0100, {0x01, 0x02, 0x03, 0x04})); ++ ON_CALL(server_, OnRequest("www.google.com", T_A)) ++ .WillByDefault(SetReply(&server_, &reply)); ++ ++ ares_socket_t socks[3] = {ARES_SOCKET_BAD, ARES_SOCKET_BAD, ARES_SOCKET_BAD}; ++ int bitmask; ++ ++ bitmask = ares_getsock(channel_, socks, 3); ++ EXPECT_EQ(0, bitmask); ++ bitmask = ares_getsock(channel_, nullptr, 0); ++ EXPECT_EQ(0, bitmask); ++ ++ // Ask again with a pending query. ++ HostResult result; ++ ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result); ++ bitmask = ares_getsock(channel_, socks, 3); ++ EXPECT_NE(0, bitmask); ++ ++ size_t sock_cnt = 0; ++ for (size_t i=0; i<3; i++) { ++ if (ARES_GETSOCK_READABLE(bitmask, i) || ARES_GETSOCK_WRITABLE(bitmask, i)) { ++ EXPECT_NE(ARES_SOCKET_BAD, socks[i]); ++ if (socks[i] != ARES_SOCKET_BAD) ++ sock_cnt++; ++ } ++ } ++ EXPECT_NE((size_t)0, sock_cnt); ++ ++ Process(); ++ ++ bitmask = ares_getsock(channel_, nullptr, 0); ++ EXPECT_EQ(0, bitmask); ++} ++ ++TEST_P(MockTCPChannelTest, GetSock) { ++ DNSPacket reply; ++ reply.set_response().set_aa() ++ .add_question(new DNSQuestion("www.google.com", T_A)) ++ .add_answer(new DNSARR("www.google.com", 0x0100, {0x01, 0x02, 0x03, 0x04})); ++ ON_CALL(server_, OnRequest("www.google.com", T_A)) ++ .WillByDefault(SetReply(&server_, &reply)); ++ ++ ares_socket_t socks[3] = {ARES_SOCKET_BAD, ARES_SOCKET_BAD, ARES_SOCKET_BAD}; ++ int bitmask; ++ ++ bitmask = ares_getsock(channel_, socks, 3); ++ EXPECT_EQ(0, bitmask); ++ bitmask = ares_getsock(channel_, nullptr, 0); ++ EXPECT_EQ(0, bitmask); ++ ++ // Ask again with a pending query. ++ HostResult result; ++ ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result); ++ bitmask = ares_getsock(channel_, socks, 3); ++ EXPECT_NE(0, bitmask); ++ ++ size_t sock_cnt = 0; ++ for (size_t i=0; i<3; i++) { ++ if (ARES_GETSOCK_READABLE(bitmask, i) || ARES_GETSOCK_WRITABLE(bitmask, i)) { ++ EXPECT_NE(ARES_SOCKET_BAD, socks[i]); ++ if (socks[i] != ARES_SOCKET_BAD) ++ sock_cnt++; ++ } ++ } ++ EXPECT_NE((size_t)0, sock_cnt); ++ ++ Process(); ++ ++ bitmask = ares_getsock(channel_, nullptr, 0); ++ EXPECT_EQ(0, bitmask); ++} ++ ++ ++TEST_P(MockChannelTest, VerifySocketFunctionCallback) { ++ ares_socket_functions sock_funcs; ++ memset(&sock_funcs, 0, sizeof(sock_funcs)); ++ ++ DNSPacket reply; ++ reply.set_response().set_aa() ++ .add_question(new DNSQuestion("www.google.com", T_A)) ++ .add_answer(new DNSARR("www.google.com", 0x0100, {0x01, 0x02, 0x03, 0x04})); ++ ON_CALL(server_, OnRequest("www.google.com", T_A)) ++ .WillByDefault(SetReply(&server_, &reply)); ++ ++ size_t count = 0; ++ ++ sock_funcs.asocket = [](int af, int type, int protocol, void * p) -> ares_socket_t { ++ EXPECT_NE(nullptr, p); ++ (*reinterpret_cast(p))++; ++ return ::socket(af, type, protocol); ++ }; ++ ++ ares_set_socket_functions(channel_, &sock_funcs, &count); ++ ++ { ++ count = 0; ++ HostResult result; ++ ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result); ++ Process(); ++ ++ EXPECT_TRUE(result.done_); ++ EXPECT_EQ(ARES_SUCCESS, result.status_); ++ EXPECT_EQ(0, result.timeouts_); ++ EXPECT_NE((size_t)0, count); ++ } ++ ++ { ++ count = 0; ++ ares_channel_t *copy; ++ EXPECT_EQ(ARES_SUCCESS, ares_dup(©, channel_)); ++ ++ HostResult result; ++ ares_gethostbyname(copy, "www.google.com.", AF_INET, HostCallback, &result); ++ ++ ProcessAltChannel(copy); ++ ++ EXPECT_TRUE(result.done_); ++ ares_destroy(copy); ++ EXPECT_NE((size_t)0, count); ++ EXPECT_EQ(ARES_SUCCESS, result.status_); ++ EXPECT_EQ(0, result.timeouts_); ++ } ++ ++} ++ + static const unsigned char * + fetch_server_cookie(const ares_dns_record_t *dnsrec, size_t *len) + { +diff --git a/test/ares-test.cc b/test/ares-test.cc +index 99ab0a00..f383ecbe 100644 +--- a/test/ares-test.cc ++++ b/test/ares-test.cc +@@ -888,14 +888,18 @@ void MockChannelOptsTest::ProcessFD(ares_socket_t fd) { + } + } + +-void MockChannelOptsTest::Process(unsigned int cancel_ms) { ++void MockChannelOptsTest::ProcessAltChannel(ares_channel_t *chan, unsigned int cancel_ms) { + using namespace std::placeholders; +- ProcessWork(channel_, ++ ProcessWork(chan, + std::bind(&MockChannelOptsTest::fds, this), + std::bind(&MockChannelOptsTest::ProcessFD, this, _1), + cancel_ms); + } + ++void MockChannelOptsTest::Process(unsigned int cancel_ms) { ++ ProcessAltChannel(channel_, cancel_ms); ++} ++ + void MockEventThreadOptsTest::Process(unsigned int cancel_ms) { + std::set fds; + +diff --git a/test/ares-test.h b/test/ares-test.h +index 61275921..77baa902 100644 +--- a/test/ares-test.h ++++ b/test/ares-test.h +@@ -328,6 +328,7 @@ public: + + // Process all pending work on ares-owned and mock-server-owned file + // descriptors. ++ void ProcessAltChannel(ares_channel_t *chan, unsigned int cancel_ms = 0); + void Process(unsigned int cancel_ms = 0); + + protected: diff --git a/c-ares-1.27.0.tar.gz b/c-ares-1.27.0.tar.gz deleted file mode 100644 index f9b2cb6..0000000 --- a/c-ares-1.27.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0a72be66959955c43e2af2fbd03418e82a2bd5464604ec9a62147e37aceb420b -size 1301440 diff --git a/c-ares-1.27.0.tar.gz.asc b/c-ares-1.27.0.tar.gz.asc deleted file mode 100644 index 00415eb..0000000 --- a/c-ares-1.27.0.tar.gz.asc +++ /dev/null @@ -1,11 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQEzBAABCgAdFiEEJ+3q8i86vOtQ25oSXMkI/bceEsIFAmXYSD0ACgkQXMkI/bce -EsIrPAgAsE8zpviLmbuAS9TvBG+mRYhr/Q0Bix9ZpBke/V+4XUpGrlNPcyD5Y1wX -KmTWRFxQWfj/wau8uI1pMYkIQlq7GxU1MaIWiyqEk+4GPEry945PA/YesLiQWuCo -ny/1xA9FNdffCLDpH5OYQtTrKYhZ9wrU4Ae4bh2Mo0V5pwTkX2BviAj9R3SUtXnD -sQi+kRAuhii/3aVPLDURw3MWgGYV1n1dRBWQr1yaeUey3PCn+aUfSsDRHCy6mBIy -5rm2YiiWBaSF89u6PFqqEYI57xDHz7eJa6CYk/nwKktse43zTlWSY2NpAgYR3iW7 -mRCAt3/6KVx5pPyzeq3+ZGBmGY0qng== -=hubf ------END PGP SIGNATURE----- diff --git a/c-ares-1.34.4.tar.gz b/c-ares-1.34.4.tar.gz new file mode 100644 index 0000000..428b404 --- /dev/null +++ b/c-ares-1.34.4.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa38dbed659ee4cc5a32df5e27deda575fa6852c79a72ba1af85de35a6ae222f +size 1001209 diff --git a/c-ares-1.34.4.tar.gz.asc b/c-ares-1.34.4.tar.gz.asc new file mode 100644 index 0000000..3acb0c7 --- /dev/null +++ b/c-ares-1.34.4.tar.gz.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- + +iHUEABYKAB0WIQR162yg5j6QxP8sho/B0VYRsuRyCwUCZ12h2wAKCRDB0VYRsuRy +CxKEAP91aSsfGvFmgxEI6MAwR+RpqGG3rd4BrbWPyyiOfZ1t4wD/dDpVlP48TvqG +QlzCeji6ngkysUh2hXqVhrLmyb8HWgY= +=wI3w +-----END PGP SIGNATURE----- diff --git a/c-ares.changes b/c-ares.changes index c0096b0..bb60e4f 100644 --- a/c-ares.changes +++ b/c-ares.changes @@ -1,3 +1,215 @@ +------------------------------------------------------------------- +Fri Jan 3 22:36:24 UTC 2025 - Adam Majer + +- skip-test.patch replaced with upstream unit test fix + a531524a3d085fcd9a5e25d5f6cbdb953082c2b9.patch + +------------------------------------------------------------------- +Mon Dec 30 11:13:26 UTC 2024 - Adam Majer + +- c-ares 1.34.4 +This is a bugfix release. +Changes: + + QNX Port: Port to QNX 8, add primary config reading support, add CI build. PR #934, PR #937, PR #938 + +Bugfixes: + Empty TXT records were not being preserved. PR #922 + docs: update deprecation notices for ares_create_query() and ares_mkquery(). PR #910 + license: some files weren't properly updated. PR #920 + Fix bind local device regression from 1.34.0. PR #929, PR #931, PR #935 + CMake: set policy version to prevent deprecation warnings. PR #932 + CMake: shared and static library names should be the same on unix platforms like autotools uses. PR #933 + Update to latest autoconf archive macros for enhanced system compatibility. PR #936 + +In version 1.34.3 +This is a bugfix release. +Changes: + Build the release package in an automated way so we can provide provenance as per SLSA3. PR #906 + +Bugfixes: + Some upstream servers are non-compliant with EDNS options, resend queries without EDNS. Issue #911 + TSAN warns on missing lock, but lock isn't actually necessary. PR #915 + ares_getaddrinfo() for AF_UNSPEC should retry IPv4 if only IPv6 is received. 765d558 + ares_send() shouldn't return ARES_EBADRESP, its ARES_EBADQUERY. 91519e7 + Fix typos in man pages. PR #905 + +- skip-test.patch: fix failing tests + +------------------------------------------------------------------- +Tue Oct 29 09:24:43 UTC 2024 - Adam Majer + +- c-ares 1.34.2 + +Features: +* adig: read arguments from adigrc. [PR #856] +* Add new pending write callback optimization via `ares_set_pending_write_cb`. [PR #857] +* New function `ares_process_fds()`. [PR #875] +* Failed servers should be probed rather than redirecting queries which could + cause unexpected latency. [PR #877] +* adig: rework command line arguments to mimic dig from bind. [PR #890] +* Add new method for overriding network functions + `ares_set_socket_function_ex()` to properly support all new functionality. + [PR #894] +* Fix regression with custom socket callbacks due to DNS cookie support. [PR #895] +* ares_socket: set IP_BIND_ADDRESS_NO_PORT on ares_set_local_ip* tcp sockets [PR #887] +* URI parser/writer for ares_set_servers_csv()/ares_get_servers_csv(). [PR #882] + +Changes: +* Connection handling modularization. [PR #857], [PR #876] +* Expose library/utility functions to tools. [PR #860] +* Remove `ares__` prefix, just use `ares_` for internal functions. [PR #872] + +Bugfixes: +* fix: potential WIN32_LEAN_AND_MEAN redefinition. + [PR #869] +* Fix googletest v1.15 compatibility. + [PR #874] +* Fix pkgconfig thread dependencies. + [PR #884] + +Features in 1.33.0: +* Add DNS cookie support (RFC7873 + RFC9018) to help prevent off-path cache + poisoning attacks. [PR #833] +* Implement TCP FastOpen (TFO) RFC7413, which will make TCP reconnects 0-RTT + on supported systems. [PR #840] + +Changes: +* Reorganize source tree. [PR #822] +* Refactoring of connection handling to prevent code duplication. [PR #839] +* New dynamic array data structure to prevent simple logic flaws in array + handling in various code paths. [PR #841] + +Bugfixes: +* `ares_destroy()` race condition during shutdown due to missing lock. [PR #831] + +Features in 1.32: + +* Add support for DNS 0x20 to help prevent cache poisoning attacks, enabled + by specifying `ARES_FLAG_DNS0x20`. Disabled by default. [PR #800] +* Rework query timeout logic to automatically adjust timeouts based on network + conditions. The timeout specified now is only used as a hint until there + is enough history to calculate a more valid timeout. [PR #794] + +Changes: + +* DNS RR TXT strings should not be automatically concatenated as there are use + cases outside of RFC 7208. In order to maintain ABI compliance, the ability + to retrieve TXT strings concatenated is retained as well as a new API to + retrieve the individual strings. This restores behavior from c-ares 1.20.0. + [PR #801] +* Clean up header inclusion logic to make hacking on code easier. [PR #797] +* GCC/Clang: Enable even more strict warnings to catch more coding flaws. [253bdee] + +Bugfixes: + +* Tests: Fix thread race condition in test cases for EventThread. [PR #803] +* Thread Saftey: `ares_timeout()` was missing lock. [74a64e4] + +------------------------------------------------------------------- +Tue Jun 18 13:51:01 UTC 2024 - Adam Majer + +- c-ares 1.31.0 + +Changes: +* Enable Query Cache by default. [PR #786] + +Bugfixes: +* Enhance Windows DNS configuration change detection to also + detect manual DNS configuration changes. [PR #785] +* Various legacy MacOS Build fixes. [Issue #782] +* Ndots value of zero in resolv.conf was not being honored. [852a60a] +* Watt-32 build support had been broken for some time. [PR #781] +* Distribute `ares_dns_rec_type_tostr` manpage. [PR #778] + +------------------------------------------------------------------- +Mon Jun 10 11:36:09 UTC 2024 - Adam Majer + +- c-ares 1.30.0 + +Features: + +* Basic support for SIG RR record (RFC 2931 / RFC 2535) [PR #773] + +Changes: +* Validation that DNS strings can only consist of printable ascii characters + otherwise will trigger a parse failure. [75de16c] and [40fb125] + +Bugfixes: +* QueryCache: Fix issue where purging on server changes wasn't working. [a6c8fe6] + +- updated dowload URLs to point to github +- updated keyring to include Brad House DA7D64E4C82C6294CB73A20E22E3D13B5411B7CA + +------------------------------------------------------------------- +Sun Jun 2 02:30:49 UTC 2024 - jun wang + +- c-ares 1.29.0 + +Features: + * When using ARES_OPT_EVENT_THREAD, automatically reload + system configuration when network conditions change. + [PR #759] + * Apple: reimplement DNS configuration reading to more + accurately pull DNS settings. [PR #750] + * Add observability into DNS server health via a server state + callback, invoked whenever a query finishes. [PR #744] + * Add server failover retry behavior, where failed servers are + retried with small probability after a minimum delay. + [PR #731] + +Changes: + * Mark ares_channel_t * as const in more places in the public + API. [PR #758] + +Bugfixes: + * Due to a logic flaw dns name compression writing was not + properly implemented which would result in the name prefix not + being written for a partial match. This could cause issues in + various record types such as MX records when using the + deprecated API. Regression introduced in 1.28.0. [Issue #757] + * Revert OpenBSD SOCK_DNS flag, it doesn't do what the docs say + it does and causes c-ares to become non-functional. [PR #754] + * ares_getnameinfo(): loosen validation on salen parameter. + [Issue #752] + * cmake: Android requires C99. [PR #748] + * ares_queue_wait_empty() does not honor timeout_ms >= 0. + [Issue #742] + +------------------------------------------------------------------- +Tue Apr 2 08:42:30 UTC 2024 - Adam Majer + +- c-ares 1.28.1 + +Features: + * Emit warnings when deprecated c-ares functions are used. + This can be disabled by passing a compiler definition of + `CARES_NO_DEPRECATED`. [PR #732] + * Add function `ares_search_dnsrec()` to search for records + using the new DNS record data structures. [PR #719] + * Rework internals to pass around `ares_dns_record_t` instead of + binary data, this introduces new public functions of + `ares_query_dnsrec()` and `ares_send_dnsrec()`. [PR #730] + +Changes: + * tests: when performing simulated queries, reduce timeouts + to make tests run faster + * Replace configuration file parsers with memory-safe parser. [PR #725] + * Remove `acountry` completely, the manpage might still get + installed otherwise. [Issue #718] + +Bugfixes: + * CMake: don't overwrite global required libraries/definitions/includes + which could cause build errors for projects chain building c-ares. + [Issue #729] + * On some platforms, `netinet6/in6.h` is not included by `netinet/in.h` + and needs to be included separately. [PR #728] + * Fix a potential memory leak in `ares_init()`. [Issue #724] + * Some platforms don't have the `isascii()` function. + Implement as a macro. [PR #721] + * CMake: Fix Chain building if CMAKE runtime paths not set + * NDots configuration should allow a value of zero. [PR #735] + ------------------------------------------------------------------- Mon Feb 26 13:25:59 UTC 2024 - Adam Majer diff --git a/c-ares.keyring b/c-ares.keyring index 4aca772..f9092e7 100644 --- a/c-ares.keyring +++ b/c-ares.keyring @@ -1,8 +1,3 @@ -pub rsa2048 2016-04-07 [SC] - 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 -uid [ unknown] Daniel Stenberg -sub rsa2048 2016-04-07 [E] - -----BEGIN PGP PUBLIC KEY BLOCK----- mQENBFcGiPEBCAC7sCnaZqWxfXNgBC7P28BSDUs9w4y/PEFsOv9bpgbgZagX1Fnh @@ -29,6 +24,59 @@ mFeJcJ4qLUkvBA0OsvlVnMWmeCmzsXhlQVM4Bv6IWyr7JBWgkK5q2CWVB59V7v7z nf5kWnMGFhDFPlLsGbxDWLMoZGH+Iy84whMJFgferwCJy1dND/bHXPztfhvFXi8N NlJUFJa8Xtmugm78C+nwNHcFpVC70HPr3oa8U1ODXMp7L8W/dL3eLYXmRCNd0urH gYrzDt6V/zf5ymvPk5w4HBocn2oRCJj/FXKhFAUptmpTE3g1yvYULmuFcNGAnPAE -xmAmd6NqsCmbj/qx4ytjt5uxt6Jm6IXV9cry8i6x -=iWGV +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 +CPvCxKgoXTCnUWZvlJUx +=YYcS -----END PGP PUBLIC KEY BLOCK----- diff --git a/c-ares.spec b/c-ares.spec index 320c08c..26be8ce 100644 --- a/c-ares.spec +++ b/c-ares.spec @@ -26,15 +26,17 @@ %endif Name: c-ares%pkg_suffix -Version: 1.27.0 +Version: 1.34.4 Release: 0 Summary: Library for asynchronous name resolves License: MIT URL: https://c-ares.org/ -Source0: https://c-ares.org/download/c-ares-%{version}.tar.gz -Source1: https://c-ares.org/download/c-ares-%{version}.tar.gz.asc +Source0: https://github.com/c-ares/c-ares/releases/download/v%{version}/c-ares-%{version}.tar.gz +Source1: https://github.com/c-ares/c-ares/releases/download/v%{version}/c-ares-%{version}.tar.gz.asc Source3: c-ares.keyring Source4: baselibs.conf +Source5: series +Patch1: a531524a3d085fcd9a5e25d5f6cbdb953082c2b9.patch BuildRequires: c++_compiler BuildRequires: cmake # Needed for getservbyport_r function to work properly. @@ -91,7 +93,7 @@ to build packages that depend on c-ares. %endif %prep -%autosetup -p1 -n c-ares-%{version} +%autosetup -n c-ares-%{version} -p1 %build %cmake \ diff --git a/series b/series new file mode 100644 index 0000000..ee9480c --- /dev/null +++ b/series @@ -0,0 +1 @@ +skip-test.patch