aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2015-11-16 17:18:25 +0000
committerJustus Winter <[email protected]>2015-11-17 15:09:45 +0000
commit1e3dbb15affd6d75a477aa17715d8e5470988c08 (patch)
tree00cacd26bf74a9bcc51a1e414cf5885da04b2e71
parentgpg: Change keydb_search to not return legacy keys. (diff)
downloadgnupg-1e3dbb15affd6d75a477aa17715d8e5470988c08.tar.gz
gnupg-1e3dbb15affd6d75a477aa17715d8e5470988c08.zip
dirmngr: Fix specifying keyservers by IP address.
* dirmngr/ks-engine-hkp.c (map_host): Update the original 'hosttable' entry instead of creating another one. -- Previously, if a keyserver was given using its IP address (e.g. 'hkp://127.0.0.1'), 'map_host' would create two entries in the 'hosttable', one with the name '127.0.0.1', and the second one with the name 'localhost' and 'v4addr' being set to '127.0.0.1'. But the first entry is the one being used for lookups, and since the 'v4' flag is not set, the 'HTTP_FLAG_IGNORE_IPv4' is used when doing the http request, making it fail. Signed-off-by: Justus Winter <[email protected]> GnuPG-bug-id: 2012
-rw-r--r--dirmngr/ks-engine-hkp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/dirmngr/ks-engine-hkp.c b/dirmngr/ks-engine-hkp.c
index c856d6c95..7bb4ffe39 100644
--- a/dirmngr/ks-engine-hkp.c
+++ b/dirmngr/ks-engine-hkp.c
@@ -378,7 +378,11 @@ map_host (ctrl_t ctrl, const char *name, int force_reselect,
}
else
{
- tmpidx = find_hostinfo (tmphost);
+ if (!is_pool && is_ip_address (name))
+ /* Update the original entry. */
+ tmpidx = idx;
+ else
+ tmpidx = find_hostinfo (tmphost);
log_info ("resolve_dns_addr for '%s': '%s'%s\n",
name, tmphost,
tmpidx == -1? "" : " [already known]");