chiark / gitweb /
Import gnupg2_2.1.17-3.debian.tar.bz2
[gnupg2.git] / patches / 0013-dirmngr-Fix-for-disable-libdns-usage.patch
1 From: NIIBE Yutaka <gniibe@fsij.org>
2 Date: Fri, 23 Dec 2016 16:05:01 +0900
3 Subject: dirmngr: Fix for --disable-libdns usage.
4
5 * dirmngr/dns-stuff.c (enable_recursive_resolver, set_dns_nameserver)
6 (reload_dns_stuff): Conditionalize with USE_LIBDNS.
7 (get_h_errno_as_gpg_error): Map HOST_NOT_FOUND to GPG_ERR_NO_NAME.
8
9 --
10
11 get_dns_srv assumes error code of GPG_ERR_NO_NAME when no SRV record
12 available.
13
14 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
15 GnuPG-bug-id: 2889
16 (cherry picked from commit d26c51825e2255fe58305cbc1cd74fa43f80d93e)
17 ---
18  dirmngr/dns-stuff.c | 12 +++++++++---
19  1 file changed, 9 insertions(+), 3 deletions(-)
20
21 diff --git a/dirmngr/dns-stuff.c b/dirmngr/dns-stuff.c
22 index 491fccefd..a31b0731c 100644
23 --- a/dirmngr/dns-stuff.c
24 +++ b/dirmngr/dns-stuff.c
25 @@ -181,7 +181,9 @@ void
26  enable_recursive_resolver (int yes)
27  {
28    recursive_resolver = yes;
29 +#ifdef USE_LIBDNS
30    libdns_reinit_pending = 1;
31 +#endif
32  }
33  
34  
35 @@ -251,8 +253,10 @@ set_dns_nameserver (const char *ipaddr)
36    strncpy (tor_nameserver, ipaddr? ipaddr : DEFAULT_NAMESERVER,
37             sizeof tor_nameserver -1);
38    tor_nameserver[sizeof tor_nameserver -1] = 0;
39 +#ifdef USE_LIBDNS
40    libdns_reinit_pending = 1;
41    libdns_tor_port = 0;  /* Start again with the default port.  */
42 +#endif
43  }
44  
45  
46 @@ -278,7 +282,7 @@ get_h_errno_as_gpg_error (void)
47  
48    switch (h_errno)
49      {
50 -    case HOST_NOT_FOUND: ec = GPG_ERR_UNKNOWN_HOST; break;
51 +    case HOST_NOT_FOUND: ec = GPG_ERR_NO_NAME; break;
52      case TRY_AGAIN:      ec = GPG_ERR_TRY_LATER; break;
53      case NO_RECOVERY:    ec = GPG_ERR_SERVER_FAILED; break;
54      case NO_DATA:        ec = GPG_ERR_NO_DATA; break;
55 @@ -534,15 +538,17 @@ libdns_deinit (void)
56  void
57  reload_dns_stuff (int force)
58  {
59 +#ifdef USE_LIBDNS
60    if (force)
61      {
62 -#ifdef USE_LIBDNS
63        libdns_deinit ();
64 -#endif
65        libdns_reinit_pending = 0;
66      }
67    else
68      libdns_reinit_pending = 1;
69 +#else
70 +  (void)force;
71 +#endif
72  }
73  
74