diff options
-rw-r--r-- | g10/ChangeLog | 10 | ||||
-rw-r--r-- | g10/keylist.c | 11 | ||||
-rw-r--r-- | g10/main.h | 2 | ||||
-rw-r--r-- | g10/mainproc.c | 17 |
4 files changed, 26 insertions, 14 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog index d75da820f..adccbcc21 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,13 @@ +2003-05-20 David Shaw <[email protected]> + + * keylist.c (list_keyblock_print): Don't dump attribs for + revoked/expired/etc uids for non-colon key listings. This is for + consistency with --show-photos. + + * main.h, keylist.c (dump_attribs), mainproc.c + (check_sig_and_print): Dump attribs if --attrib-fd is set when + verifying signatures. + 2003-05-11 David Shaw <[email protected]> * parse-packet.c (parse_key): Clear disabled flag when parsing a diff --git a/g10/keylist.c b/g10/keylist.c index fb0959024..c0df6f0d1 100644 --- a/g10/keylist.c +++ b/g10/keylist.c @@ -367,13 +367,13 @@ print_capabilities (PKT_public_key *pk, PKT_secret_key *sk, KBNODE keyblock) putchar(':'); } -static void dump_attribs(const PKT_user_id *uid, - PKT_public_key *pk,PKT_secret_key *sk) +void +dump_attribs(const PKT_user_id *uid,PKT_public_key *pk,PKT_secret_key *sk) { int i; if(!attrib_fp) - BUG(); + return; for(i=0;i<uid->numattribs;i++) { @@ -449,8 +449,6 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque ) for( kbctx=NULL; (node=walk_kbnode( keyblock, &kbctx, 0)) ; ) { if( node->pkt->pkttype == PKT_USER_ID && !opt.fast_list_mode ) { - if(attrib_fp && node->pkt->pkt.user_id->attrib_data!=NULL) - dump_attribs(node->pkt->pkt.user_id,pk,sk); /* don't list revoked or expired UIDS unless we are in * verbose mode and signature listing has not been * requested */ @@ -459,6 +457,9 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque ) node->pkt->pkt.user_id->is_expired )) continue; + if(attrib_fp && node->pkt->pkt.user_id->attrib_data!=NULL) + dump_attribs(node->pkt->pkt.user_id,pk,sk); + if( any ) printf("uid%*s", 28, ""); diff --git a/g10/main.h b/g10/main.h index fd3fedadb..6356f5bb8 100644 --- a/g10/main.h +++ b/g10/main.h @@ -201,6 +201,8 @@ void list_keyblock( KBNODE keyblock, int secret, int fpr, void *opaque ); void print_fingerprint (PKT_public_key *pk, PKT_secret_key *sk, int mode); void show_policy_url(PKT_signature *sig,int indent); void show_notation(PKT_signature *sig,int indent); +void dump_attribs(const PKT_user_id *uid, + PKT_public_key *pk,PKT_secret_key *sk); void set_attrib_fd(int fd); /*-- verify.c --*/ diff --git a/g10/mainproc.c b/g10/mainproc.c index ecc4aa3af..a80e67afd 100644 --- a/g10/mainproc.c +++ b/g10/mainproc.c @@ -1303,8 +1303,6 @@ check_sig_and_print( CTX c, KBNODE node ) } } } - - tstr = asctimestamp(sig->timestamp); astr = pubkey_algo_to_string( sig->pubkey_algo ); @@ -1421,9 +1419,14 @@ check_sig_and_print( CTX c, KBNODE node ) !un->pkt->pkt.user_id->attrib_data ) continue; - if(opt.show_photos && un->pkt->pkt.user_id->attrib_data) - show_photos(un->pkt->pkt.user_id->attribs, - un->pkt->pkt.user_id->numattribs,pk,NULL); + if(un->pkt->pkt.user_id->attrib_data) + { + dump_attribs(un->pkt->pkt.user_id,pk,NULL); + + if(opt.show_photos) + show_photos(un->pkt->pkt.user_id->attribs, + un->pkt->pkt.user_id->numattribs,pk,NULL); + } log_info( _(" aka \"")); print_utf8_string( log_stream(), un->pkt->pkt.user_id->name, @@ -1685,7 +1688,3 @@ proc_tree( CTX c, KBNODE node ) dump_kbnode (node); } } - - - - |