diff options
author | NIIBE Yutaka <[email protected]> | 2016-12-23 07:05:01 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2016-12-23 07:05:01 +0000 |
commit | d26c51825e2255fe58305cbc1cd74fa43f80d93e (patch) | |
tree | 9b4713564b2a996958a71522147f47a1aeb3c9d8 | |
parent | tools: Show a clearer error message if a server doesn't support WKS (diff) | |
download | gnupg-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.c | 12 |
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 } |