diff --git a/g10/ChangeLog b/g10/ChangeLog index 90c90258f..657b447e9 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-02 David Shaw * getkey.c (merge_selfsigs_main): Remove some unused code and make diff --git a/g10/keylist.c b/g10/keylist.c index 60363e743..cce269cd8 100644 --- a/g10/keylist.c +++ b/g10/keylist.c @@ -317,12 +317,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; @@ -356,7 +366,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 17eb65923..8ceced1f7 100644 --- a/g10/trustdb.c +++ b/g10/trustdb.c @@ -747,8 +747,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) {