[arch-commits] Commit in gnupg/trunk (4 files)

Gaëtan Bisson bisson at archlinux.org
Thu Jan 19 09:17:44 UTC 2017


    Date: Thursday, January 19, 2017 @ 09:17:44
  Author: bisson
Revision: 286967

switch to gnupg's own libdns, add fix for unhandled negation

Added:
  gnupg/trunk/negation.patch
  gnupg/trunk/suffix.patch
Modified:
  gnupg/trunk/PKGBUILD
Deleted:
  gnupg/trunk/libdns.patch

----------------+
 PKGBUILD       |   12 +++++---
 libdns.patch   |   74 -------------------------------------------------------
 negation.patch |   29 +++++++++++++++++++++
 suffix.patch   |   46 ++++++++++++++++++++++++++++++++++
 4 files changed, 82 insertions(+), 79 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-01-19 09:15:58 UTC (rev 286966)
+++ PKGBUILD	2017-01-19 09:17:44 UTC (rev 286967)
@@ -6,7 +6,7 @@
 
 pkgname=gnupg
 pkgver=2.1.17
-pkgrel=3
+pkgrel=4
 pkgdesc='Complete and free implementation of the OpenPGP standard'
 url='http://www.gnupg.org/'
 license=('GPL')
@@ -21,9 +21,11 @@
               '031EC2536E580D8EA286A9F22071B08A33BD3F06'
               'D238EA65D64C67ED4C3073F28A861B1C7EFD60D9')
 source=("https://gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig}
-        'libdns.patch')
+        'negation.patch'
+        'suffix.patch')
 sha1sums=('d83ab893faab35f37ace772ca29b939e6a5aa6a7' 'SKIP'
-          '4217441481d2f89783d39f50eeda7d6984a01e6d')
+          '0ad1a4cb440f84427f19c7016070d04b2faeae89'
+          '477569b1bb0bb9b1d839970bd143f3cbaa47b376')
 
 install=install
 
@@ -34,7 +36,8 @@
 prepare() {
 	cd "${srcdir}/${pkgname}-${pkgver}"
 	sed '/noinst_SCRIPTS = gpg-zip/c sbin_SCRIPTS += gpg-zip' -i tools/Makefile.in
-	patch -p1 -i ../libdns.patch
+	patch -p1 -i ../negation.patch
+	patch -p1 -i ../suffix.patch
 }
 
 build() {
@@ -46,7 +49,6 @@
 		--libexecdir=/usr/lib/gnupg \
 		--enable-maintainer-mode \
 		--enable-symcryptrun \
-		--disable-libdns # FS#52234
 
 	make
 }

Deleted: libdns.patch
===================================================================
--- libdns.patch	2017-01-19 09:15:58 UTC (rev 286966)
+++ libdns.patch	2017-01-19 09:17:44 UTC (rev 286967)
@@ -1,74 +0,0 @@
-From: NIIBE Yutaka <gniibe at fsij.org>
-Date: Fri, 23 Dec 2016 07:05:01 +0000 (+0900)
-Subject: dirmngr: Fix for --disable-libdns usage.
-X-Git-Url: http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commitdiff_plain;h=d26c51825e2255fe58305cbc1cd74fa43f80d93e
-
-dirmngr: Fix for --disable-libdns usage.
-
-* dirmngr/dns-stuff.c (enable_recursive_resolver, set_dns_nameserver)
-(reload_dns_stuff): Conditionalize with USE_LIBDNS.
-(get_h_errno_as_gpg_error): Map HOST_NOT_FOUND to GPG_ERR_NO_NAME.
-
---
-
-get_dns_srv assumes error code of GPG_ERR_NO_NAME when no SRV record
-available.
-
-Signed-off-by: NIIBE Yutaka <gniibe at fsij.org>
-GnuPG-bug-id: 2889
----
-
-diff --git a/dirmngr/dns-stuff.c b/dirmngr/dns-stuff.c
-index 491fcce..a31b073 100644
---- a/dirmngr/dns-stuff.c
-+++ b/dirmngr/dns-stuff.c
-@@ -181,7 +181,9 @@ void
- enable_recursive_resolver (int yes)
- {
-   recursive_resolver = yes;
-+#ifdef USE_LIBDNS
-   libdns_reinit_pending = 1;
-+#endif
- }
- 
- 
-@@ -251,8 +253,10 @@ set_dns_nameserver (const char *ipaddr)
-   strncpy (tor_nameserver, ipaddr? ipaddr : DEFAULT_NAMESERVER,
-            sizeof tor_nameserver -1);
-   tor_nameserver[sizeof tor_nameserver -1] = 0;
-+#ifdef USE_LIBDNS
-   libdns_reinit_pending = 1;
-   libdns_tor_port = 0;  /* Start again with the default port.  */
-+#endif
- }
- 
- 
-@@ -278,7 +282,7 @@ get_h_errno_as_gpg_error (void)
- 
-   switch (h_errno)
-     {
--    case HOST_NOT_FOUND: ec = GPG_ERR_UNKNOWN_HOST; break;
-+    case HOST_NOT_FOUND: ec = GPG_ERR_NO_NAME; break;
-     case TRY_AGAIN:      ec = GPG_ERR_TRY_LATER; break;
-     case NO_RECOVERY:    ec = GPG_ERR_SERVER_FAILED; break;
-     case NO_DATA:        ec = GPG_ERR_NO_DATA; break;
-@@ -534,15 +538,17 @@ libdns_deinit (void)
- void
- reload_dns_stuff (int force)
- {
-+#ifdef USE_LIBDNS
-   if (force)
-     {
--#ifdef USE_LIBDNS
-       libdns_deinit ();
--#endif
-       libdns_reinit_pending = 0;
-     }
-   else
-     libdns_reinit_pending = 1;
-+#else
-+  (void)force;
-+#endif
- }
- 
- 

Added: negation.patch
===================================================================
--- negation.patch	                        (rev 0)
+++ negation.patch	2017-01-19 09:17:44 UTC (rev 286967)
@@ -0,0 +1,29 @@
+diff -Naur old/dirmngr/dns.c new/dirmngr/dns.c
+--- old/dirmngr/dns.c	2016-12-20 00:19:05.000000000 -1000
++++ new/dirmngr/dns.c	2017-01-18 23:02:50.209471082 -1000
+@@ -6028,7 +6028,7 @@
+ 	char lookup[sizeof resconf->lookup] = "", *lp;
+ 	struct dns_anyconf cf;
+ 	size_t i;
+-	int error;
++	int error, ret;
+ 
+ 	while (!feof(fp) && !ferror(fp)) {
+ 		dns_anyconf_reset(&cf);
+@@ -6054,7 +6054,15 @@
+ 			if ('[' == dns_anyconf_peek(fp)) {
+ 				dns_anyconf_skip("[ \t", fp);
+ 
+-				while (dns_anyconf_scan(&cf, "%w_", fp, &error)) {
++				for (;;) {
++					if ('!' == dns_anyconf_peek(fp)) {
++						dns_anyconf_skip("! \t", fp);
++						/* FIXME: negating statuses; currently not implemented */
++						dns_anyconf_skip("^#;]\n", fp); /* skip to end of criteria */
++						break;
++					}
++
++					if (!dns_anyconf_scan(&cf, "%w_", fp, &error)) break;
+ 					dns_anyconf_skip("= \t", fp);
+ 					if (!dns_anyconf_scan(&cf, "%w_", fp, &error)) {
+ 						dns_anyconf_pop(&cf); /* discard status */

Added: suffix.patch
===================================================================
--- suffix.patch	                        (rev 0)
+++ suffix.patch	2017-01-19 09:17:44 UTC (rev 286967)
@@ -0,0 +1,46 @@
+From b200e636ab20d2aa93d9f71f3789db5a04af0a56 Mon Sep 17 00:00:00 2001
+From: Werner Koch <wk at gnupg.org>
+Date: Mon, 2 Jan 2017 10:00:33 +0100
+Subject: [PATCH] dirmngr: Strip root zone suffix from libdns cname results.
+
+* dirmngr/dns-stuff.c (resolve_name_libdns): Strip trailing dot.
+(get_dns_cname_libdns): Ditto.
+--
+
+Signed-off-by: Werner Koch <wk at gnupg.org>
+---
+ dirmngr/dns-stuff.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/dirmngr/dns-stuff.c b/dirmngr/dns-stuff.c
+index a31b073..f2e1df9 100644
+--- a/dirmngr/dns-stuff.c
++++ b/dirmngr/dns-stuff.c
+@@ -732,6 +732,10 @@ resolve_name_libdns (const char *name, unsigned short port,
+               err = gpg_error_from_syserror ();
+               goto leave;
+             }
++          /* Libdns appends the root zone part which is problematic
++           * for most other functions - strip it.  */
++          if (**r_canonname && (*r_canonname)[strlen (*r_canonname)-1] == '.')
++            (*r_canonname)[strlen (*r_canonname)-1] = 0;
+         }
+ 
+       dai = xtrymalloc (sizeof *dai + ent->ai_addrlen -1);
+@@ -1899,6 +1903,13 @@ get_dns_cname_libdns (const char *name, char **r_cname)
+   *r_cname = xtrystrdup (cname.host);
+   if (!*r_cname)
+     err = gpg_error_from_syserror ();
++  else
++    {
++      /* Libdns appends the root zone part which is problematic
++       * for most other functions - strip it.  */
++      if (**r_cname && (*r_cname)[strlen (*r_cname)-1] == '.')
++        (*r_cname)[strlen (*r_cname)-1] = 0;
++    }
+ 
+  leave:
+   dns_free (ans);
+-- 
+2.8.0.rc3
+



More information about the arch-commits mailing list