mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-10 13:04:23 +01:00
* gpgkeys_ldap.c (get_key): Factor out informational display into new
function build_info().
This commit is contained in:
parent
ba0ba64b85
commit
357afb5084
@ -1,5 +1,8 @@
|
|||||||
2004-08-23 David Shaw <dshaw@jabberwocky.com>
|
2004-08-23 David Shaw <dshaw@jabberwocky.com>
|
||||||
|
|
||||||
|
* gpgkeys_ldap.c (get_key): Factor out informational display into
|
||||||
|
new function build_info().
|
||||||
|
|
||||||
* gpgkeys_ldap.c (build_attrs): Properly terminate user ID strings
|
* gpgkeys_ldap.c (build_attrs): Properly terminate user ID strings
|
||||||
that got shrunk due to encoding.
|
that got shrunk due to encoding.
|
||||||
|
|
||||||
|
@ -888,6 +888,80 @@ send_key_keyserver(int *eof)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
build_info(const char *certid,LDAPMessage *each)
|
||||||
|
{
|
||||||
|
char **vals;
|
||||||
|
|
||||||
|
fprintf(output,"INFO %s BEGIN\n",certid);
|
||||||
|
|
||||||
|
fprintf(output,"pub:%s:",certid);
|
||||||
|
|
||||||
|
vals=ldap_get_values(ldap,each,"pgpkeytype");
|
||||||
|
if(vals!=NULL)
|
||||||
|
{
|
||||||
|
if(strcmp(vals[0],"RSA")==0)
|
||||||
|
fprintf(output,"1");
|
||||||
|
else if(strcmp(vals[0],"DSS/DH")==0)
|
||||||
|
fprintf(output,"17");
|
||||||
|
ldap_value_free(vals);
|
||||||
|
}
|
||||||
|
|
||||||
|
fprintf(output,":");
|
||||||
|
|
||||||
|
vals=ldap_get_values(ldap,each,"pgpkeysize");
|
||||||
|
if(vals!=NULL)
|
||||||
|
{
|
||||||
|
if(atoi(vals[0])>0)
|
||||||
|
fprintf(output,"%d",atoi(vals[0]));
|
||||||
|
ldap_value_free(vals);
|
||||||
|
}
|
||||||
|
|
||||||
|
fprintf(output,":");
|
||||||
|
|
||||||
|
vals=ldap_get_values(ldap,each,"pgpkeycreatetime");
|
||||||
|
if(vals!=NULL)
|
||||||
|
{
|
||||||
|
if(strlen(vals[0])==15)
|
||||||
|
fprintf(output,"%u",(unsigned int)ldap2epochtime(vals[0]));
|
||||||
|
ldap_value_free(vals);
|
||||||
|
}
|
||||||
|
|
||||||
|
fprintf(output,":");
|
||||||
|
|
||||||
|
vals=ldap_get_values(ldap,each,"pgpkeyexpiretime");
|
||||||
|
if(vals!=NULL)
|
||||||
|
{
|
||||||
|
if(strlen(vals[0])==15)
|
||||||
|
fprintf(output,"%u",(unsigned int)ldap2epochtime(vals[0]));
|
||||||
|
ldap_value_free(vals);
|
||||||
|
}
|
||||||
|
|
||||||
|
fprintf(output,":");
|
||||||
|
|
||||||
|
vals=ldap_get_values(ldap,each,"pgprevoked");
|
||||||
|
if(vals!=NULL)
|
||||||
|
{
|
||||||
|
if(atoi(vals[0])==1)
|
||||||
|
fprintf(output,"r");
|
||||||
|
ldap_value_free(vals);
|
||||||
|
}
|
||||||
|
|
||||||
|
fprintf(output,"\n");
|
||||||
|
|
||||||
|
vals=ldap_get_values(ldap,each,"pgpuserid");
|
||||||
|
if(vals!=NULL)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for(i=0;vals[i];i++)
|
||||||
|
fprintf(output,"uid:%s\n",vals[i]);
|
||||||
|
ldap_value_free(vals);
|
||||||
|
}
|
||||||
|
|
||||||
|
fprintf(output,"INFO %s END\n",certid);
|
||||||
|
}
|
||||||
|
|
||||||
/* Note that key-not-found is not a fatal error */
|
/* Note that key-not-found is not a fatal error */
|
||||||
static int
|
static int
|
||||||
get_key(char *getkey)
|
get_key(char *getkey)
|
||||||
@ -952,8 +1026,6 @@ get_key(char *getkey)
|
|||||||
sprintf(search,"(pgpkeyid=%.8s)",getkey);
|
sprintf(search,"(pgpkeyid=%.8s)",getkey);
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf(output,"KEY 0x%s BEGIN\n",getkey);
|
|
||||||
|
|
||||||
if(verbose>2)
|
if(verbose>2)
|
||||||
fprintf(console,"gpgkeys: LDAP fetch for: %s\n",search);
|
fprintf(console,"gpgkeys: LDAP fetch for: %s\n",search);
|
||||||
|
|
||||||
@ -971,6 +1043,7 @@ get_key(char *getkey)
|
|||||||
int errtag=ldap_err_to_gpg_err(err);
|
int errtag=ldap_err_to_gpg_err(err);
|
||||||
|
|
||||||
fprintf(console,"gpgkeys: LDAP search error: %s\n",ldap_err2string(err));
|
fprintf(console,"gpgkeys: LDAP search error: %s\n",ldap_err2string(err));
|
||||||
|
fprintf(output,"KEY 0x%s BEGIN\n",getkey);
|
||||||
fprintf(output,"KEY 0x%s FAILED %d\n",getkey,errtag);
|
fprintf(output,"KEY 0x%s FAILED %d\n",getkey,errtag);
|
||||||
return errtag;
|
return errtag;
|
||||||
}
|
}
|
||||||
@ -979,6 +1052,7 @@ get_key(char *getkey)
|
|||||||
if(count<1)
|
if(count<1)
|
||||||
{
|
{
|
||||||
fprintf(console,"gpgkeys: key %s not found on keyserver\n",getkey);
|
fprintf(console,"gpgkeys: key %s not found on keyserver\n",getkey);
|
||||||
|
fprintf(output,"KEY 0x%s BEGIN\n",getkey);
|
||||||
fprintf(output,"KEY 0x%s FAILED %d\n",getkey,KEYSERVER_KEY_NOT_FOUND);
|
fprintf(output,"KEY 0x%s FAILED %d\n",getkey,KEYSERVER_KEY_NOT_FOUND);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1016,79 +1090,9 @@ get_key(char *getkey)
|
|||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(verbose)
|
build_info(certid[0],each);
|
||||||
{
|
|
||||||
vals=ldap_get_values(ldap,each,"pgpuserid");
|
|
||||||
if(vals!=NULL)
|
|
||||||
{
|
|
||||||
/* This is wrong, as the user ID is UTF8. A
|
|
||||||
better way to handle this would be to send it
|
|
||||||
over to gpg and display it on that side of
|
|
||||||
the pipe. */
|
|
||||||
fprintf(console,"\nUser ID:\t%s\n",vals[0]);
|
|
||||||
ldap_value_free(vals);
|
|
||||||
}
|
|
||||||
|
|
||||||
vals=ldap_get_values(ldap,each,"pgprevoked");
|
fprintf(output,"KEY 0x%s BEGIN\n",getkey);
|
||||||
if(vals!=NULL)
|
|
||||||
{
|
|
||||||
if(atoi(vals[0])==1)
|
|
||||||
fprintf(console,"\t\t** KEY REVOKED **\n");
|
|
||||||
ldap_value_free(vals);
|
|
||||||
}
|
|
||||||
|
|
||||||
vals=ldap_get_values(ldap,each,"pgpdisabled");
|
|
||||||
if(vals!=NULL)
|
|
||||||
{
|
|
||||||
if(atoi(vals[0])==1)
|
|
||||||
fprintf(console,"\t\t** KEY DISABLED **\n");
|
|
||||||
ldap_value_free(vals);
|
|
||||||
}
|
|
||||||
|
|
||||||
vals=ldap_get_values(ldap,each,"pgpkeyid");
|
|
||||||
if(vals!=NULL)
|
|
||||||
{
|
|
||||||
fprintf(console,"Short key ID:\t%s\n",vals[0]);
|
|
||||||
ldap_value_free(vals);
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf(console,"Long key ID:\t%s\n",certid[0]);
|
|
||||||
|
|
||||||
/* YYYYMMDDHHmmssZ */
|
|
||||||
|
|
||||||
vals=ldap_get_values(ldap,each,"pgpkeycreatetime");
|
|
||||||
if(vals!=NULL)
|
|
||||||
{
|
|
||||||
if(strlen(vals[0])==15)
|
|
||||||
fprintf(console,"Key created:\t%.2s/%.2s/%.4s\n",
|
|
||||||
&vals[0][4],&vals[0][6],vals[0]);
|
|
||||||
ldap_value_free(vals);
|
|
||||||
}
|
|
||||||
|
|
||||||
vals=ldap_get_values(ldap,each,"modifytimestamp");
|
|
||||||
if(vals!=NULL)
|
|
||||||
{
|
|
||||||
if(strlen(vals[0])==15)
|
|
||||||
fprintf(console,"Key modified:\t%.2s/%.2s/%.4s\n",
|
|
||||||
&vals[0][4],&vals[0][6],vals[0]);
|
|
||||||
ldap_value_free(vals);
|
|
||||||
}
|
|
||||||
|
|
||||||
vals=ldap_get_values(ldap,each,"pgpkeysize");
|
|
||||||
if(vals!=NULL)
|
|
||||||
{
|
|
||||||
if(atoi(vals[0])>0)
|
|
||||||
fprintf(console,"Key size:\t%d\n",atoi(vals[0]));
|
|
||||||
ldap_value_free(vals);
|
|
||||||
}
|
|
||||||
|
|
||||||
vals=ldap_get_values(ldap,each,"pgpkeytype");
|
|
||||||
if(vals!=NULL)
|
|
||||||
{
|
|
||||||
fprintf(console,"Key type:\t%s\n",vals[0]);
|
|
||||||
ldap_value_free(vals);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
vals=ldap_get_values(ldap,each,pgpkeystr);
|
vals=ldap_get_values(ldap,each,pgpkeystr);
|
||||||
if(vals==NULL)
|
if(vals==NULL)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user