From 167e224183a18ca1263c2c8c59896f09cbc54d466d72dec2e291b70127704d3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Chv=C3=A1tal?= Date: Wed, 13 Feb 2019 16:25:34 +0000 Subject: [PATCH] Accepting request 674652 from home:adamm:branches:devel:libraries:c_c++ - Version update to 1.15.0: * Add ares_init_options() configurability for path to resolv.conf file * Ability to exclude building of tools (adig, ahost, acountry) in CMake * Report ARES_ENOTFOUND for .onion domain names as per RFC7686 (bsc#1125306) * Apply the IPv6 server blacklist to all nameserver sources * Prevent changing name servers while queries are outstanding * ares_set_servers_csv() on failure should not leave channel in a bad state - enable unit tests - disable-live-tests.patch: disable tests to live servers - onion-crash.patch: backport fix for a crash affecting .onion TLD OBS-URL: https://build.opensuse.org/request/show/674652 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/c-ares?expand=0&rev=7 --- c-ares-1.14.0.tar.gz | 3 --- c-ares-1.14.0.tar.gz.asc | 11 -------- c-ares-1.15.0.tar.gz | 3 +++ c-ares-1.15.0.tar.gz.asc | 11 ++++++++ c-ares.changes | 16 ++++++++++++ c-ares.spec | 17 +++++++++--- disable-live-tests.patch | 56 ++++++++++++++++++++++++++++++++++++++++ onion-crash.patch | 35 +++++++++++++++++++++++++ 8 files changed, 134 insertions(+), 18 deletions(-) delete mode 100644 c-ares-1.14.0.tar.gz delete mode 100644 c-ares-1.14.0.tar.gz.asc create mode 100644 c-ares-1.15.0.tar.gz create mode 100644 c-ares-1.15.0.tar.gz.asc create mode 100644 disable-live-tests.patch create mode 100644 onion-crash.patch diff --git a/c-ares-1.14.0.tar.gz b/c-ares-1.14.0.tar.gz deleted file mode 100644 index d747b37..0000000 --- a/c-ares-1.14.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:45d3c1fd29263ceec2afc8ff9cd06d5f8f889636eb4e80ce3cc7f0eaf7aadc6e -size 1335940 diff --git a/c-ares-1.14.0.tar.gz.asc b/c-ares-1.14.0.tar.gz.asc deleted file mode 100644 index 5d38d0d..0000000 --- a/c-ares-1.14.0.tar.gz.asc +++ /dev/null @@ -1,11 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQEzBAABCgAdFiEEJ+3q8i86vOtQ25oSXMkI/bceEsIFAlqG4cUACgkQXMkI/bce -EsIVeAf8DtXRBCo9EJqxwGb9ZLUFoh3shfnOEaOIwRLjBpjwo7/bmP/1UbeL/RSZ -osbTj6Nh2LmDlAlJSDrHafhaTOfG3tfvP+l6fdnsqy2f85+VLmXv9qaavrtv8eB8 -kFUuk2Bb3cY23zwQbb9nzn6HXn0pMk3ZzMXA6mEzmRp5b4Y9GA6RBjD7JkI0qa/I -HRP1gTc56Zbciu/9splCoV9L6WCUtU3As4RbvEJrn4CzcEizDMEe0CRRUWROp8U8 -/bWjeI5hJ47yaXW3T9EWh2uwG/UqLI+UGiqnAyIikaG+b7ojZwlt4WFGpsxGb4sa -OWoWZRmtteV6ieoKO/usdTyAiRS7hw== -=xEcd ------END PGP SIGNATURE----- diff --git a/c-ares-1.15.0.tar.gz b/c-ares-1.15.0.tar.gz new file mode 100644 index 0000000..6686f25 --- /dev/null +++ b/c-ares-1.15.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cdb97871f2930530c97deb7cf5c8fa4be5a0b02c7cea6e7c7667672a39d6852 +size 1347687 diff --git a/c-ares-1.15.0.tar.gz.asc b/c-ares-1.15.0.tar.gz.asc new file mode 100644 index 0000000..b2b59fd --- /dev/null +++ b/c-ares-1.15.0.tar.gz.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- + +iQEzBAABCgAdFiEEJ+3q8i86vOtQ25oSXMkI/bceEsIFAlvPiSoACgkQXMkI/bce +EsL1Twf/fAocxkO1QNQ0OQcX1Ga/LD37Z0S9gMNoOcW9ptB0G2A1T4IW4aN2gnko +tofSzeJ5kZZQ3Dk11MiWWxkowZn2+hE+/H13JRUgkJ9W0HS9wqxiTZksS2xORjvx +2KMeBLTcd2ordcnTP1Ufb8rzH9++3G+rgeAP7tqVnYx9y55u5onoAgwLwuw+ypOJ +ua0gjxysxCvg9li+c2ZvuOrFIv3sS7VBSsRJhoJwSVslCGGiDOQpH/AMq4Er7jBL +cTqVYUy3d7leaeRuGJaQb3q/CG8o+iE9CQBmituTYauP7fXQrjPdVKq7IQyqTboi +1M24ymm+IBgICBxVzXfx+PuotbwXIg== +=XhwX +-----END PGP SIGNATURE----- diff --git a/c-ares.changes b/c-ares.changes index bf9027d..444b82d 100644 --- a/c-ares.changes +++ b/c-ares.changes @@ -1,3 +1,19 @@ +------------------------------------------------------------------- +Wed Feb 13 15:44:18 UTC 2019 - adam.majer@suse.de + +- Version update to 1.15.0: + * Add ares_init_options() configurability for path to resolv.conf file + * Ability to exclude building of tools (adig, ahost, acountry) in CMake + * Report ARES_ENOTFOUND for .onion domain names as per RFC7686 + (bsc#1125306) + * Apply the IPv6 server blacklist to all nameserver sources + * Prevent changing name servers while queries are outstanding + * ares_set_servers_csv() on failure should not leave channel in a + bad state +- enable unit tests +- disable-live-tests.patch: disable tests to live servers +- onion-crash.patch: backport fix for a crash affecting .onion TLD + ------------------------------------------------------------------- Tue Feb 20 13:34:46 UTC 2018 - jengelh@inai.de diff --git a/c-ares.spec b/c-ares.spec index f77e859..1764eed 100644 --- a/c-ares.spec +++ b/c-ares.spec @@ -1,7 +1,7 @@ # # spec file for package c-ares # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,13 +12,13 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define libname libcares2 Name: c-ares -Version: 1.14.0 +Version: 1.15.0 Release: 0 Summary: Library for asynchronous name resolves License: MIT @@ -29,6 +29,8 @@ Source1: http://c-ares.haxx.se/download/%{name}-%{version}.tar.gz.asc Source3: %{name}.keyring Source4: baselibs.conf Patch0: 0001-Use-RPM-compiler-options.patch +Patch1: disable-live-tests.patch +Patch2: onion-crash.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc-c++ @@ -65,6 +67,8 @@ by Greg Hudson at MIT. %prep %setup -q %patch0 -p1 +%patch1 -p1 +%patch2 -p1 # Remove bogus cflags checking sed -i -e '/XC_CHECK_BUILD_FLAGS/d' configure.ac @@ -77,9 +81,14 @@ autoreconf -fiv --enable-symbol-hiding \ --enable-nonblocking \ --enable-shared \ - --disable-static + --disable-static \ + --enable-tests make %{?_smp_mflags} +%check +make -C test %{?_smp_mflags} +./test/arestest + %install %make_install find %{buildroot} -type f -name "*.la" -delete -print diff --git a/disable-live-tests.patch b/disable-live-tests.patch new file mode 100644 index 0000000..65857c3 --- /dev/null +++ b/disable-live-tests.patch @@ -0,0 +1,56 @@ +Index: c-ares-1.15.0/test/Makefile.inc +=================================================================== +--- c-ares-1.15.0.orig/test/Makefile.inc ++++ c-ares-1.15.0/test/Makefile.inc +@@ -13,7 +13,6 @@ TESTSOURCES = ares-test-main.cc \ + ares-test-parse-srv.cc \ + ares-test-parse-txt.cc \ + ares-test-misc.cc \ +- ares-test-live.cc \ + ares-test-mock.cc \ + ares-test-internal.cc \ + dns-proto.cc \ +Index: c-ares-1.15.0/test/ares-test-misc.cc +=================================================================== +--- c-ares-1.15.0.orig/test/ares-test-misc.cc ++++ c-ares-1.15.0/test/ares-test-misc.cc +@@ -47,10 +47,12 @@ TEST_F(DefaultChannelTest, SetServers) { + EXPECT_EQ(expected, GetNameServers(channel_)); + + // Change not allowed while request is pending ++ /* + HostResult result; + ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result); + EXPECT_EQ(ARES_ENOTIMP, ares_set_servers(channel_, &server1)); + ares_cancel(channel_); ++ */ + } + + TEST_F(DefaultChannelTest, SetServersPorts) { +@@ -77,10 +79,12 @@ TEST_F(DefaultChannelTest, SetServersPor + EXPECT_EQ(expected, GetNameServers(channel_)); + + // Change not allowed while request is pending ++ /* + HostResult result; + ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result); + EXPECT_EQ(ARES_ENOTIMP, ares_set_servers_ports(channel_, &server1)); + ares_cancel(channel_); ++ */ + } + + TEST_F(DefaultChannelTest, SetServersCSV) { +@@ -109,11 +113,13 @@ TEST_F(DefaultChannelTest, SetServersCSV + EXPECT_EQ(expected2, GetNameServers(channel_)); + + // Change not allowed while request is pending ++ /* + HostResult result; + ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result); + EXPECT_EQ(ARES_ENOTIMP, ares_set_servers_csv(channel_, "1.2.3.4,2.3.4.5")); + EXPECT_EQ(ARES_ENOTIMP, ares_set_servers_ports_csv(channel_, "1.2.3.4:56,2.3.4.5:67")); + ares_cancel(channel_); ++ */ + + // Should survive duplication + ares_channel channel2; diff --git a/onion-crash.patch b/onion-crash.patch new file mode 100644 index 0000000..86dd983 --- /dev/null +++ b/onion-crash.patch @@ -0,0 +1,35 @@ +https://github.com/c-ares/c-ares/pull/241 + +From 98297b969880855c4ed514935bf5bb4cf2ae1ec0 Mon Sep 17 00:00:00 2001 +From: XadillaX +Date: Thu, 31 Jan 2019 13:14:06 +0800 +Subject: [PATCH] fix: init bufp before reject .onion to make it can be free + correctly + +--- + ares_create_query.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/ares_create_query.c b/ares_create_query.c +index 1606b1a1..9efce17c 100644 +--- a/ares_create_query.c ++++ b/ares_create_query.c +@@ -94,14 +94,14 @@ int ares_create_query(const char *name, int dnsclass, int type, + size_t buflen; + unsigned char *buf; + +- /* Per RFC 7686, reject queries for ".onion" domain names with NXDOMAIN. */ +- if (ares__is_onion_domain(name)) +- return ARES_ENOTFOUND; +- + /* Set our results early, in case we bail out early with an error. */ + *buflenp = 0; + *bufp = NULL; + ++ /* Per RFC 7686, reject queries for ".onion" domain names with NXDOMAIN. */ ++ if (ares__is_onion_domain(name)) ++ return ARES_ENOTFOUND; ++ + /* Allocate a memory area for the maximum size this packet might need. +2 + * is for the length byte and zero termination if no dots or ecscaping is + * used.