aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2002-07-25 22:59:25 +0000
committerDavid Shaw <[email protected]>2002-07-25 22:59:25 +0000
commitbb99f6c828341e923b887de7f3fcb4bbd8179922 (patch)
treeeacfcbe18765f8b385924569f0ce3429ff4afcdf
parent* gpg.sgml: Clarify the differences between "pref" and "showpref". Note in (diff)
downloadgnupg-bb99f6c828341e923b887de7f3fcb4bbd8179922.tar.gz
gnupg-bb99f6c828341e923b887de7f3fcb4bbd8179922.zip
* keyedit.c (menu_revsig): Change "revsig" to honor selected uids so the
user can revoke sigs from particular uids only. * keylist.c (list_keyblock_print): Don't display expired uids in --list-keys unless -v and not --list-sigs (just like revoked uids).
Diffstat (limited to '')
-rw-r--r--g10/ChangeLog7
-rw-r--r--g10/keyedit.c19
-rw-r--r--g10/keylist.c10
3 files changed, 25 insertions, 11 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index 117ef67ce..69b1f385a 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,5 +1,12 @@
2002-07-25 David Shaw <[email protected]>
+ * keyedit.c (menu_revsig): Change "revsig" to honor selected uids
+ so the user can revoke sigs from particular uids only.
+
+ * keylist.c (list_keyblock_print): Don't display expired uids in
+ --list-keys unless -v and not --list-sigs (just like revoked
+ uids).
+
* exec.c, export.c, import.c, keyedit.c, keyserver.c, misc.c:
"Warning" -> "WARNING"
diff --git a/g10/keyedit.c b/g10/keyedit.c
index ac8ad1f51..1da939dfd 100644
--- a/g10/keyedit.c
+++ b/g10/keyedit.c
@@ -2878,7 +2878,7 @@ menu_revsig( KBNODE keyblock )
PKT_public_key *primary_pk;
KBNODE node;
int changed = 0;
- int rc, any;
+ int rc, any, skip=1, all=!count_selected_uids(keyblock);
struct revocation_reason_info *reason = NULL;
/* FIXME: detect duplicates here */
@@ -2886,13 +2886,18 @@ menu_revsig( KBNODE keyblock )
for( node = keyblock; node; node = node->next ) {
node->flag &= ~(NODFLG_SELSIG | NODFLG_MARK_A);
if( node->pkt->pkttype == PKT_USER_ID ) {
- PKT_user_id *uid = node->pkt->pkt.user_id;
- /* Hmmm: Should we show only UIDs with a signature? */
- tty_printf(" ");
- tty_print_utf8_string( uid->name, uid->len );
- tty_printf("\n");
+ if( node->flag&NODFLG_SELUID || all ) {
+ PKT_user_id *uid = node->pkt->pkt.user_id;
+ /* Hmmm: Should we show only UIDs with a signature? */
+ tty_printf(" ");
+ tty_print_utf8_string( uid->name, uid->len );
+ tty_printf("\n");
+ skip=0;
+ }
+ else
+ skip=1;
}
- else if( node->pkt->pkttype == PKT_SIGNATURE
+ else if( !skip && node->pkt->pkttype == PKT_SIGNATURE
&& ((sig = node->pkt->pkt.signature),
!seckey_available(sig->keyid) ) ) {
if( (sig->sig_class&~3) == 0x10 ) {
diff --git a/g10/keylist.c b/g10/keylist.c
index c245c6c5b..cc26b0bc3 100644
--- a/g10/keylist.c
+++ b/g10/keylist.c
@@ -428,10 +428,12 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque )
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 UIDS unless we are in verbose mode and
- * signature listing has not been requested */
- if ( !opt.verbose && !opt.list_sigs
- && node->pkt->pkt.user_id->is_revoked )
+ /* don't list revoked or expired UIDS unless we are in
+ * verbose mode and signature listing has not been
+ * requested */
+ if ( !opt.verbose && !opt.list_sigs &&
+ (node->pkt->pkt.user_id->is_revoked ||
+ node->pkt->pkt.user_id->is_expired ))
continue;
if( any )