mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-23 10:29:58 +01:00
* options.h, g10.c (main): Add a more flexible --keyid-format option to
replace the list-option (and eventually verify-option) show-long-keyids. The format can be short, long, 0xshort, and 0xlong. * keydb.h, keyid.c (keystr, keystrlen): New functions to generate a printable keyid. * keyedit.c (print_and_check_one_sig, show_key_with_all_names), keylist.c (list_keyblock_print): Use new keystr() function here to print keyids.
This commit is contained in:
parent
c57262fd57
commit
2d7fe1d3a1
@ -1,5 +1,17 @@
|
|||||||
2004-03-02 David Shaw <dshaw@jabberwocky.com>
|
2004-03-02 David Shaw <dshaw@jabberwocky.com>
|
||||||
|
|
||||||
|
* options.h, g10.c (main): Add a more flexible --keyid-format
|
||||||
|
option to replace the list-option (and eventually verify-option)
|
||||||
|
show-long-keyids. The format can be short, long, 0xshort, and
|
||||||
|
0xlong.
|
||||||
|
|
||||||
|
* keydb.h, keyid.c (keystr, keystrlen): New functions to generate
|
||||||
|
a printable keyid.
|
||||||
|
|
||||||
|
* keyedit.c (print_and_check_one_sig, show_key_with_all_names),
|
||||||
|
keylist.c (list_keyblock_print): Use new keystr() function here to
|
||||||
|
print keyids.
|
||||||
|
|
||||||
* packet.h, free-packet.c (free_encrypted, free_plaintext),
|
* packet.h, free-packet.c (free_encrypted, free_plaintext),
|
||||||
parse-packet.c (copy_packet, skip_packet, skip_rest, read_rest,
|
parse-packet.c (copy_packet, skip_packet, skip_rest, read_rest,
|
||||||
parse_plaintext, parse_encrypted, parse_gpg_control): Use a flag
|
parse_plaintext, parse_encrypted, parse_gpg_control): Use a flag
|
||||||
|
16
g10/g10.c
16
g10/g10.c
@ -335,6 +335,7 @@ enum cmd_and_opt_values
|
|||||||
oNoMangleDosFilenames,
|
oNoMangleDosFilenames,
|
||||||
oEnableProgressFilter,
|
oEnableProgressFilter,
|
||||||
oMultifile,
|
oMultifile,
|
||||||
|
oKeyidFormat,
|
||||||
|
|
||||||
oReaderPort,
|
oReaderPort,
|
||||||
octapiDriver,
|
octapiDriver,
|
||||||
@ -665,6 +666,7 @@ static ARGPARSE_OPTS opts[] = {
|
|||||||
{ oNoMangleDosFilenames, "no-mangle-dos-filenames", 0, "@" },
|
{ oNoMangleDosFilenames, "no-mangle-dos-filenames", 0, "@" },
|
||||||
{ oEnableProgressFilter, "enable-progress-filter", 0, "@" },
|
{ oEnableProgressFilter, "enable-progress-filter", 0, "@" },
|
||||||
{ oMultifile, "multifile", 0, "@" },
|
{ oMultifile, "multifile", 0, "@" },
|
||||||
|
{ oKeyidFormat, "keyid-format", 2, "@" },
|
||||||
|
|
||||||
{ oReaderPort, "reader-port", 2, "@"},
|
{ oReaderPort, "reader-port", 2, "@"},
|
||||||
{ octapiDriver, "ctapi-driver", 2, "@"},
|
{ octapiDriver, "ctapi-driver", 2, "@"},
|
||||||
@ -1447,6 +1449,7 @@ main( int argc, char **argv )
|
|||||||
opt.mangle_dos_filenames=0;
|
opt.mangle_dos_filenames=0;
|
||||||
opt.min_cert_level=2;
|
opt.min_cert_level=2;
|
||||||
set_screen_dimensions();
|
set_screen_dimensions();
|
||||||
|
opt.keyid_format=KF_SHORT;
|
||||||
#if defined (_WIN32)
|
#if defined (_WIN32)
|
||||||
set_homedir ( read_w32_registry_string( NULL,
|
set_homedir ( read_w32_registry_string( NULL,
|
||||||
"Software\\GNU\\GnuPG", "HomeDir" ));
|
"Software\\GNU\\GnuPG", "HomeDir" ));
|
||||||
@ -2115,7 +2118,6 @@ main( int argc, char **argv )
|
|||||||
{"show-notations",LIST_SHOW_NOTATIONS,NULL},
|
{"show-notations",LIST_SHOW_NOTATIONS,NULL},
|
||||||
{"show-keyserver-urls",LIST_SHOW_KEYSERVER_URLS,NULL},
|
{"show-keyserver-urls",LIST_SHOW_KEYSERVER_URLS,NULL},
|
||||||
{"show-validity",LIST_SHOW_VALIDITY,NULL},
|
{"show-validity",LIST_SHOW_VALIDITY,NULL},
|
||||||
{"show-long-keyids",LIST_SHOW_LONG_KEYIDS,NULL},
|
|
||||||
{"show-unusable-uids",LIST_SHOW_UNUSABLE_UIDS,NULL},
|
{"show-unusable-uids",LIST_SHOW_UNUSABLE_UIDS,NULL},
|
||||||
{"show-unusable-subkeys",LIST_SHOW_UNUSABLE_SUBKEYS,NULL},
|
{"show-unusable-subkeys",LIST_SHOW_UNUSABLE_SUBKEYS,NULL},
|
||||||
{"show-keyring",LIST_SHOW_KEYRING,NULL},
|
{"show-keyring",LIST_SHOW_KEYRING,NULL},
|
||||||
@ -2279,6 +2281,18 @@ main( int argc, char **argv )
|
|||||||
case oNoMangleDosFilenames: opt.mangle_dos_filenames = 0; break;
|
case oNoMangleDosFilenames: opt.mangle_dos_filenames = 0; break;
|
||||||
case oEnableProgressFilter: opt.enable_progress_filter = 1; break;
|
case oEnableProgressFilter: opt.enable_progress_filter = 1; break;
|
||||||
case oMultifile: multifile=1; break;
|
case oMultifile: multifile=1; break;
|
||||||
|
case oKeyidFormat:
|
||||||
|
if(ascii_strcasecmp(pargs.r.ret_str,"short")==0)
|
||||||
|
opt.keyid_format=KF_SHORT;
|
||||||
|
else if(ascii_strcasecmp(pargs.r.ret_str,"long")==0)
|
||||||
|
opt.keyid_format=KF_LONG;
|
||||||
|
else if(ascii_strcasecmp(pargs.r.ret_str,"0xshort")==0)
|
||||||
|
opt.keyid_format=KF_0xSHORT;
|
||||||
|
else if(ascii_strcasecmp(pargs.r.ret_str,"0xlong")==0)
|
||||||
|
opt.keyid_format=KF_0xLONG;
|
||||||
|
else
|
||||||
|
log_error("unknown keyid-format \"%s\"\n",pargs.r.ret_str);
|
||||||
|
break;
|
||||||
|
|
||||||
default : pargs.err = configfp? 1:2; break;
|
default : pargs.err = configfp? 1:2; break;
|
||||||
}
|
}
|
||||||
|
@ -239,6 +239,8 @@ KEYDB_HANDLE get_ctx_handle(GETKEY_CTX ctx);
|
|||||||
/*-- keyid.c --*/
|
/*-- keyid.c --*/
|
||||||
int pubkey_letter( int algo );
|
int pubkey_letter( int algo );
|
||||||
void hash_public_key( MD_HANDLE md, PKT_public_key *pk );
|
void hash_public_key( MD_HANDLE md, PKT_public_key *pk );
|
||||||
|
size_t keystrlen(void);
|
||||||
|
const char *keystr(u32 *keyid);
|
||||||
u32 keyid_from_sk( PKT_secret_key *sk, u32 *keyid );
|
u32 keyid_from_sk( PKT_secret_key *sk, u32 *keyid );
|
||||||
u32 keyid_from_pk( PKT_public_key *pk, u32 *keyid );
|
u32 keyid_from_pk( PKT_public_key *pk, u32 *keyid );
|
||||||
u32 keyid_from_sig( PKT_signature *sig, u32 *keyid );
|
u32 keyid_from_sig( PKT_signature *sig, u32 *keyid );
|
||||||
|
@ -134,7 +134,7 @@ print_and_check_one_sig( KBNODE keyblock, KBNODE node,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if( sigrc != '?' || print_without_key ) {
|
if( sigrc != '?' || print_without_key ) {
|
||||||
tty_printf("%s%c%c %c%c%c%c%c%c ",
|
tty_printf("%s%c%c %c%c%c%c%c%c %s %s",
|
||||||
is_rev? "rev":"sig",sigrc,
|
is_rev? "rev":"sig",sigrc,
|
||||||
(sig->sig_class-0x10>0 &&
|
(sig->sig_class-0x10>0 &&
|
||||||
sig->sig_class-0x10<4)?'0'+sig->sig_class-0x10:' ',
|
sig->sig_class-0x10<4)?'0'+sig->sig_class-0x10:' ',
|
||||||
@ -144,12 +144,8 @@ print_and_check_one_sig( KBNODE keyblock, KBNODE node,
|
|||||||
sig->flags.notation?'N':' ',
|
sig->flags.notation?'N':' ',
|
||||||
sig->flags.expired?'X':' ',
|
sig->flags.expired?'X':' ',
|
||||||
(sig->trust_depth>9)?'T':
|
(sig->trust_depth>9)?'T':
|
||||||
(sig->trust_depth>0)?'0'+sig->trust_depth:' ');
|
(sig->trust_depth>0)?'0'+sig->trust_depth:' ',
|
||||||
if(opt.list_options&LIST_SHOW_LONG_KEYIDS)
|
keystr(sig->keyid),datestr_from_sig(sig));
|
||||||
tty_printf("%08lX%08lX",(ulong)sig->keyid[0],(ulong)sig->keyid[1]);
|
|
||||||
else
|
|
||||||
tty_printf("%08lX",(ulong)sig->keyid[1]);
|
|
||||||
tty_printf(" %s", datestr_from_sig(sig));
|
|
||||||
if(opt.list_options&LIST_SHOW_SIG_EXPIRE)
|
if(opt.list_options&LIST_SHOW_SIG_EXPIRE)
|
||||||
tty_printf(" %s",expirestr_from_sig(sig));
|
tty_printf(" %s",expirestr_from_sig(sig));
|
||||||
tty_printf(" ");
|
tty_printf(" ");
|
||||||
@ -161,10 +157,11 @@ print_and_check_one_sig( KBNODE keyblock, KBNODE node,
|
|||||||
tty_printf( is_rev? _("[revocation]")
|
tty_printf( is_rev? _("[revocation]")
|
||||||
: _("[self-signature]") );
|
: _("[self-signature]") );
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
|
{
|
||||||
size_t n;
|
size_t n;
|
||||||
char *p = get_user_id( sig->keyid, &n );
|
char *p = get_user_id( sig->keyid, &n );
|
||||||
tty_print_utf8_string2( p, n, opt.screen_columns-37 );
|
tty_print_utf8_string2( p, n, opt.screen_columns-keystrlen()-26 );
|
||||||
m_free(p);
|
m_free(p);
|
||||||
}
|
}
|
||||||
tty_printf("\n");
|
tty_printf("\n");
|
||||||
@ -2052,16 +2049,13 @@ show_key_with_all_names( KBNODE keyblock, int only_marked, int with_revoker,
|
|||||||
}
|
}
|
||||||
|
|
||||||
keyid_from_pk(pk,NULL);
|
keyid_from_pk(pk,NULL);
|
||||||
tty_printf("%s%c %4u%c/",
|
tty_printf("%s%c %4u%c/%s ",
|
||||||
node->pkt->pkttype == PKT_PUBLIC_KEY? "pub":"sub",
|
node->pkt->pkttype == PKT_PUBLIC_KEY? "pub":"sub",
|
||||||
(node->flag & NODFLG_SELKEY)? '*':' ',
|
(node->flag & NODFLG_SELKEY)? '*':' ',
|
||||||
nbits_from_pk( pk ),
|
nbits_from_pk( pk ),
|
||||||
pubkey_letter( pk->pubkey_algo ));
|
pubkey_letter( pk->pubkey_algo ),
|
||||||
|
keystr(pk->keyid));
|
||||||
|
|
||||||
if(opt.list_options&LIST_SHOW_LONG_KEYIDS)
|
|
||||||
tty_printf("%08lX",(ulong)pk->keyid[0]);
|
|
||||||
|
|
||||||
tty_printf("%08lX ",(ulong)pk->keyid[1]);
|
|
||||||
tty_printf(_("created: %s"),datestr_from_pk(pk));
|
tty_printf(_("created: %s"),datestr_from_pk(pk));
|
||||||
tty_printf(" ");
|
tty_printf(" ");
|
||||||
if(pk->is_revoked)
|
if(pk->is_revoked)
|
||||||
@ -2076,9 +2070,7 @@ show_key_with_all_names( KBNODE keyblock, int only_marked, int with_revoker,
|
|||||||
{
|
{
|
||||||
if(opt.trust_model!=TM_ALWAYS)
|
if(opt.trust_model!=TM_ALWAYS)
|
||||||
{
|
{
|
||||||
tty_printf(" ");
|
tty_printf("%*s",keystrlen()+13,"");
|
||||||
if(opt.list_options&LIST_SHOW_LONG_KEYIDS)
|
|
||||||
tty_printf(" ");
|
|
||||||
/* Ownertrust is only meaningful for the PGP or
|
/* Ownertrust is only meaningful for the PGP or
|
||||||
classic trust models */
|
classic trust models */
|
||||||
if(opt.trust_model==TM_PGP || opt.trust_model==TM_CLASSIC)
|
if(opt.trust_model==TM_PGP || opt.trust_model==TM_CLASSIC)
|
||||||
|
53
g10/keyid.c
53
g10/keyid.c
@ -144,6 +144,59 @@ do_fingerprint_md_sk( PKT_secret_key *sk )
|
|||||||
return do_fingerprint_md( &pk );
|
return do_fingerprint_md( &pk );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
size_t
|
||||||
|
keystrlen(void)
|
||||||
|
{
|
||||||
|
switch(opt.keyid_format)
|
||||||
|
{
|
||||||
|
case KF_SHORT:
|
||||||
|
return 8;
|
||||||
|
|
||||||
|
case KF_LONG:
|
||||||
|
return 16;
|
||||||
|
|
||||||
|
case KF_0xSHORT:
|
||||||
|
return 10;
|
||||||
|
|
||||||
|
case KF_0xLONG:
|
||||||
|
return 18;
|
||||||
|
|
||||||
|
default:
|
||||||
|
BUG();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *
|
||||||
|
keystr(u32 *keyid)
|
||||||
|
{
|
||||||
|
static char keyid_str[19];
|
||||||
|
|
||||||
|
switch(opt.keyid_format)
|
||||||
|
{
|
||||||
|
case KF_SHORT:
|
||||||
|
sprintf(keyid_str,"%08lX",(ulong)keyid[1]);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case KF_LONG:
|
||||||
|
sprintf(keyid_str,"%08lX%08lX",(ulong)keyid[0],(ulong)keyid[1]);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case KF_0xSHORT:
|
||||||
|
sprintf(keyid_str,"0x%08lX",(ulong)keyid[1]);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case KF_0xLONG:
|
||||||
|
sprintf(keyid_str,"0x%08lX%08lX",(ulong)keyid[0],(ulong)keyid[1]);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
BUG();
|
||||||
|
}
|
||||||
|
|
||||||
|
return keyid_str;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/****************
|
/****************
|
||||||
* Get the keyid from the secret key and put it into keyid
|
* Get the keyid from the secret key and put it into keyid
|
||||||
* if this is not NULL. Return the 32 low bits of the keyid.
|
* if this is not NULL. Return the 32 low bits of the keyid.
|
||||||
|
@ -605,9 +605,9 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque )
|
|||||||
struct sig_stats *stats=opaque;
|
struct sig_stats *stats=opaque;
|
||||||
int skip_sigs=0;
|
int skip_sigs=0;
|
||||||
int newformat=((opt.list_options&LIST_SHOW_VALIDITY) && !secret)
|
int newformat=((opt.list_options&LIST_SHOW_VALIDITY) && !secret)
|
||||||
|| (opt.list_options & (LIST_SHOW_LONG_KEYIDS
|
|| (opt.list_options & (LIST_SHOW_UNUSABLE_UIDS
|
||||||
| LIST_SHOW_UNUSABLE_UIDS
|
| LIST_SHOW_UNUSABLE_SUBKEYS))
|
||||||
| LIST_SHOW_UNUSABLE_SUBKEYS));
|
|| (keystrlen()>8);
|
||||||
|
|
||||||
/* get the keyid from the keyblock */
|
/* get the keyid from the keyblock */
|
||||||
node = find_kbnode( keyblock, secret? PKT_SECRET_KEY : PKT_PUBLIC_KEY );
|
node = find_kbnode( keyblock, secret? PKT_SECRET_KEY : PKT_PUBLIC_KEY );
|
||||||
@ -623,16 +623,10 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque )
|
|||||||
sk = node->pkt->pkt.secret_key;
|
sk = node->pkt->pkt.secret_key;
|
||||||
keyid_from_sk( sk, keyid );
|
keyid_from_sk( sk, keyid );
|
||||||
|
|
||||||
printf("sec%c %4u%c/",(sk->protect.s2k.mode==1001)?'#':
|
printf("sec%c %4u%c/%s %s%s",(sk->protect.s2k.mode==1001)?'#':
|
||||||
(sk->protect.s2k.mode==1002)?'>':' ',
|
(sk->protect.s2k.mode==1002)?'>':' ',
|
||||||
nbits_from_sk( sk ),pubkey_letter( sk->pubkey_algo ));
|
nbits_from_sk( sk ),pubkey_letter( sk->pubkey_algo ),
|
||||||
|
keystr(keyid),datestr_from_sk( sk ),newformat?"":" " );
|
||||||
if(opt.list_options&LIST_SHOW_LONG_KEYIDS)
|
|
||||||
printf("%08lX%08lX",(ulong)keyid[0],(ulong)keyid[1]);
|
|
||||||
else
|
|
||||||
printf("%08lX",(ulong)keyid[1]);
|
|
||||||
|
|
||||||
printf(" %s%s",datestr_from_sk( sk ),newformat?"":" " );
|
|
||||||
|
|
||||||
if(newformat && sk->expiredate )
|
if(newformat && sk->expiredate )
|
||||||
printf(_(" [expires: %s]"), expirestr_from_sk( sk ) );
|
printf(_(" [expires: %s]"), expirestr_from_sk( sk ) );
|
||||||
@ -652,15 +646,9 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque )
|
|||||||
|
|
||||||
check_trustdb_stale();
|
check_trustdb_stale();
|
||||||
|
|
||||||
printf("pub %4u%c/",
|
printf("pub %4u%c/%s %s%s",
|
||||||
nbits_from_pk(pk),pubkey_letter(pk->pubkey_algo));
|
nbits_from_pk(pk),pubkey_letter(pk->pubkey_algo),
|
||||||
|
keystr(keyid),datestr_from_pk( pk ),newformat?"":" " );
|
||||||
if(opt.list_options&LIST_SHOW_LONG_KEYIDS)
|
|
||||||
printf("%08lX%08lX",(ulong)keyid[0],(ulong)keyid[1]);
|
|
||||||
else
|
|
||||||
printf("%08lX",(ulong)keyid[1]);
|
|
||||||
|
|
||||||
printf(" %s%s",datestr_from_pk( pk ),newformat?"":" " );
|
|
||||||
|
|
||||||
/* We didn't include this before in the key listing, but there
|
/* We didn't include this before in the key listing, but there
|
||||||
is room in the new format, so why not? */
|
is room in the new format, so why not? */
|
||||||
@ -685,7 +673,6 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque )
|
|||||||
|
|
||||||
for( kbctx=NULL; (node=walk_kbnode( keyblock, &kbctx, 0)) ; ) {
|
for( kbctx=NULL; (node=walk_kbnode( keyblock, &kbctx, 0)) ; ) {
|
||||||
if( node->pkt->pkttype == PKT_USER_ID && !opt.fast_list_mode ) {
|
if( node->pkt->pkttype == PKT_USER_ID && !opt.fast_list_mode ) {
|
||||||
int indent;
|
|
||||||
PKT_user_id *uid=node->pkt->pkt.user_id;
|
PKT_user_id *uid=node->pkt->pkt.user_id;
|
||||||
|
|
||||||
if((uid->is_expired || uid->is_revoked)
|
if((uid->is_expired || uid->is_revoked)
|
||||||
@ -703,18 +690,20 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque )
|
|||||||
if(!any && newformat)
|
if(!any && newformat)
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
|
||||||
if(uid->is_revoked || uid->is_expired)
|
if((uid->is_revoked || uid->is_expired)
|
||||||
printf("uid%*s[%s] ",
|
|| ((opt.list_options&LIST_SHOW_VALIDITY) && pk))
|
||||||
(opt.list_options&LIST_SHOW_LONG_KEYIDS)?16:8,"",
|
|
||||||
uid->is_revoked?_("revoked"):_("expired"));
|
|
||||||
else if((opt.list_options&LIST_SHOW_VALIDITY) && pk)
|
|
||||||
{
|
{
|
||||||
const char *validity=
|
const char *validity;
|
||||||
trust_value_to_string(get_validity(pk,uid));
|
int indent;
|
||||||
|
|
||||||
/* Includes the 3 spaces for [, ], and " ". */
|
if(uid->is_revoked)
|
||||||
indent=((opt.list_options&LIST_SHOW_LONG_KEYIDS)?23:15)
|
validity=_("revoked");
|
||||||
-strlen(validity);
|
else if(uid->is_expired)
|
||||||
|
validity=_("expired");
|
||||||
|
else
|
||||||
|
validity=trust_value_to_string(get_validity(pk,uid));
|
||||||
|
|
||||||
|
indent=(keystrlen()+7)-strlen(validity);
|
||||||
|
|
||||||
if(indent<0)
|
if(indent<0)
|
||||||
indent=0;
|
indent=0;
|
||||||
@ -722,8 +711,7 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque )
|
|||||||
printf("uid%*s[%s] ",indent,"",validity);
|
printf("uid%*s[%s] ",indent,"",validity);
|
||||||
}
|
}
|
||||||
else if(newformat)
|
else if(newformat)
|
||||||
printf("uid%*s",
|
printf("uid%*s",keystrlen()+10,"");
|
||||||
(opt.list_options&LIST_SHOW_LONG_KEYIDS)?26:18,"");
|
|
||||||
else if(any)
|
else if(any)
|
||||||
printf("uid%*s",29,"");
|
printf("uid%*s",29,"");
|
||||||
|
|
||||||
@ -761,13 +749,9 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque )
|
|||||||
}
|
}
|
||||||
|
|
||||||
keyid_from_pk( pk2, keyid2 );
|
keyid_from_pk( pk2, keyid2 );
|
||||||
printf("sub %4u%c/",
|
printf("sub %4u%c/%s %s",
|
||||||
nbits_from_pk( pk2 ),pubkey_letter( pk2->pubkey_algo ));
|
nbits_from_pk( pk2 ),pubkey_letter( pk2->pubkey_algo ),
|
||||||
if(opt.list_options&LIST_SHOW_LONG_KEYIDS)
|
keystr(keyid2),datestr_from_pk(pk2));
|
||||||
printf("%08lX%08lX",(ulong)keyid2[0],(ulong)keyid2[1]);
|
|
||||||
else
|
|
||||||
printf("%08lX",(ulong)keyid2[1]);
|
|
||||||
printf(" %s",datestr_from_pk(pk2));
|
|
||||||
if( pk2->is_revoked )
|
if( pk2->is_revoked )
|
||||||
printf(_(" [revoked: %s]"), revokestr_from_pk(pk2));
|
printf(_(" [revoked: %s]"), revokestr_from_pk(pk2));
|
||||||
else if( pk2->has_expired )
|
else if( pk2->has_expired )
|
||||||
@ -792,15 +776,11 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque )
|
|||||||
}
|
}
|
||||||
|
|
||||||
keyid_from_sk( sk2, keyid2 );
|
keyid_from_sk( sk2, keyid2 );
|
||||||
printf("ssb%c %4u%c/",
|
printf("ssb%c %4u%c/%s %s",
|
||||||
(sk->protect.s2k.mode==1001)?'#':
|
(sk->protect.s2k.mode==1001)?'#':
|
||||||
(sk->protect.s2k.mode==1002)?'>':' ',
|
(sk->protect.s2k.mode==1002)?'>':' ',
|
||||||
nbits_from_sk( sk2 ),pubkey_letter( sk2->pubkey_algo ));
|
nbits_from_sk( sk2 ),pubkey_letter( sk2->pubkey_algo ),
|
||||||
if(opt.list_options&LIST_SHOW_LONG_KEYIDS)
|
keystr(keyid2),datestr_from_sk( sk2 ) );
|
||||||
printf("%08lX%08lX",(ulong)keyid2[0],(ulong)keyid2[1]);
|
|
||||||
else
|
|
||||||
printf("%08lX",(ulong)keyid2[1]);
|
|
||||||
printf(" %s",datestr_from_sk( sk2 ) );
|
|
||||||
if( sk2->expiredate )
|
if( sk2->expiredate )
|
||||||
printf(_(" [expires: %s]"), expirestr_from_sk( sk2 ) );
|
printf(_(" [expires: %s]"), expirestr_from_sk( sk2 ) );
|
||||||
putchar('\n');
|
putchar('\n');
|
||||||
@ -868,7 +848,7 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque )
|
|||||||
}
|
}
|
||||||
|
|
||||||
fputs( sigstr, stdout );
|
fputs( sigstr, stdout );
|
||||||
printf("%c%c %c%c%c%c%c%c ",
|
printf("%c%c %c%c%c%c%c%c %s %s",
|
||||||
sigrc,(sig->sig_class-0x10>0 &&
|
sigrc,(sig->sig_class-0x10>0 &&
|
||||||
sig->sig_class-0x10<4)?'0'+sig->sig_class-0x10:' ',
|
sig->sig_class-0x10<4)?'0'+sig->sig_class-0x10:' ',
|
||||||
sig->flags.exportable?' ':'L',
|
sig->flags.exportable?' ':'L',
|
||||||
@ -877,12 +857,8 @@ list_keyblock_print ( KBNODE keyblock, int secret, int fpr, void *opaque )
|
|||||||
sig->flags.notation?'N':' ',
|
sig->flags.notation?'N':' ',
|
||||||
sig->flags.expired?'X':' ',
|
sig->flags.expired?'X':' ',
|
||||||
(sig->trust_depth>9)?'T':
|
(sig->trust_depth>9)?'T':
|
||||||
(sig->trust_depth>0)?'0'+sig->trust_depth:' ');
|
(sig->trust_depth>0)?'0'+sig->trust_depth:' ',
|
||||||
if(opt.list_options&LIST_SHOW_LONG_KEYIDS)
|
keystr(sig->keyid),datestr_from_sig(sig));
|
||||||
printf("%08lX%08lX",(ulong)sig->keyid[0],(ulong)sig->keyid[1]);
|
|
||||||
else
|
|
||||||
printf("%08lX",(ulong)sig->keyid[1]);
|
|
||||||
printf(" %s", datestr_from_sig(sig));
|
|
||||||
if(opt.list_options&LIST_SHOW_SIG_EXPIRE)
|
if(opt.list_options&LIST_SHOW_SIG_EXPIRE)
|
||||||
printf(" %s", expirestr_from_sig(sig));
|
printf(" %s", expirestr_from_sig(sig));
|
||||||
printf(" ");
|
printf(" ");
|
||||||
|
@ -107,6 +107,10 @@ struct
|
|||||||
{
|
{
|
||||||
CO_GNUPG=0, CO_RFC2440, CO_RFC1991, CO_PGP2, CO_PGP6, CO_PGP7, CO_PGP8
|
CO_GNUPG=0, CO_RFC2440, CO_RFC1991, CO_PGP2, CO_PGP6, CO_PGP7, CO_PGP8
|
||||||
} compliance;
|
} compliance;
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
KF_SHORT, KF_LONG, KF_0xSHORT, KF_0xLONG
|
||||||
|
} keyid_format;
|
||||||
int pgp2_workarounds;
|
int pgp2_workarounds;
|
||||||
int shm_coprocess;
|
int shm_coprocess;
|
||||||
const char *set_filename;
|
const char *set_filename;
|
||||||
@ -248,11 +252,10 @@ struct
|
|||||||
#define LIST_SHOW_NOTATIONS (1<<2)
|
#define LIST_SHOW_NOTATIONS (1<<2)
|
||||||
#define LIST_SHOW_KEYSERVER_URLS (1<<3)
|
#define LIST_SHOW_KEYSERVER_URLS (1<<3)
|
||||||
#define LIST_SHOW_VALIDITY (1<<4)
|
#define LIST_SHOW_VALIDITY (1<<4)
|
||||||
#define LIST_SHOW_LONG_KEYIDS (1<<5)
|
#define LIST_SHOW_UNUSABLE_UIDS (1<<5)
|
||||||
#define LIST_SHOW_UNUSABLE_UIDS (1<<6)
|
#define LIST_SHOW_UNUSABLE_SUBKEYS (1<<6)
|
||||||
#define LIST_SHOW_UNUSABLE_SUBKEYS (1<<7)
|
#define LIST_SHOW_KEYRING (1<<7)
|
||||||
#define LIST_SHOW_KEYRING (1<<8)
|
#define LIST_SHOW_SIG_EXPIRE (1<<8)
|
||||||
#define LIST_SHOW_SIG_EXPIRE (1<<9)
|
|
||||||
|
|
||||||
#define VERIFY_SHOW_PHOTOS (1<<0)
|
#define VERIFY_SHOW_PHOTOS (1<<0)
|
||||||
#define VERIFY_SHOW_POLICY_URLS (1<<1)
|
#define VERIFY_SHOW_POLICY_URLS (1<<1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user