1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

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 <wk@gnupg.org>
This commit is contained in:
Werner Koch 2017-01-08 18:04:59 +01:00
parent 9fa94aa107
commit 16078f3dee
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
5 changed files with 31 additions and 37 deletions

View file

@ -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)