diff options
author | David Shaw <[email protected]> | 2004-02-11 13:46:23 +0000 |
---|---|---|
committer | David Shaw <[email protected]> | 2004-02-11 13:46:23 +0000 |
commit | aa5f1940ff049d12a2c1a49d321c51a99b071aa4 (patch) | |
tree | bcbdd1170ed625434872d000c4aa20c62dc5abb6 /g10/keylist.c | |
parent | * keyedit.c (keyedit_menu): Prompt for subkey removal for both secret and (diff) | |
download | gnupg-aa5f1940ff049d12a2c1a49d321c51a99b071aa4.tar.gz gnupg-aa5f1940ff049d12a2c1a49d321c51a99b071aa4.zip |
* options.h, g10.c (main), keylist.c (list_keyblock_print): Add
"show-unusable-subkeys" list-option to show revoked and/or expired
subkeys.
Diffstat (limited to 'g10/keylist.c')
-rw-r--r-- | g10/keylist.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/g10/keylist.c b/g10/keylist.c index c949e8a0c..f3fdb15be 100644 --- a/g10/keylist.c +++ b/g10/keylist.c @@ -605,7 +605,9 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque ) struct sig_stats *stats=opaque; int skip_sigs=0; int newformat=((opt.list_options&LIST_SHOW_VALIDITY) && !secret) - || (opt.list_options & (LIST_SHOW_LONG_KEYIDS|LIST_SHOW_UNUSABLE_UIDS)); + || (opt.list_options & (LIST_SHOW_LONG_KEYIDS + | LIST_SHOW_UNUSABLE_UIDS + | LIST_SHOW_UNUSABLE_SUBKEYS)); /* get the keyid from the keyblock */ node = find_kbnode( keyblock, secret? PKT_SECRET_KEY : PKT_PUBLIC_KEY ); @@ -742,6 +744,15 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque ) u32 keyid2[2]; PKT_public_key *pk2 = node->pkt->pkt.public_key; + if((pk2->is_revoked || pk2->has_expired) + && !(opt.list_options&LIST_SHOW_UNUSABLE_SUBKEYS)) + { + skip_sigs=1; + continue; + } + else + skip_sigs=0; + if( !any ) { putchar('\n'); if( fpr ) @@ -817,7 +828,6 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque ) /* TODO: Make sure a cached sig record here still has the pk that issued it. See also keyedit.c:print_and_check_one_sig */ - } else { rc = 0; |