From c974390d371bbfe74b2ae27ba0be72af7b44b186 Mon Sep 17 00:00:00 2001 From: David Shaw Date: Mon, 6 Jan 2003 21:01:44 +0000 Subject: [PATCH] * keylist.c (print_capabilities): Show 'D' for disabled keys in capabilities section. * trustdb.c (is_disabled): Remove incorrect comment. --- g10/ChangeLog | 7 +++++++ g10/keylist.c | 15 ++++++++++++++- g10/trustdb.c | 2 -- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/g10/ChangeLog b/g10/ChangeLog index e2c1be152..70297e05e 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,10 @@ +2003-01-06 David Shaw + + * keylist.c (print_capabilities): Show 'D' for disabled keys in + capabilities section. + + * trustdb.c (is_disabled): Remove incorrect comment. + 2003-01-03 David Shaw * import.c (import_one): Only do the work to create the status diff --git a/g10/keylist.c b/g10/keylist.c index 177890673..9dd55a1a4 100644 --- a/g10/keylist.c +++ b/g10/keylist.c @@ -359,12 +359,22 @@ print_capabilities (PKT_public_key *pk, PKT_secret_key *sk, KBNODE keyblock) if ( keyblock ) { /* figure our the usable capabilities */ KBNODE k; - int enc=0, sign=0, cert=0; + int enc=0, sign=0, cert=0, disabled=0; for (k=keyblock; k; k = k->next ) { if ( k->pkt->pkttype == PKT_PUBLIC_KEY || k->pkt->pkttype == PKT_PUBLIC_SUBKEY ) { + u32 kid[2]; pk = k->pkt->pkt.public_key; + + if(k->pkt->pkttype==PKT_PUBLIC_KEY) + { + keyid_from_pk(pk,kid); + + if(is_disabled(NULL,kid)) + disabled=1; + } + if ( pk->is_valid && !pk->is_revoked && !pk->has_expired ) { if ( pk->pubkey_usage & PUBKEY_USAGE_ENC ) enc = 1; @@ -398,7 +408,10 @@ print_capabilities (PKT_public_key *pk, PKT_secret_key *sk, KBNODE keyblock) putchar ('S'); if (cert) putchar ('C'); + if (disabled) + putchar ('D'); } + putchar(':'); } diff --git a/g10/trustdb.c b/g10/trustdb.c index ed0ccd15d..312290e0f 100644 --- a/g10/trustdb.c +++ b/g10/trustdb.c @@ -904,8 +904,6 @@ is_disabled(void *dummy,u32 *keyid) init_trustdb (); - /* Note that get_pubkey returns the main key if keyid points to a - subkey. That's a good thing here. */ rc = get_pubkey(pk, keyid); if(rc) {