[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