aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2017-01-08 17:00:38 +0000
committerWerner Koch <[email protected]>2017-01-08 17:00:38 +0000
commit9fa94aa10778bbd680315e93b23175423e338c40 (patch)
tree7e3c1b9bd7bc979271ae9a1d273c82eb9042d54c
parentagent,w32: Fix annoying output to DebugView. (diff)
downloadgnupg-9fa94aa10778bbd680315e93b23175423e338c40.tar.gz
gnupg-9fa94aa10778bbd680315e93b23175423e338c40.zip
dirmngr: Strip root zone suffix from libdns SRV results.
* dirmngr/dns-stuff.c (getsrv_libdns): Strip trailing dot from the target. -- See-also: b200e636ab20d2aa93d9f71f3789db5a04af0a56 Signed-off-by: Werner Koch <[email protected]>
-rw-r--r--dirmngr/dns-stuff.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/dirmngr/dns-stuff.c b/dirmngr/dns-stuff.c
index e32e1e3e1..028b065ab 100644
--- a/dirmngr/dns-stuff.c
+++ b/dirmngr/dns-stuff.c
@@ -1591,6 +1591,10 @@ getsrv_libdns (const char *name, struct srventry **list, unsigned int *r_count)
srv->weight = dsrv.weight;
srv->port = dsrv.port;
mem2str (srv->target, dsrv.target, sizeof srv->target);
+ /* Libdns appends the root zone part which is problematic for
+ * most other functions - strip it. */
+ if (*srv->target && (srv->target)[strlen (srv->target)-1] == '.')
+ (srv->target)[strlen (srv->target)-1] = 0;
}
*r_count = srvcount;