Sync from SUSE:SLFO:Main c-ares revision d128fc34ef70c3323d8e2302e62eaf83
This commit is contained in:
parent
dc1230800a
commit
cd7a9d1df8
318
a531524a3d085fcd9a5e25d5f6cbdb953082c2b9.patch
Normal file
318
a531524a3d085fcd9a5e25d5f6cbdb953082c2b9.patch
Normal file
@ -0,0 +1,318 @@
|
||||
commit a531524a3d085fcd9a5e25d5f6cbdb953082c2b9
|
||||
Author: Brad House <brad@brad-house.com>
|
||||
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<size_t *>(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<size_t *>(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<ares_socket_t> 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:
|
BIN
c-ares-1.27.0.tar.gz
(Stored with Git LFS)
BIN
c-ares-1.27.0.tar.gz
(Stored with Git LFS)
Binary file not shown.
@ -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-----
|
BIN
c-ares-1.34.4.tar.gz
(Stored with Git LFS)
Normal file
BIN
c-ares-1.34.4.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
7
c-ares-1.34.4.tar.gz.asc
Normal file
7
c-ares-1.34.4.tar.gz.asc
Normal file
@ -0,0 +1,7 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iHUEABYKAB0WIQR162yg5j6QxP8sho/B0VYRsuRyCwUCZ12h2wAKCRDB0VYRsuRy
|
||||
CxKEAP91aSsfGvFmgxEI6MAwR+RpqGG3rd4BrbWPyyiOfZ1t4wD/dDpVlP48TvqG
|
||||
QlzCeji6ngkysUh2hXqVhrLmyb8HWgY=
|
||||
=wI3w
|
||||
-----END PGP SIGNATURE-----
|
212
c-ares.changes
212
c-ares.changes
@ -1,3 +1,215 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 3 22:36:24 UTC 2025 - Adam Majer <adam.majer@suse.de>
|
||||
|
||||
- skip-test.patch replaced with upstream unit test fix
|
||||
a531524a3d085fcd9a5e25d5f6cbdb953082c2b9.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 30 11:13:26 UTC 2024 - Adam Majer <adam.majer@suse.de>
|
||||
|
||||
- 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 <adam.majer@suse.de>
|
||||
|
||||
- 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 <adam.majer@suse.de>
|
||||
|
||||
- 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 <adam.majer@suse.de>
|
||||
|
||||
- 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 <jgwang@suse.com>
|
||||
|
||||
- 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 <adam.majer@suse.de>
|
||||
|
||||
- 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 <adam.majer@suse.de>
|
||||
|
||||
|
@ -1,8 +1,3 @@
|
||||
pub rsa2048 2016-04-07 [SC]
|
||||
27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2
|
||||
uid [ unknown] Daniel Stenberg <daniel@haxx.se>
|
||||
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-----
|
||||
|
10
c-ares.spec
10
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 \
|
||||
|
Loading…
x
Reference in New Issue
Block a user