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:
parent
9fa94aa107
commit
16078f3dee
5 changed files with 31 additions and 37 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue