* keyedit.c (menu_revsig): Change "revsig" to honor selected uids so the
authorDavid Shaw <dshaw@jabberwocky.com>
Thu, 25 Jul 2002 22:59:25 +0000 (22:59 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Thu, 25 Jul 2002 22:59:25 +0000 (22:59 +0000)
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
g10/keyedit.c
g10/keylist.c

index 117ef67..69b1f38 100644 (file)
@@ -1,5 +1,12 @@
 2002-07-25  David Shaw  <dshaw@jabberwocky.com>
 
+       * 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"
 
index ac8ad1f..1da939d 100644 (file)
@@ -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 ) {
index c245c6c..cc26b0b 100644 (file)
@@ -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 )