diff options
author | Werner Koch <[email protected]> | 2020-09-10 08:19:44 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2020-09-10 09:04:46 +0000 |
commit | 72e04b03b1a7aee5521156c6d549ca10a81ac529 (patch) | |
tree | 216816d1de140b02fc2218a36ad1ac23bce2c9b4 | |
parent | dirmngr: Align the gnutls use of CAs with the ntbtls code. (diff) | |
download | gnupg-72e04b03b1a7aee5521156c6d549ca10a81ac529.tar.gz gnupg-72e04b03b1a7aee5521156c6d549ca10a81ac529.zip |
dirmngr: Fix the pool keyserver case for a single host in the pool.
* dirmngr/ks-engine-hkp.c (map_host): Set R_HOSTNAME also for
localhost and if there is no pool.
-rw-r--r-- | dirmngr/ks-engine-hkp.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/dirmngr/ks-engine-hkp.c b/dirmngr/ks-engine-hkp.c index fef752cd3..14859c7e7 100644 --- a/dirmngr/ks-engine-hkp.c +++ b/dirmngr/ks-engine-hkp.c @@ -476,7 +476,20 @@ map_host (ctrl_t ctrl, const char *name, const char *srvtag, int force_reselect, if (!name || !*name) { *r_host = xtrystrdup ("localhost"); - return *r_host? 0 : gpg_error_from_syserror (); + if (!*r_host) + return gpg_error_from_syserror (); + if (r_httphost) + { + *r_httphost = xtrystrdup (*r_host); + if (!*r_httphost) + { + err = gpg_error_from_syserror (); + xfree (*r_host); + *r_host = NULL; + return err; + } + } + return 0; } /* See whether the host is in our table. */ @@ -648,6 +661,12 @@ map_host (ctrl_t ctrl, const char *name, const char *srvtag, int force_reselect, } free_dns_addrinfo (aibuf); } + else if (r_httphost) + { + *r_httphost = xtrystrdup (hi->name); + if (!*r_httphost) + return gpg_error_from_syserror (); + } if (hi->dead) { |