aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--g10/ChangeLog10
-rw-r--r--g10/keylist.c11
-rw-r--r--g10/main.h2
-rw-r--r--g10/mainproc.c17
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);
}
}
-
-
-
-