From 16078f3deea5b82ea26e2f01dbd3ef3a5ce25410 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Sun, 8 Jan 2017 18:04:59 +0100 Subject: 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 --- dirmngr/http.c | 28 +++++----------------------- 1 file changed, 5 insertions(+), 23 deletions(-) (limited to 'dirmngr/http.c') 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) -- cgit v1.2.3