aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2016-12-23 07:05:01 +0000
committerNIIBE Yutaka <[email protected]>2016-12-23 07:05:01 +0000
commitd26c51825e2255fe58305cbc1cd74fa43f80d93e (patch)
tree9b4713564b2a996958a71522147f47a1aeb3c9d8
parenttools: Show a clearer error message if a server doesn't support WKS (diff)
downloadgnupg-d26c51825e2255fe58305cbc1cd74fa43f80d93e.tar.gz
gnupg-d26c51825e2255fe58305cbc1cd74fa43f80d93e.zip
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 <[email protected]> GnuPG-bug-id: 2889
-rw-r--r--dirmngr/dns-stuff.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/dirmngr/dns-stuff.c b/dirmngr/dns-stuff.c
index 491fccefd..a31b0731c 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
}