From bb99f6c828341e923b887de7f3fcb4bbd8179922 Mon Sep 17 00:00:00 2001 From: David Shaw Date: Thu, 25 Jul 2002 22:59:25 +0000 Subject: [PATCH] * 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). --- g10/ChangeLog | 7 +++++++ g10/keyedit.c | 19 ++++++++++++------- g10/keylist.c | 10 ++++++---- 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 + * 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 )