aboutsummaryrefslogtreecommitdiffstats
path: root/g10/keylist.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/keylist.c')
-rw-r--r--g10/keylist.c28
1 files changed, 26 insertions, 2 deletions
diff --git a/g10/keylist.c b/g10/keylist.c
index 610a83911..295e6dca5 100644
--- a/g10/keylist.c
+++ b/g10/keylist.c
@@ -1009,6 +1009,29 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque )
putchar('\n');
}
+void
+print_revokers(PKT_public_key *pk)
+{
+ /* print the revoker record */
+ if( !pk->revkey && pk->numrevkeys )
+ BUG();
+ else
+ {
+ int i,j;
+
+ for (i=0; i < pk->numrevkeys; i++)
+ {
+ byte *p;
+
+ printf ("rvk:::%d::::::", pk->revkey[i].algid);
+ p = pk->revkey[i].fpr;
+ for (j=0; j < 20; j++, p++ )
+ printf ("%02X", *p);
+ printf (":%02x%s:\n", pk->revkey[i].class,
+ (pk->revkey[i].class&0x40)?"s":"");
+ }
+ }
+}
static void
list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
@@ -1073,7 +1096,7 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
putchar( get_ownertrust_info(pk) );
putchar(':');
}
-
+
if (opt.fixed_list_mode) {
/* do not merge the first uid with the primary key */
putchar(':');
@@ -1094,6 +1117,8 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
putchar(':'); /* End of field 15. */
}
putchar('\n');
+ if(pk)
+ print_revokers(pk);
if( fpr )
print_fingerprint( pk, sk, 0 );
if( opt.with_key_data )
@@ -1101,7 +1126,6 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
any = 1;
}
-
for( kbctx=NULL; (node=walk_kbnode( keyblock, &kbctx, 0)) ; ) {
if( node->pkt->pkttype == PKT_USER_ID && !opt.fast_list_mode ) {
PKT_user_id *uid=node->pkt->pkt.user_id;