diff --git a/keyserver/ChangeLog b/keyserver/ChangeLog index 47a711ef6..853ec565a 100644 --- a/keyserver/ChangeLog +++ b/keyserver/ChangeLog @@ -1,3 +1,10 @@ +2002-02-25 David Shaw + + * gpgkeys_ldap (get_key): LDAP keyservers do not support v3 + fingerprints, so error out if someone tries. Actually, they don't + support any fingerprints, but at least we can calculate a keyid + from a v4 fingerprint. + 2002-02-23 David Shaw * gpgkeys_ldap: Clarify the notion of a partial failure. This is diff --git a/keyserver/gpgkeys_ldap.c b/keyserver/gpgkeys_ldap.c index e28b18fb3..4c6c8e2b5 100644 --- a/keyserver/gpgkeys_ldap.c +++ b/keyserver/gpgkeys_ldap.c @@ -177,6 +177,15 @@ int get_key(char *getkey) if(strncmp(getkey,"0x",2)==0) getkey+=2; + if(strlen(getkey)==32) + { + fprintf(console, + "gpgkeys: LDAP keyservers do not support v3 fingerprints\n"); + fprintf(output,"KEY 0x%s BEGIN\n",getkey); + fprintf(output,"KEY 0x%s FAILED\n",getkey); + return -1; + } + if(strlen(getkey)>16) { char *offset=&getkey[strlen(getkey)-16];