chiark / gitweb /
dirmngr: Fix for --disable-libdns usage.
authorNIIBE Yutaka <gniibe@fsij.org>
Fri, 23 Dec 2016 07:05:01 +0000 (16:05 +0900)
committerDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Tue, 3 Jan 2017 20:39:52 +0000 (20:39 +0000)
* 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@fsij.org>
GnuPG-bug-id: 2889
(cherry picked from commit d26c51825e2255fe58305cbc1cd74fa43f80d93e)

Gbp-Pq: Name 0013-dirmngr-Fix-for-disable-libdns-usage.patch

dirmngr/dns-stuff.c

index 491fccefda17178bfde1162a2dfee37f86389049..a31b0731c930ffa80a626481a705fd096f4f7648 100644 (file)
@@ -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
 }