[svn] GnuPG - r5069 - trunk/keyserver
svn author dshaw
cvs at cvs.gnupg.org
Wed Jul 8 06:01:13 CEST 2009
Author: dshaw
Date: 2009-07-08 06:01:13 +0200 (Wed, 08 Jul 2009)
New Revision: 5069
Modified:
trunk/keyserver/ChangeLog
trunk/keyserver/gpgkeys_hkp.c
Log:
* gpgkeys_hkp.c (main, srv_replace): Minor tweaks to use the DNS-SD
names ("pgpkey-http" and "pgpkey-https") in SRV lookups instead of
"hkp" and "hkps".
Modified: trunk/keyserver/ChangeLog
===================================================================
--- trunk/keyserver/ChangeLog 2009-07-08 03:50:26 UTC (rev 5068)
+++ trunk/keyserver/ChangeLog 2009-07-08 04:01:13 UTC (rev 5069)
@@ -1,3 +1,9 @@
+2009-07-06 David Shaw <dshaw at jabberwocky.com>
+
+ * gpgkeys_hkp.c (main, srv_replace): Minor tweaks to use the
+ DNS-SD names ("pgpkey-http" and "pgpkey-https") in SRV lookups
+ instead of "hkp" and "hkps".
+
2009-06-24 Werner Koch <wk at g10code.com>
* gpgkeys_ldap.c (send_key): Do not deep free a NULL modlist.
Modified: trunk/keyserver/gpgkeys_hkp.c
===================================================================
--- trunk/keyserver/gpgkeys_hkp.c 2009-07-08 03:50:26 UTC (rev 5068)
+++ trunk/keyserver/gpgkeys_hkp.c 2009-07-08 04:01:13 UTC (rev 5069)
@@ -489,18 +489,21 @@
/* If there is a SRV record, take the highest ranked possibility.
This is a hack, as we don't proceed downwards. */
static void
-srv_replace(void)
+srv_replace(const char *srvtag)
{
#ifdef USE_DNS_SRV
struct srventry *srvlist=NULL;
int srvcount;
- if(1+strlen(opt->scheme)+6+strlen(opt->host)+1<=MAXDNAME)
+ if(!srvtag)
+ return;
+
+ if(1+strlen(srvtag)+6+strlen(opt->host)+1<=MAXDNAME)
{
char srvname[MAXDNAME];
strcpy(srvname,"_");
- strcat(srvname,opt->scheme);
+ strcat(srvname,srvtag);
strcat(srvname,"._tcp.");
strcat(srvname,opt->host);
srvcount=getsrv(srvname,&srvlist);
@@ -714,17 +717,26 @@
port=opt->port;
else if(try_srv)
{
+ char *srvtag;
+
+ if(ks_strcasecmp(opt->scheme,"hkp")==0)
+ srvtag="pgpkey-http";
+ else if(ks_strcasecmp(opt->scheme,"hkps")==0)
+ srvtag="pgpkey-https";
+ else
+ srvtag=NULL;
+
#ifdef HAVE_LIBCURL
/* We're using libcurl, so fake SRV support via our wrapper.
This isn't as good as true SRV support, as we do not try all
possible targets at one particular level and work our way
down the list, but it's better than nothing. */
- srv_replace();
+ srv_replace(srvtag);
#else
/* We're using our internal curl shim, so we can use its (true)
SRV support. Obviously, CURLOPT_SRVTAG_GPG_HACK isn't a real
libcurl option. It's specific to our shim. */
- curl_easy_setopt(curl,CURLOPT_SRVTAG_GPG_HACK,opt->scheme);
+ curl_easy_setopt(curl,CURLOPT_SRVTAG_GPG_HACK,srvtag);
#endif
}
More information about the Gnupg-commits
mailing list