aboutsummaryrefslogtreecommitdiffstats
path: root/g10/keylist.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/keylist.c')
-rw-r--r--g10/keylist.c15
1 files changed, 14 insertions, 1 deletions
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(':');
}