gnupg/g10 (ChangeLog build-packet.c keyserver.c)
cvs user dshaw
cvs at cvs.gnupg.org
Wed Dec 22 18:44:39 CET 2004
Date: Wednesday, December 22, 2004 @ 18:49:44
Author: dshaw
Path: /cvs/gnupg/gnupg/g10
Modified: ChangeLog build-packet.c keyserver.c
* keyserver.c (keyserver_typemap): New. Map certain keyserver types to a
common type (e.g. ldaps -> ldap). If we are building with curl, map both
http and ftp to curl.
* build-packet.c (build_sig_subpkt): Only allow one preferred keyserver
subpacket at a time.
----------------+
ChangeLog | 9 +++++++++
build-packet.c | 1 -
keyserver.c | 34 ++++++++++++++++++++++++----------
3 files changed, 33 insertions(+), 11 deletions(-)
Index: gnupg/g10/ChangeLog
diff -u gnupg/g10/ChangeLog:1.669 gnupg/g10/ChangeLog:1.670
--- gnupg/g10/ChangeLog:1.669 Tue Dec 21 16:49:56 2004
+++ gnupg/g10/ChangeLog Wed Dec 22 18:49:44 2004
@@ -1,3 +1,12 @@
+2004-12-22 David Shaw <dshaw at jabberwocky.com>
+
+ * keyserver.c (keyserver_typemap): New. Map certain keyserver
+ types to a common type (e.g. ldaps -> ldap). If we are building
+ with curl, map both http and ftp to curl.
+
+ * build-packet.c (build_sig_subpkt): Only allow one preferred
+ keyserver subpacket at a time.
+
2004-12-21 David Shaw <dshaw at jabberwocky.com>
* keyedit.c (menu_set_keyserver_url): Make sure we only operate on
Index: gnupg/g10/build-packet.c
diff -u gnupg/g10/build-packet.c:1.89 gnupg/g10/build-packet.c:1.90
--- gnupg/g10/build-packet.c:1.89 Thu Oct 28 05:14:55 2004
+++ gnupg/g10/build-packet.c Wed Dec 22 18:49:44 2004
@@ -658,7 +658,6 @@
case SIGSUBPKT_POLICY:
case SIGSUBPKT_REV_KEY:
case SIGSUBPKT_SIGNATURE:
- case SIGSUBPKT_PREF_KS:
/* we do allow multiple subpackets */
break;
Index: gnupg/g10/keyserver.c
diff -u gnupg/g10/keyserver.c:1.73 gnupg/g10/keyserver.c:1.74
--- gnupg/g10/keyserver.c:1.73 Tue Dec 14 08:49:26 2004
+++ gnupg/g10/keyserver.c Wed Dec 22 18:49:44 2004
@@ -759,6 +759,24 @@
m_free(line);
}
+/* We sometimes want to use a different gpgkeys_xxx for a given
+ protocol (for example, ldaps is handled by gpgkeys_ldap). Map
+ these here. */
+static const char *
+keyserver_typemap(const char *type)
+{
+ if(strcmp(type,"ldaps")==0)
+ return "ldap";
+#ifdef HAVE_LIBCURL
+ else if(strcmp(type,"ftp")==0)
+ return "curl";
+ else if(strcmp(type,"http")==0)
+ return "curl";
+#endif /* HAVE_LIBCURL */
+ else
+ return type;
+}
+
#define KEYSERVER_ARGS_KEEP " -o \"%O\" \"%I\""
#define KEYSERVER_ARGS_NOKEEP " -o \"%o\" \"%i\""
@@ -773,6 +791,7 @@
byte *line=NULL;
struct parse_options *kopts;
struct exec_info *spawn;
+ const char *scheme;
assert(keyserver);
@@ -789,14 +808,10 @@
#endif
/* Build the filename for the helper to execute */
- /* Note that we don't use a symlink for "ldaps" anymore because this
- won't work under MS Windows. */
- command=m_alloc(strlen("gpgkeys_")+strlen(keyserver->scheme)+1);
+ scheme=keyserver_typemap(keyserver->scheme);
+ command=m_alloc(strlen("gpgkeys_")+strlen(scheme)+1);
strcpy(command,"gpgkeys_");
- if (!strcmp (keyserver->scheme, "ldaps"))
- strcat(command, "ldap");
- else
- strcat(command,keyserver->scheme);
+ strcat(command,scheme);
if(opt.keyserver_options.options&KEYSERVER_USE_TEMP_FILES)
{
@@ -1252,9 +1267,8 @@
case KEYSERVER_VERSION_ERROR:
log_error(_("gpgkeys_%s does not support handler version %d\n"),
- !strcmp (keyserver->scheme,"ldaps")?
- "ldap": keyserver->scheme,
- KEYSERVER_PROTO_VERSION);
+ keyserver_typemap(keyserver->scheme),
+ KEYSERVER_PROTO_VERSION);
break;
case KEYSERVER_TIMEOUT:
More information about the Gnupg-commits
mailing list