aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--keyserver/ChangeLog6
-rw-r--r--keyserver/gpgkeys_ldap.c7
2 files changed, 11 insertions, 2 deletions
diff --git a/keyserver/ChangeLog b/keyserver/ChangeLog
index edf380a04..513341424 100644
--- a/keyserver/ChangeLog
+++ b/keyserver/ChangeLog
@@ -1,3 +1,9 @@
+2002-11-14 David Shaw <[email protected]>
+
+ * gpgkeys_ldap.c (get_key): The deduping code requires
+ "pgpcertid", but that was not available when running without
+ verbose on. Noted by Stefan.
+
2002-11-10 David Shaw <[email protected]>
* gpgkeys_ldap.c (get_key): Fix typo in deduping code.
diff --git a/keyserver/gpgkeys_ldap.c b/keyserver/gpgkeys_ldap.c
index eb1ec0ddd..96df48519 100644
--- a/keyserver/gpgkeys_ldap.c
+++ b/keyserver/gpgkeys_ldap.c
@@ -272,7 +272,10 @@ get_key(char *getkey)
int ret=KEYSERVER_INTERNAL_ERROR,err,count;
struct keylist *dupelist=NULL;
char search[62];
- char *attrs[]={"replaceme","pgpuserid","pgpkeyid","pgpcertid","pgprevoked",
+ /* This ordering is significant - specifically, "pgpcertid" needs to
+ be the second item in the list, since everything after it may be
+ discarded if the user isn't in verbose mode. */
+ char *attrs[]={"replaceme","pgpcertid","pgpuserid","pgpkeyid","pgprevoked",
"pgpdisabled","pgpkeycreatetime","modifytimestamp",
"pgpkeysize","pgpkeytype",NULL};
attrs[0]=pgpkeystr; /* Some compilers don't like using variables as
@@ -331,7 +334,7 @@ get_key(char *getkey)
fprintf(console,"gpgkeys: LDAP fetch for: %s\n",search);
if(!verbose)
- attrs[1]=NULL;
+ attrs[2]=NULL; /* keep only pgpkey(v2) and pgpcertid */
if(verbose)
fprintf(console,"gpgkeys: requesting key 0x%s from ldap://%s%s%s\n",