aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr/http.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2017-01-08 17:04:59 +0000
committerWerner Koch <[email protected]>2017-01-08 17:04:59 +0000
commit16078f3deea5b82ea26e2f01dbd3ef3a5ce25410 (patch)
treea8da190a48cb319aaab1d25a35e0ba060fd51194 /dirmngr/http.c
parentdirmngr: Strip root zone suffix from libdns SRV results. (diff)
downloadgnupg-16078f3deea5b82ea26e2f01dbd3ef3a5ce25410.tar.gz
gnupg-16078f3deea5b82ea26e2f01dbd3ef3a5ce25410.zip
dirmngr: Change internal SRV lookup API.
* dirmngr/dns-stuff.c (get_dns_srv): Add args SERVICE and PROTO. * dirmngr/http.c (connect_server): Simplify SRV lookup. * dirmngr/ks-engine-hkp.c (map_host): Ditto. * dirmngr/t-dns-stuff.c (main): Adjust for changed get_dns_srv. -- This new API is more convenient because it includes commonly used code. Note that right now http.c's SRV record code is not used. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'dirmngr/http.c')
-rw-r--r--dirmngr/http.c28
1 files changed, 5 insertions, 23 deletions
diff --git a/dirmngr/http.c b/dirmngr/http.c
index 14d60df4b..7a028047d 100644
--- a/dirmngr/http.c
+++ b/dirmngr/http.c
@@ -2362,29 +2362,11 @@ connect_server (const char *server, unsigned short port,
/* Do the SRV thing */
if (srvtag)
{
- /* We're using SRV, so append the tags. */
- if (1 + strlen (srvtag) + 6 + strlen (server) + 1
- <= DIMof (struct srventry, target))
- {
- char *srvname = xtrymalloc (DIMof (struct srventry, target));
-
- if (!srvname) /* Out of core */
- {
- serverlist = NULL;
- srvcount = 0;
- }
- else
- {
- stpcpy (stpcpy (stpcpy (stpcpy (srvname,"_"), srvtag),
- "._tcp."), server);
- err = get_dns_srv (srvname, &serverlist, &srvcount);
- if (err)
- log_info ("getting SRV '%s' failed: %s\n",
- srvname, gpg_strerror (err));
- xfree (srvname);
- /* Note that on error SRVCOUNT is zero. */
- }
- }
+ err = get_dns_srv (server, srvtag, NULL, &serverlist, &srvcount);
+ if (err)
+ log_info ("getting '%s' SRV for '%s' failed: %s\n",
+ srvtag, server, gpg_strerror (err));
+ /* Note that on error SRVCOUNT is zero. */
}
if (!serverlist)