Compare commits

...

65 Commits

Author SHA1 Message Date
Fedora Release Engineering 6b7a827d83 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-20 22:26:09 +00:00
Fedora Release Engineering cce3641867 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-19 22:45:31 +00:00
Tom spot Callaway b4df9ed533 update to 1.17.2, fixes multiple security issues including CVE-2021-3672 2021-08-16 15:18:46 -04:00
Fedora Release Engineering b6baca863d - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 19:01:40 +00:00
Fedora Release Engineering 3f5ea31b1d - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-21 14:04:23 +00:00
Fedora Release Engineering 503688dbdc - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 01:32:08 +00:00
Tom Stellard b53e2416a7 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2020-12-19 05:11:40 +00:00
Tom spot Callaway fcb6e5afb0 1.17.1 2020-11-20 10:50:14 -05:00
Tom spot Callaway bf057fcd81 update to 1.17.0 2020-11-17 10:54:33 -05:00
Fedora Release Engineering ab3b24b570 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-27 13:32:32 +00:00
Tom Stellard 147e0a6b27 Use make macros
https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
2020-07-13 18:43:56 +00:00
Igor Raits bcd0dbcad6
Improve compatibility with new CMake macro
Signed-off-by: Igor Raits <ignatenkobrain@fedoraproject.org>
2020-07-04 20:46:12 +02:00
Tom Callaway 28dc2c4b1f 1.16.1 2020-05-11 15:32:55 -04:00
Tom Callaway 228acfd157 1.16.0 2020-03-13 09:44:12 -04:00
Fedora Release Engineering e3709186be - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-28 13:29:19 +00:00
Fedora Release Engineering e11b95a98d - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-24 19:45:25 +00:00
Tom Callaway e3d358eca4 add BR:gcc 2019-03-12 14:51:43 -04:00
Tom Callaway 4f75e1c62e switch to cmake so we get cmake helper files, bz1687844 2019-03-12 14:13:10 -04:00
Fedora Release Engineering a9edfcee9c - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-01-31 15:06:15 +00:00
Igor Gnatenko 4eb0ca36e1 Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:23:57 +01:00
Igor Gnatenko f9802fee51
Remove obsolete ldconfig scriptlets
References: https://fedoraproject.org/wiki/Changes/RemoveObsoleteScriptlets
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2019-01-22 18:38:34 +01:00
Jakub Hrozek ee20716e13 Update to the latest upstream 2018-11-13 08:25:42 +01:00
Jakub Hrozek 75fce61909 Update to the latest upstream
Resolves: rhbz#1624499 - RFE: New c-ares release 1.14.0 available
2018-09-03 10:04:49 +02:00
Fedora Release Engineering 1b8f834b58 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-12 21:28:01 +00:00
Jason Tibbitts 399c3163ba Remove needless use of %defattr 2018-07-10 00:28:58 -05:00
Igor Gnatenko 1063e02327
Remove %clean section
None of currently supported distributions need that.
Last one was EL5 which is EOL for a while.

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-14 07:53:57 +01:00
Igor Gnatenko d4cb80ab4c Remove BuildRoot definition
None of currently supported distributions need that.
It was needed last for EL5 which is EOL now

Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-13 23:07:10 +01:00
Fedora Release Engineering 9fb85b29ce - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-07 04:22:20 +00:00
Fedora Release Engineering e60fa882d9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild 2017-08-02 18:30:46 +00:00
Fedora Release Engineering d796c617d6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 04:23:16 +00:00
Jakub Hrozek 4785e5c178 update to 1.13.0 2017-06-20 08:43:11 +02:00
Fedora Release Engineering b74febc36b - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-10 07:10:53 +00:00
Tom Callaway d76c7c5e9b 1.12.0 2016-09-29 13:19:31 -04:00
Jakub Hrozek ab86701685 New upstream version 1.11.0 2016-02-19 13:21:59 +01:00
Dennis Gilmore 2d584fad3a - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-03 17:20:08 +00:00
Dennis Gilmore 8ec7566823 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-17 02:13:12 +00:00
Peter Robinson b6834e2e95 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild 2014-08-15 23:21:52 +00:00
Dennis Gilmore 0ca7c5ab14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-06 22:49:37 -05:00
Dennis Gilmore 7b14a946e8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild 2013-08-02 23:12:31 -05:00
Jakub Hrozek 1c0f743dfd Include the 1.10 tarball
Fix the date in changelog to make fedpkg happy.
2013-05-13 17:25:59 +02:00
Jakub Hrozek 24bbb91f60 Update to c-ares-1.10.0
- Obsolete upstreamed patches
- Amend the multilib patch, there's no need to patch configure since we
  are running autoreconf anyways
- https://raw.github.com/bagder/c-ares/cares-1_10_0/RELEASE-NOTES
2013-05-13 17:12:47 +02:00
Jakub Hrozek 6e64982dd7 Apply an upstream patch to override AC_CONFIG_MACRO_DIR only conditionally 2013-04-12 14:25:25 +02:00
Jakub Hrozek 68e2f2a3ed Patch autoconf, not configure to pass the correct optflags
- Run autoreconf before configure
- git rm obsolete patches
2013-04-11 20:37:46 +02:00
Dennis Gilmore 3c1ab0a7ec - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild 2013-02-13 12:10:07 -06:00
Jakub Hrozek ab23a40e22 Include URL to the license text 2012-08-08 15:25:16 +02:00
Dennis Gilmore 795027f3c7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild 2012-07-18 13:29:41 -05:00
Tom Callaway 6603e0b880 1.9.1 2012-06-25 21:21:36 -04:00
Tom Callaway ab2c75f35b 1.8.0 2012-05-02 10:17:45 -04:00
Dennis Gilmore dd6af9b4cb - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild 2012-01-12 16:57:41 -06:00
Jakub Hrozek aa9ea90b2d Upload the 1.7.5 tarball 2011-08-17 08:40:48 +02:00
Jakub Hrozek e2cb3f70b1 Upgrade to upstream release 1.7.5 2011-08-17 08:35:56 +02:00
Jakub Hrozek 7d832096ca Fix rhbz#695424 2011-04-11 21:05:25 +02:00
Jakub Hrozek 41be15ef5c Do not mention 'static' libraries in description since they are disabled during build 2011-03-28 10:34:03 +02:00
Dennis Gilmore c29dd4b55c - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild 2011-02-08 00:14:01 -06:00
Tom "spot" Callaway ee9ba88b30 1.7.4 2010-12-10 11:09:20 -05:00
Jakub Hrozek a4003969d3 Bump release 2010-08-25 13:16:35 +02:00
Jakub Hrozek 3ae20977c9 Actually apply patches from previous commit 2010-08-25 13:13:41 +02:00
Jakub Hrozek 2d340cecb0 Apply a couple of patches from upstream 1.4 branch 2010-08-25 10:21:27 +02:00
Fedora Release Engineering c77a0f1527 dist-git conversion 2010-07-28 11:24:13 +00:00
Jakub Hrozek 1d13e8ce70 Upload 1.7.3 tarball 2010-06-15 10:52:45 +00:00
Jakub Hrozek 7a22fd9899 Update to 1.7.3 and fix #602880 2010-06-15 10:50:20 +00:00
Jakub Hrozek d6fe1b4f2a Fix search domain order - RHBZ #597286 2010-06-03 12:00:25 +00:00
Jakub Hrozek ac7f48ff81 Remove the superseded patch from CVS devel branch 2010-03-23 15:05:18 +00:00
Jakub Hrozek 3a3344272f Update c-ares to 1.7.1 2010-03-23 15:03:25 +00:00
Jakub Hrozek ba51447860 change IPv6 nameserver patch according to upstream 2010-03-07 19:53:55 +00:00
10 changed files with 303 additions and 787 deletions

View File

@ -1 +0,0 @@
c-ares-1.7.0.tar.gz

16
.gitignore vendored Normal file
View File

@ -0,0 +1,16 @@
c-ares-1.7.3.tar.gz
/c-ares-1.7.4.tar.gz
/c-ares-1.7.5.tar.gz
/c-ares-1.8.0.tar.gz
/c-ares-1.9.1.tar.gz
/c-ares-1.10.0.tar.gz
/c-ares-1.11.0.tar.gz
/c-ares-1.12.0.tar.gz
/c-ares-1.13.0.tar.gz
/c-ares-1.14.0.tar.gz
/c-ares-1.15.0.tar.gz
/c-ares-1.16.0.tar.gz
/c-ares-1.16.1.tar.gz
/c-ares-1.17.0.tar.gz
/c-ares-1.17.1.tar.gz
/c-ares-1.17.2.tar.gz

View File

@ -1,653 +0,0 @@
From 1f1893a428376810f2c2887cf51ca7891917b216 Mon Sep 17 00:00:00 2001
From: Jakub Hrozek <jhrozek@redhat.com>
Date: Mon, 1 Feb 2010 21:23:59 +0100
Subject: [PATCH 1/2] Allow the use of IPv6 nameservers
This patch allows the use of IPv6 addresses for nameserves in both
/etc/resolv.conf and by using the ares_set_nameservers() API.
---
Makefile.inc | 3 +
ares.h | 13 +++
ares_destroy.c | 10 +--
ares_init.c | 208 ++++++++++++++++++++++++++++++++++++++---------
ares_private.h | 13 +--
ares_process.c | 95 +++++++++++++++++-----
ares_set_nameservers.3 | 58 +++++++++++++
7 files changed, 320 insertions(+), 80 deletions(-)
create mode 100644 ares_set_nameservers.3
diff --git a/Makefile.inc b/Makefile.inc
index 3227858..8e575fd 100644
--- a/Makefile.inc
+++ b/Makefile.inc
@@ -92,6 +92,7 @@ MANPAGES = ares_cancel.3 \
ares_search.3 \
ares_send.3 \
ares_set_socket_callback.3 \
+ ares_set_nameservers.3 \
ares_strerror.3 \
ares_timeout.3 \
ares_version.3
@@ -128,6 +129,7 @@ HTMLPAGES = ares_cancel.html \
ares_search.html \
ares_send.html \
ares_set_socket_callback.html \
+ ares_set_nameservers.html \
ares_strerror.html \
ares_timeout.html \
ares_version.html
@@ -164,6 +166,7 @@ PDFPAGES = ares_cancel.pdf \
ares_search.pdf \
ares_send.pdf \
ares_set_socket_callback.pdf \
+ ares_set_nameservers.pdf \
ares_strerror.pdf \
ares_timeout.pdf \
ares_version.pdf
diff --git a/ares.h b/ares.h
index b1c2c22..57bd445 100644
--- a/ares.h
+++ b/ares.h
@@ -426,6 +426,19 @@ struct ares_addr6ttl {
int ttl;
};
+struct ares_addr {
+ int family;
+ union {
+ struct in_addr addr4;
+ struct in6_addr addr6;
+ } addr;
+};
+
+/* Sets nameservers for the given ares channel handle */
+CARES_EXTERN int ares_set_nameservers(ares_channel channel,
+ struct ares_addr *servers,
+ int num_servers);
+
struct ares_srv_reply {
struct ares_srv_reply *next;
char *host;
diff --git a/ares_destroy.c b/ares_destroy.c
index 0044a71..4040971 100644
--- a/ares_destroy.c
+++ b/ares_destroy.c
@@ -67,15 +67,7 @@ void ares_destroy(ares_channel channel)
}
#endif
- if (channel->servers) {
- for (i = 0; i < channel->nservers; i++)
- {
- struct server_state *server = &channel->servers[i];
- ares__close_sockets(channel, server);
- assert(ares__is_list_empty(&(server->queries_to_server)));
- }
- free(channel->servers);
- }
+ ares__free_servers(channel);
if (channel->domains) {
for (i = 0; i < channel->ndomains; i++)
diff --git a/ares_init.c b/ares_init.c
index cb541af..98e9202 100644
--- a/ares_init.c
+++ b/ares_init.c
@@ -65,6 +65,7 @@
#include <ctype.h>
#include <time.h>
#include <errno.h>
+#include <assert.h>
#include "ares.h"
#include "inet_net_pton.h"
#include "ares_library_init.h"
@@ -88,6 +89,7 @@ static int set_search(ares_channel channel, const char *str);
static int set_options(ares_channel channel, const char *str);
static const char *try_option(const char *p, const char *q, const char *opt);
static int init_id_key(rc4_key* key,int key_data_len);
+static void init_servers(ares_channel channel);
#if !defined(WIN32) && !defined(WATT32)
static int sortlist_alloc(struct apattern **sortlist, int *nsort, struct apattern *pat);
@@ -118,7 +120,6 @@ int ares_init_options(ares_channel *channelptr, struct ares_options *options,
ares_channel channel;
int i;
int status = ARES_SUCCESS;
- struct server_state *server;
struct timeval now;
#ifdef CURLDEBUG
@@ -248,20 +249,7 @@ int ares_init_options(ares_channel *channelptr, struct ares_options *options,
channel->nservers = 1;
/* Initialize server states. */
- for (i = 0; i < channel->nservers; i++)
- {
- server = &channel->servers[i];
- server->udp_socket = ARES_SOCKET_BAD;
- server->tcp_socket = ARES_SOCKET_BAD;
- server->tcp_connection_generation = ++channel->tcp_connection_generation;
- server->tcp_lenbuf_pos = 0;
- server->tcp_buffer = NULL;
- server->qhead = NULL;
- server->qtail = NULL;
- ares__init_list_head(&(server->queries_to_server));
- server->channel = channel;
- server->is_broken = 0;
- }
+ init_servers(channel);
*channelptr = channel;
return ARES_SUCCESS;
@@ -296,6 +284,29 @@ int ares_dup(ares_channel *dest, ares_channel src)
(*dest)->sock_create_cb = src->sock_create_cb;
(*dest)->sock_create_cb_data = src->sock_create_cb_data;
+ /* IPv4 nameservers were copied in ares_save_options, we
+ * can only copy v6 servers */
+ if (src->nservers > (*dest)->nservers)
+ {
+ int i;
+ (*dest)->servers =
+ realloc((*dest)->servers,
+ src->nservers * sizeof(struct server_state));
+ if (!(*dest)->servers)
+ return ARES_ENOMEM;
+
+ for (i = 0; i < src->nservers; i++)
+ {
+ if (src->servers[i].addr.family == AF_INET6)
+ {
+ memcpy(&((*dest)->servers[(*dest)->nservers].addr),
+ &(src->servers[i].addr),
+ sizeof(struct ares_addr));
+ (*dest)->nservers++;
+ }
+ }
+ init_servers(*dest);
+ }
return ARES_SUCCESS; /* everything went fine */
@@ -334,17 +345,33 @@ int ares_save_options(ares_channel channel, struct ares_options *options,
options->tcp_port = (unsigned short)channel->tcp_port;
options->sock_state_cb = channel->sock_state_cb;
options->sock_state_cb_data = channel->sock_state_cb_data;
+ options->nservers = 0;
/* Copy servers */
if (channel->nservers) {
+ int numv4 = 0;
options->servers =
malloc(channel->nservers * sizeof(struct server_state));
- if (!options->servers && channel->nservers != 0)
+ if (!options->servers)
return ARES_ENOMEM;
for (i = 0; i < channel->nservers; i++)
- options->servers[i] = channel->servers[i].addr;
+ {
+ if (channel->servers[i].addr.family == AF_INET)
+ {
+ /* Because struct ares_options should stay the same
+ * only IPv4 nameservers are saved in this patch.
+ * ares_dup() works for both v4 and v6, though
+ */
+ options->servers[numv4++] =
+ channel->servers[i].addr.addrV4;
+ }
+ }
+ options->servers =
+ realloc(options->servers, numv4 * sizeof(struct server_state));
+ if (numv4 && !options->servers)
+ return ARES_ENOMEM;
+ options->nservers = numv4;
}
- options->nservers = channel->nservers;
/* copy domains */
if (channel->ndomains) {
@@ -431,7 +458,15 @@ static int init_by_options(ares_channel channel,
if (!channel->servers)
return ARES_ENOMEM;
for (i = 0; i < options->nservers; i++)
- channel->servers[i].addr = options->servers[i];
+ {
+ /* This is a rather crude way to allow usage of
+ * protocol-independent struct addrinfo while not
+ * breaking the public struct ares_options which is forbidden
+ * in favor of providing ares_set_XXX() functions
+ */
+ channel->servers[i].addr.family = AF_INET;
+ channel->servers[i].addr.addrV4 = options->servers[i];
+ }
}
channel->nservers = options->nservers;
}
@@ -1001,7 +1036,9 @@ static int init_by_defaults(ares_channel channel)
rc = ARES_ENOMEM;
goto error;
}
- channel->servers[0].addr.s_addr = htonl(INADDR_LOOPBACK);
+
+ channel->servers[0].addr.family = AF_INET;
+ channel->servers[0].addr.addrV4.s_addr = htonl(INADDR_LOOPBACK);
channel->nservers = 1;
}
@@ -1146,11 +1183,48 @@ static int config_lookup(ares_channel channel, const char *str,
#endif /* !WIN32 & !WATT32 */
#ifndef WATT32
+static int set_nameserver(struct server_state **servers, int *nservers,
+ char *str)
+{
+ struct server_state *newserv;
+ struct in_addr addr;
+ struct in6_addr addr6;
+
+ newserv = realloc(*servers, (*nservers + 1) * sizeof(struct server_state));
+ if (!newserv)
+ {
+ return ARES_ENOMEM;
+ }
+
+ addr.s_addr = inet_addr(str);
+ if (addr.s_addr == INADDR_NONE)
+ {
+ /* Not an IPv4 address, try IPv6 */
+ if(ares_inet_pton(AF_INET6, str, (struct in6_addr *) &addr6) == 0)
+ {
+ /* Not IPv6 either, bail out */
+ return ARES_EBADFAMILY;
+ }
+
+ newserv[*nservers].addr.family = AF_INET6;
+ memcpy(&newserv[*nservers].addr.addrV6, &addr6, 16);
+ }
+ else
+ {
+ newserv[*nservers].addr.family = AF_INET;
+ newserv[*nservers].addr.addrV4 = addr;
+ }
+
+ *servers = newserv;
+ (*nservers)++;
+ return ARES_SUCCESS;
+}
+
static int config_nameserver(struct server_state **servers, int *nservers,
char *str)
{
- struct in_addr addr;
- struct server_state *newserv;
+ int ret;
+
/* On Windows, there may be more than one nameserver specified in the same
* registry key, so we parse it as a space or comma seperated list.
*/
@@ -1178,15 +1252,9 @@ static int config_nameserver(struct server_state **servers, int *nservers,
}
/* This is the part that actually sets the nameserver */
- addr.s_addr = inet_addr(begin);
- if (addr.s_addr == INADDR_NONE)
- continue;
- newserv = realloc(*servers, (*nservers + 1) * sizeof(struct server_state));
- if (!newserv)
- return ARES_ENOMEM;
- newserv[*nservers].addr = addr;
- *servers = newserv;
- (*nservers)++;
+ ret = set_nameserver(servers, nservers, begin);
+ if (ret)
+ return ret;
if (!more)
break;
@@ -1194,15 +1262,9 @@ static int config_nameserver(struct server_state **servers, int *nservers,
}
#else
/* Add a nameserver entry, if this is a valid address. */
- addr.s_addr = inet_addr(str);
- if (addr.s_addr == INADDR_NONE)
- return ARES_SUCCESS;
- newserv = realloc(*servers, (*nservers + 1) * sizeof(struct server_state));
- if (!newserv)
- return ARES_ENOMEM;
- newserv[*nservers].addr = addr;
- *servers = newserv;
- (*nservers)++;
+ ret = set_nameserver(servers, nservers, str);
+ if (ret)
+ return ret;
#endif
return ARES_SUCCESS;
}
@@ -1580,3 +1642,69 @@ void ares_set_socket_callback(ares_channel channel,
channel->sock_create_cb = cb;
channel->sock_create_cb_data = data;
}
+
+static void init_servers(ares_channel channel)
+{
+ struct server_state *server;
+ int i;
+
+ for (i = 0; i < channel->nservers; i++)
+ {
+ server = &channel->servers[i];
+ server->udp_socket = ARES_SOCKET_BAD;
+ server->tcp_socket = ARES_SOCKET_BAD;
+ server->tcp_connection_generation = ++channel->tcp_connection_generation;
+ server->tcp_lenbuf_pos = 0;
+ server->tcp_buffer = NULL;
+ server->qhead = NULL;
+ server->qtail = NULL;
+ ares__init_list_head(&(server->queries_to_server));
+ server->channel = channel;
+ server->is_broken = 0;
+ }
+}
+
+void ares__free_servers(ares_channel channel)
+{
+ int i;
+
+ if (channel->servers) {
+ for (i = 0; i < channel->nservers; i++)
+ {
+ struct server_state *server = &channel->servers[i];
+ ares__close_sockets(channel, server);
+ assert(ares__is_list_empty(&(server->queries_to_server)));
+ }
+ free(channel->servers);
+ }
+
+ channel->servers = NULL;
+ channel->nservers = -1;
+}
+
+int ares_set_nameservers(ares_channel channel,
+ struct ares_addr *servers,
+ int num_servers)
+{
+ int i;
+
+ ares__free_servers(channel);
+
+ channel->nservers = num_servers;
+ channel->servers =
+ malloc(channel->nservers * sizeof(struct server_state));
+ if (!channel->servers)
+ return ARES_ENOMEM;
+
+ for (i = 0; i < num_servers; i++)
+ {
+ struct server_state *ss = channel->servers + i;
+ memset(ss, 0, sizeof(struct server_state));
+
+ ss->channel = channel;
+ memcpy(&ss->addr, &servers[i], sizeof(struct ares_addr));
+ }
+
+ init_servers(channel);
+ return ARES_SUCCESS;
+}
diff --git a/ares_private.h b/ares_private.h
index 4726d7a..286bf90 100644
--- a/ares_private.h
+++ b/ares_private.h
@@ -110,13 +110,7 @@
# define writev(s,ptr,cnt) ares_writev(s,ptr,cnt)
#endif
-struct ares_addr {
- int family;
- union {
- struct in_addr addr4;
- struct in6_addr addr6;
- } addr;
-};
+/* Shortcuts used for accessing the union addr inside struct ares_addr */
#define addrV4 addr.addr4
#define addrV6 addr.addr6
@@ -137,7 +131,8 @@ struct send_request {
};
struct server_state {
- struct in_addr addr;
+ struct ares_addr addr;
+
ares_socket_t udp_socket;
ares_socket_t tcp_socket;
@@ -319,6 +314,8 @@ struct timeval ares__tvnow(void);
int ares__expand_name_for_response(const unsigned char *encoded,
const unsigned char *abuf, int alen,
char **s, long *enclen);
+void ares__free_servers(ares_channel channel);
+
#if 0 /* Not used */
long ares__tvdiff(struct timeval t1, struct timeval t2);
#endif
diff --git a/ares_process.c b/ares_process.c
index 71f9394..65b95f4 100644
--- a/ares_process.c
+++ b/ares_process.c
@@ -434,7 +434,7 @@ static void read_udp_packets(ares_channel channel, fd_set *read_fds,
ssize_t count;
unsigned char buf[PACKETSZ + 1];
#ifdef HAVE_RECVFROM
- struct sockaddr_in from;
+ struct sockaddr_storage from;
ares_socklen_t fromlen;
#endif
@@ -480,16 +480,29 @@ static void read_udp_packets(ares_channel channel, fd_set *read_fds,
if (count == -1 && try_again(SOCKERRNO))
continue;
else if (count <= 0)
- handle_error(channel, i, now);
+ {
+ handle_error(channel, i, now);
+ break;
+ }
#ifdef HAVE_RECVFROM
- else if (from.sin_addr.s_addr != server->addr.s_addr)
- /* Address response came from did not match the address
- * we sent the request to. Someone may be attempting
- * to perform a cache poisoning attack */
- break;
+ /* Check if address response came from did match the address
+ * we sent the request to. Someone may be attempting
+ * to perform a cache poisoning attack */
+ else if (from.ss_family == AF_INET)
+ {
+ if (((struct sockaddr_in *) &from)->sin_addr.s_addr !=
+ server->addr.addrV4.s_addr)
+ break;
+ }
+ else if (from.ss_family == AF_INET6)
+ {
+ if (memcmp(((struct sockaddr_in6 *) &from)->sin6_addr.s6_addr,
+ server->addr.addrV6.s6_addr,
+ 16))
+ break;
+ }
#endif
- else
- process_answer(channel, buf, (int)count, i, 0, now);
+ process_answer(channel, buf, (int)count, i, 0, now);
} while (count > 0);
}
}
@@ -889,14 +902,44 @@ static int configure_socket(ares_socket_t s, ares_channel channel)
return 0;
}
+static int prepare_addrinfo(struct server_state *server, int port,
+ struct sockaddr_storage *addr)
+{
+ const unsigned short sh_port = (unsigned short)(port & 0xffff);
+ int rc = ARES_SUCCESS;
+
+ switch (server->addr.family)
+ {
+ case AF_INET:
+ ((struct sockaddr_in *) addr)->sin_family = AF_INET;
+ ((struct sockaddr_in *) addr)->sin_port = sh_port;
+ ((struct sockaddr_in *) addr)->sin_addr.s_addr = server->addr.addrV4.s_addr;
+ break;
+
+ case AF_INET6:
+ ((struct sockaddr_in6 *) addr)->sin6_family = AF_INET6;
+ ((struct sockaddr_in6 *) addr)->sin6_port = sh_port;
+ memcpy(((struct sockaddr_in6 *) addr)->sin6_addr.s6_addr,
+ server->addr.addrV6.s6_addr,
+ 16);
+ break;
+
+ default:
+ rc = ARES_EBADFAMILY;
+ break;
+ }
+
+ return rc;
+}
+
static int open_tcp_socket(ares_channel channel, struct server_state *server)
{
ares_socket_t s;
int opt;
- struct sockaddr_in sockin;
+ struct sockaddr_storage addr;
/* Acquire a socket. */
- s = socket(AF_INET, SOCK_STREAM, 0);
+ s = socket(server->addr.family, SOCK_STREAM, 0);
if (s == ARES_SOCKET_BAD)
return -1;
@@ -923,12 +966,15 @@ static int open_tcp_socket(ares_channel channel, struct server_state *server)
}
#endif
+ if (prepare_addrinfo(server, channel->tcp_port, &addr) != ARES_SUCCESS)
+ {
+ sclose(s);
+ return -1;
+ }
+
/* Connect to the server. */
- memset(&sockin, 0, sizeof(sockin));
- sockin.sin_family = AF_INET;
- sockin.sin_addr = server->addr;
- sockin.sin_port = (unsigned short)(channel->tcp_port & 0xffff);
- if (connect(s, (struct sockaddr *) &sockin, sizeof(sockin)) == -1)
+ if (connect(s, (struct sockaddr *) &addr,
+ sizeof(struct sockaddr_storage)) == -1)
{
int err = SOCKERRNO;
@@ -960,10 +1006,10 @@ static int open_tcp_socket(ares_channel channel, struct server_state *server)
static int open_udp_socket(ares_channel channel, struct server_state *server)
{
ares_socket_t s;
- struct sockaddr_in sockin;
+ struct sockaddr_storage addr;
/* Acquire a socket. */
- s = socket(AF_INET, SOCK_DGRAM, 0);
+ s = socket(server->addr.family, SOCK_DGRAM, 0);
if (s == ARES_SOCKET_BAD)
return -1;
@@ -974,12 +1020,15 @@ static int open_udp_socket(ares_channel channel, struct server_state *server)
return -1;
}
+ if (prepare_addrinfo(server, channel->udp_port, &addr) != ARES_SUCCESS)
+ {
+ sclose(s);
+ return -1;
+ }
+
/* Connect to the server. */
- memset(&sockin, 0, sizeof(sockin));
- sockin.sin_family = AF_INET;
- sockin.sin_addr = server->addr;
- sockin.sin_port = (unsigned short)(channel->udp_port & 0xffff);
- if (connect(s, (struct sockaddr *) &sockin, sizeof(sockin)) == -1)
+ if (connect(s, (struct sockaddr *) &addr,
+ sizeof(struct sockaddr_storage)) == -1)
{
int err = SOCKERRNO;
diff --git a/ares_set_nameservers.3 b/ares_set_nameservers.3
new file mode 100644
index 0000000..f573790
--- /dev/null
+++ b/ares_set_nameservers.3
@@ -0,0 +1,58 @@
+.TH ARES_SET_NAMESERVERS 3 "12 Feb 2010"
+.SH NAME
+ares_set_nameservers - Set nameservers
+.SH SYNOPSIS
+.nf
+.B #include <ares.h>
+.PP
+.B int ares_set_nameservers(ares_channel \fIchannel\fP,
+ struct ares_addr *\fIservers\fP,
+ int \fInum_servers\fP)
+.PP
+.B cc file.c -lcares
+.fi
+.SH DESCRIPTION
+.PP
+This function sets nameservers for the given ares channel handle.
+The array
+.I servers
+contains the addresses of nameservers, the length of the array
+is stored in the
+.I num_servers
+parameter.
+Contrary to initializing nameservers with
+.B ares_init_options
+this function can be used to set IPv6 nameservers.
+
+The structure
+.I ares_addr
+contains the following fields:
+.sp
+.in +4n
+.nf
+struct ares_addr {
+ int family;
+ union {
+ struct in_addr addr4;
+ struct in6_addr addr6;
+ } addr;
+};
+.fi
+.in
+
+.PP
+.SH RETURN VALUES
+.B ares_set_nameservers
+can return any of the following values:
+.TP 15
+.B ARES_SUCCESS
+The response was successfully parsed.
+.TP 15
+.B ARES_ENOMEM
+Memory was exhausted.
+.SH SEE ALSO
+.BR ares_init_options (3)
+.SH AUTHOR
+Written by Jakub Hrozek <jhrozek@redhat.com>,
+on behalf of Red Hat, Inc http://www.redhat.com
+
--
1.6.6

View File

@ -0,0 +1,41 @@
From 7dada62a77e061c752123e672e844386ff3b01ea Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgallagh@redhat.com>
Date: Wed, 10 Apr 2013 12:32:44 -0400
Subject: [PATCH] Use RPM compiler options
---
m4/cares-compilers.m4 | 19 ++++++-------------
1 file changed, 6 insertions(+), 13 deletions(-)
diff --git a/m4/cares-compilers.m4 b/m4/cares-compilers.m4
index 7ee8e0dbe741c1a64149a0d20b826f507b3ec620..d7708230fb5628ae80fbf1052da0d2c78ebbc160 100644
--- a/m4/cares-compilers.m4
+++ b/m4/cares-compilers.m4
@@ -143,19 +143,12 @@ AC_DEFUN([CARES_CHECK_COMPILER_GNU_C], [
gccvhi=`echo $gccver | cut -d . -f1`
gccvlo=`echo $gccver | cut -d . -f2`
compiler_num=`(expr $gccvhi "*" 100 + $gccvlo) 2>/dev/null`
- flags_dbg_all="-g -g0 -g1 -g2 -g3"
- flags_dbg_all="$flags_dbg_all -ggdb"
- flags_dbg_all="$flags_dbg_all -gstabs"
- flags_dbg_all="$flags_dbg_all -gstabs+"
- flags_dbg_all="$flags_dbg_all -gcoff"
- flags_dbg_all="$flags_dbg_all -gxcoff"
- flags_dbg_all="$flags_dbg_all -gdwarf-2"
- flags_dbg_all="$flags_dbg_all -gvms"
- flags_dbg_yes="-g"
- flags_dbg_off="-g0"
- flags_opt_all="-O -O0 -O1 -O2 -O3 -Os"
- flags_opt_yes="-O2"
- flags_opt_off="-O0"
+ flags_dbg_all=""
+ flags_dbg_yes=""
+ flags_dbg_off=""
+ flags_opt_all=""
+ flags_opt_yes=""
+ flags_opt_off=""
CURL_CHECK_DEF([_WIN32], [], [silent])
else
AC_MSG_RESULT([no])
--
1.8.1.4

View File

@ -1,21 +0,0 @@
# Makefile for source rpm: c-ares
# $Id$
NAME := c-ares
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

View File

@ -1,87 +0,0 @@
diff -up c-ares-1.7.0/configure.optflags c-ares-1.7.0/configure
--- c-ares-1.7.0/configure.optflags 2009-11-30 16:10:42.000000000 -0500
+++ c-ares-1.7.0/configure 2009-12-01 11:36:41.154374899 -0500
@@ -13988,7 +13988,7 @@ $as_echo "$as_me: WARNING: compiler opti
ac_var_stripped=""
for word1 in $tmp_CFLAGS; do
ac_var_strip_word="no"
- for word2 in $flags_dbg_all; do
+ for word2 in ""; do
if test "$word1" = "$word2"; then
ac_var_strip_word="yes"
fi
@@ -14004,7 +14004,7 @@ $as_echo "$as_me: WARNING: compiler opti
ac_var_stripped=""
for word1 in $tmp_CPPFLAGS; do
ac_var_strip_word="no"
- for word2 in $flags_dbg_all; do
+ for word2 in ""; do
if test "$word1" = "$word2"; then
ac_var_strip_word="yes"
fi
@@ -14020,12 +14020,12 @@ $as_echo "$as_me: WARNING: compiler opti
if test "$want_debug" = "yes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler accepts debug enabling options" >&5
$as_echo_n "checking if compiler accepts debug enabling options... " >&6; }
- tmp_options="$flags_dbg_yes"
+ tmp_options=""
fi
if test "$want_debug" = "no"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler accepts debug disabling options" >&5
$as_echo_n "checking if compiler accepts debug disabling options... " >&6; }
- tmp_options="$flags_dbg_off"
+ tmp_options=""
fi
#
CPPFLAGS="$tmp_CPPFLAGS"
@@ -14181,7 +14181,7 @@ $as_echo_n "checking if compiler optimiz
ac_var_match_word="no"
for word1 in $tmp_CFLAGS; do
- for word2 in $flags_opt_all; do
+ for word2 in ""; do
if test "$word1" = "$word2"; then
ac_var_match_word="yes"
fi
@@ -14199,7 +14199,7 @@ $as_echo_n "checking if compiler optimiz
ac_var_match_word="no"
for word1 in $tmp_CPPFLAGS; do
- for word2 in $flags_opt_all; do
+ for word2 in ""; do
if test "$word1" = "$word2"; then
ac_var_match_word="yes"
fi
@@ -14230,7 +14230,7 @@ $as_echo "$honor_optimize_option" >&6; }
ac_var_stripped=""
for word1 in $tmp_CFLAGS; do
ac_var_strip_word="no"
- for word2 in $flags_opt_all; do
+ for word2 in ""; do
if test "$word1" = "$word2"; then
ac_var_strip_word="yes"
fi
@@ -14246,7 +14246,7 @@ $as_echo "$honor_optimize_option" >&6; }
ac_var_stripped=""
for word1 in $tmp_CPPFLAGS; do
ac_var_strip_word="no"
- for word2 in $flags_opt_all; do
+ for word2 in ""; do
if test "$word1" = "$word2"; then
ac_var_strip_word="yes"
fi
@@ -14261,12 +14261,12 @@ $as_echo "$honor_optimize_option" >&6; }
if test "$want_optimize" = "yes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler accepts optimizer enabling options" >&5
$as_echo_n "checking if compiler accepts optimizer enabling options... " >&6; }
- tmp_options="$flags_opt_yes"
+ tmp_options=""
fi
if test "$want_optimize" = "no"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler accepts optimizer disabling options" >&5
$as_echo_n "checking if compiler accepts optimizer disabling options... " >&6; }
- tmp_options="$flags_opt_off"
+ tmp_options=""
fi
CPPFLAGS="$tmp_CPPFLAGS"
CFLAGS="$tmp_CFLAGS $tmp_options"

21
c-ares-config.cmake.in Normal file
View File

@ -0,0 +1,21 @@
@PACKAGE_INIT@
set_and_check(c-ares_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@")
include("${CMAKE_CURRENT_LIST_DIR}/c-ares-config-version.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/c-ares-targets.cmake")
set(c-ares_LIBRARY c-ares::cares)
if(@CARES_SHARED@)
add_library(c-ares::cares_shared INTERFACE IMPORTED)
set_target_properties(c-ares::cares_shared PROPERTIES INTERFACE_LINK_LIBRARIES "c-ares::cares")
set(c-ares_SHARED_LIBRARY c-ares::cares_shared)
elseif(@CARES_STATIC@)
add_library(c-ares::cares_static INTERFACE IMPORTED)
set_target_properties(c-ares::cares_static PROPERTIES INTERFACE_LINK_LIBRARIES "c-ares::cares")
endif()
if(@CARES_STATIC@)
set(c-ares_STATIC_LIBRARY c-ares::cares_static)
endif()

View File

@ -1,15 +1,24 @@
%global use_cmake 1
Summary: A library that performs asynchronous DNS operations
Name: c-ares
Version: 1.7.0
Release: 2%{?dist}
Version: 1.17.2
Release: 3%{?dist}
License: MIT
Group: System Environment/Libraries
URL: http://c-ares.haxx.se/
Source0: http://c-ares.haxx.se/c-ares-%{version}.tar.gz
Source0: http://c-ares.haxx.se/download/%{name}-%{version}.tar.gz
# The license can be obtained at http://c-ares.haxx.se/license.html
Source1: LICENSE
Patch0: %{name}-1.7.0-optflags.patch
Patch1: 0001-Allow-the-use-of-IPv6-nameservers.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch0: 0001-Use-RPM-compiler-options.patch
BuildRequires: gcc
%if %{use_cmake}
BuildRequires: cmake
%else
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
%endif
BuildRequires: make
%description
c-ares is a C library that performs DNS requests and name resolves
@ -18,54 +27,225 @@ by Greg Hudson at MIT.
%package devel
Summary: Development files for c-ares
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
This package contains the header files and static libraries needed to
This package contains the header files and libraries needed to
compile applications or shared objects that use c-ares.
%prep
%setup -q
%patch0 -p1 -b .optflags
%patch1 -p1 -b .ipv6
%autosetup -p1
cp %{SOURCE1} .
f=CHANGES ; iconv -f iso-8859-1 -t utf-8 $f -o $f.utf8 ; mv $f.utf8 $f
%build
# autoreconf -if
# %%configure --enable-shared --disable-static \
# --disable-dependency-tracking
%if %{use_cmake}
%{cmake} -DCMAKE_INSTALL_LIBDIR:PATH="%{_libdir}" -DCARES_BUILD_TOOLS:BOOL=OFF
%cmake_build
%else
autoreconf -if
%configure --enable-shared --disable-static \
--disable-dependency-tracking
%{__make} %{?_smp_mflags}
%endif
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
%if %{use_cmake}
%cmake_install
%else
%make_install
rm -f $RPM_BUILD_ROOT/%{_libdir}/libcares.la
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%ldconfig_scriptlets
%files
%defattr(-, root, root)
%doc README README.cares CHANGES NEWS LICENSE
%license LICENSE
%doc README.cares CHANGES NEWS
%{_libdir}/*.so.*
%files devel
%defattr(-, root, root, 0755)
%{_includedir}/ares.h
%{_includedir}/ares_build.h
%{_includedir}/ares_dns.h
%{_includedir}/ares_rules.h
%{_includedir}/ares_version.h
%{_libdir}/*.so
%if %{use_cmake}
%{_libdir}/cmake/c-ares/
%endif
%{_libdir}/pkgconfig/libcares.pc
%{_mandir}/man3/ares_*
%changelog
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Aug 16 2021 Tom Callaway <spot@fedoraproject.org> - 1.17.2-1
- update to 1.17.2
- fixes multiple security issues including CVE-2021-3672
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Nov 20 2020 Tom Callaway <spot@fedoraproject.org> - 1.17.1-1
- update to 1.17.1
* Tue Nov 17 2020 Tom Callaway <spot@fedoraproject.org> - 1.17.0-1
- update to 1.17.0
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.16.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 13 2020 Tom Stellard <tstellar@redhat.com> - 1.16.1-2
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Mon May 11 2020 Tom Callaway <spot@fedoraproject.org> - 1.16.1-1
- update to 1.16.1
* Fri Mar 13 2020 Tom Callaway <spot@fedoraproject.org> - 1.16.0-1
- update to 1.16.0
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.15.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.15.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Mar 12 2019 Tom Callaway <spot@fedoraproject.org> - 1.15.0-3
- use cmake to build so we get cmake helpers (bz1687844)
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.15.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Nov 13 2018 Jakub Hrozek <jhrozek@redhat.com> - 1.16.0-1
- Update to the latest upstream
* Mon Sep 3 2018 Jakub Hrozek <jhrozek@redhat.com> - 1.14.0-1
- Update to the latest upstream
- Resolves: rhbz#1624499 - RFE: New c-ares release 1.14.0 available
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Tue Jun 20 2017 Jakub Hrozek <jhrozek@redhat.com> - 1.13.0-1
- update to 1.13.0
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Sep 29 2016 Tom Callaway <spot@fedoraproject.org> - 1.12.0-1
- update to 1.12.0
* Fri Feb 19 2016 Jakub Hrozek <jhrozek@redhat.com> - 1.11.0
- New upstream version 1.11.0
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.10.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.10.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Mon May 13 2013 Jakub Hrozek <jhrozek@redhat.com> - 1.10.1-1
- New upstream release 1.10
- Obsolete upstreamed patches
- Amend the multilib patch, there's no need to patch configure since we
are running autoreconf anyways
- https://raw.github.com/bagder/c-ares/cares-1_10_0/RELEASE-NOTES
* Thu Apr 11 2013 Jakub Hrozek <jhrozek@redhat.com> - 1.9.1-6
- Apply an upstream patch to override AC_CONFIG_MACRO_DIR only conditionally
* Thu Apr 11 2013 Jakub Hrozek <jhrozek@redhat.com> - 1.9.1-5
- Apply a patch by Stephen Gallagher to patch autoconf, not configure to
allow optflags to be passed in by build environment
- Run autoreconf before configure
- git rm obsolete patches
- Apply upstream patch to stop overriding AC_CONFIG_MACRO_DIR
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.9.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Aug 8 2012 Jakub Hrozek <jhrozek@redhat.com> - 1.9.1-3
- Include URL to the license text
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.9.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Mon Jun 25 2012 Tom Callaway <spot@fedoraproject.org> - 1.9.1-1
- update to 1.9.1
* Sat Apr 28 2012 Tom Callaway <spot@fedoraproject.org> - 1.8.0-1
- update to 1.8.0
- fix multilib patch (thanks to Paul Howarth)
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Wed Aug 17 2011 Jakub Hrozek <jhrozek@redhat.com> - 1.7.5-1
- New upstream release 1.7.5
- Obsoletes patch #2
- Rebase patch #1 (optflags) to match the 1.7.5 code
- Fixed Source0 URL to point at the upstream tarball
* Mon Apr 11 2011 Jakub Hrozek <jhrozek@redhat.com> - 1.7.4-3
- Apply upstream patch to fix rhbz#695424
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Fri Dec 10 2010 Tom "spot" Callaway <tcallawa@redhat.com> - 1.7.4-1
- update to 1.7.4
* Wed Aug 25 2010 Jakub Hrozek <jhrozek@redhat.com> - 1.7.3-3
- Actually apply the patches
* Wed Aug 25 2010 Jakub Hrozek <jhrozek@redhat.com> - 1.7.3-2
- apply couple of patches from upstream
* Tue Jun 15 2010 Jakub Hrozek <jhrozek@redhat.com> - 1.7.3-1
- Upgrade to new upstream release 1.7.3 (obsoletes search/domain patch)
- Fix conflict of -devel packages on multilib architectures (#602880)
* Thu Jun 3 2010 Jakub Hrozek <jhrozek@redhat.com> - 1.7.1-2
- Use last instance of search/domain, not the first one (#597286)
* Tue Mar 23 2010 Jakub Hrozek <jhrozek@redhat.com> - 1.7.1-1
- update to 1.7.1 which contains the IPv6 nameserver patch
* Sun Mar 7 2010 Jakub Hrozek <jhrozek@redhat.com> - 1.7.0-3
- Change IPv6 nameserver patch according to upstream changes
(upstream revisions 1199,1201,1202)
* Wed Mar 3 2010 Jakub Hrozek <jhrozek@redhat.com> - 1.7.0-2
- Add a patch to allow usage of IPv6 nameservers

20
libcares.pc.cmake Normal file
View File

@ -0,0 +1,20 @@
#***************************************************************************
# Project ___ __ _ _ __ ___ ___
# / __|____ / _` | '__/ _ \/ __|
# | (_|_____| (_| | | | __/\__ \
# \___| \__,_|_| \___||___/
#
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}/@CMAKE_INSTALL_BINDIR@
libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
Name: c-ares
URL: https://c-ares.haxx.se/
Description: asynchronous DNS lookup library
Version: @CARES_VERSION@
Requires:
Requires.private:
Cflags: -I${includedir} @CPPFLAG_CARES_STATICLIB@
Libs: -L${libdir} -lcares
Libs.private: @CARES_PRIVATE_LIBS@

View File

@ -1 +1 @@
15ab7852306b554b0b1145f41005a3bb c-ares-1.7.0.tar.gz
SHA512 (c-ares-1.17.2.tar.gz) = f625e0ef8508af6475d3e83b51ab29be8a4878e2a87e7f518bea046b76a74bfde7043ca6ec2a9e714c898ab9e5d4a5a678c3347a9f9eb68980438f7ca8ae3fc8