1
0
mirror of git://git.gnupg.org/gnupg.git synced 2025-02-03 16:53:03 +01:00

* keyedit.c (show_key_with_all_names_colon): Make --with-colons --edit

display match the validity and trust of --with-colons --list-keys.

* passphrase.c (agent_send_all_options): Fix compile warning.

* keylist.c (list_keyblock_colon): Validity for subkeys should match that
of the primary key, and not that of the last user ID.
This commit is contained in:
David Shaw 2002-11-13 13:14:40 +00:00
parent 7178a8056c
commit 5ecf0cbd79
4 changed files with 65 additions and 20 deletions

View File

@ -1,3 +1,14 @@
2002-11-13 David Shaw <dshaw@jabberwocky.com>
* keyedit.c (show_key_with_all_names_colon): Make --with-colons
--edit display match the validity and trust of --with-colons
--list-keys.
* passphrase.c (agent_send_all_options): Fix compile warning.
* keylist.c (list_keyblock_colon): Validity for subkeys should
match that of the primary key, and not that of the last user ID.
2002-11-12 David Shaw <dshaw@jabberwocky.com> 2002-11-12 David Shaw <dshaw@jabberwocky.com>
* getkey.c (merge_selfsigs): Revoked/expired/invalid primary keys * getkey.c (merge_selfsigs): Revoked/expired/invalid primary keys

View File

@ -1563,8 +1563,9 @@ static void
show_key_with_all_names_colon (KBNODE keyblock) show_key_with_all_names_colon (KBNODE keyblock)
{ {
KBNODE node; KBNODE node;
int i, j; int i, j, ulti_hack=0;
byte pk_version=0; byte pk_version=0;
PKT_public_key *primary=NULL;
/* the keys */ /* the keys */
for ( node = keyblock; node; node = node->next ) for ( node = keyblock; node; node = node->next )
@ -1573,14 +1574,12 @@ show_key_with_all_names_colon (KBNODE keyblock)
|| (node->pkt->pkttype == PKT_PUBLIC_SUBKEY) ) || (node->pkt->pkttype == PKT_PUBLIC_SUBKEY) )
{ {
PKT_public_key *pk = node->pkt->pkt.public_key; PKT_public_key *pk = node->pkt->pkt.public_key;
int otrust='-', trust='-';
u32 keyid[2]; u32 keyid[2];
if (node->pkt->pkttype == PKT_PUBLIC_KEY) if (node->pkt->pkttype == PKT_PUBLIC_KEY)
{ {
trust = get_validity_info (pk, NULL);
otrust = get_ownertrust_info (pk);
pk_version = pk->version; pk_version = pk->version;
primary=pk;
} }
keyid_from_pk (pk, keyid); keyid_from_pk (pk, keyid);
@ -1592,8 +1591,14 @@ show_key_with_all_names_colon (KBNODE keyblock)
putchar ('r'); putchar ('r');
else if (pk->has_expired) else if (pk->has_expired)
putchar ('e'); putchar ('e');
else else if (!(opt.fast_list_mode || opt.no_expensive_trust_checks ))
putchar (trust); {
int trust = get_validity_info (pk, NULL);
if(trust=='u')
ulti_hack=1;
putchar (trust);
}
printf (":%u:%d:%08lX%08lX:%lu:%lu:", printf (":%u:%d:%08lX%08lX:%lu:%lu:",
nbits_from_pk (pk), nbits_from_pk (pk),
pk->pubkey_algo, pk->pubkey_algo,
@ -1603,7 +1608,9 @@ show_key_with_all_names_colon (KBNODE keyblock)
if (pk->local_id) if (pk->local_id)
printf ("%lu", pk->local_id); printf ("%lu", pk->local_id);
putchar (':'); putchar (':');
putchar (otrust); if (node->pkt->pkttype==PKT_PUBLIC_KEY
&& !(opt.fast_list_mode || opt.no_expensive_trust_checks ))
putchar(get_ownertrust_info (pk));
putchar(':'); putchar(':');
putchar('\n'); putchar('\n');
@ -1636,19 +1643,44 @@ show_key_with_all_names_colon (KBNODE keyblock)
if ( node->pkt->pkttype == PKT_USER_ID ) if ( node->pkt->pkttype == PKT_USER_ID )
{ {
PKT_user_id *uid = node->pkt->pkt.user_id; PKT_user_id *uid = node->pkt->pkt.user_id;
int trustletter = '?';
++i; ++i;
if(uid->attrib_data) if(uid->attrib_data)
{ printf("uat:");
printf ("uat:%c::::::::%u %lu", trustletter, else
uid->numattribs,uid->attrib_len); printf("uid:");
}
if ( uid->is_revoked )
printf("r::::::::");
else if ( uid->is_expired )
printf("e::::::::");
else if ( opt.fast_list_mode || opt.no_expensive_trust_checks )
printf("::::::::");
else else
{ {
printf ("uid:%c::::::::", trustletter); byte namehash[20];
print_string (stdout, uid->name, uid->len, ':'); int uid_validity;
if( primary && !ulti_hack )
{
if( uid->attrib_data )
rmd160_hash_buffer(namehash,
uid->attrib_data, uid->attrib_len);
else
rmd160_hash_buffer( namehash, uid->name, uid->len );
uid_validity = get_validity_info( primary, namehash );
}
else
uid_validity = 'u';
printf("%c::::::::",uid_validity);
} }
if(uid->attrib_data)
printf ("%u %lu",uid->numattribs,uid->attrib_len);
else
print_string (stdout, uid->name, uid->len, ':');
putchar (':'); putchar (':');
/* signature class */ /* signature class */
putchar (':'); putchar (':');

View File

@ -650,7 +650,6 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
sk = NULL; sk = NULL;
keyid_from_pk( pk, keyid ); keyid_from_pk( pk, keyid );
fputs( "pub:", stdout ); fputs( "pub:", stdout );
trustletter = 0;
if ( !pk->is_valid ) if ( !pk->is_valid )
putchar ('i'); putchar ('i');
else if ( pk->is_revoked ) else if ( pk->is_revoked )
@ -711,6 +710,7 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
} }
else { else {
byte namehash[20]; byte namehash[20];
int uid_validity;
if( pk && !ulti_hack ) { if( pk && !ulti_hack ) {
if( node->pkt->pkt.user_id->attrib_data ) if( node->pkt->pkt.user_id->attrib_data )
@ -721,11 +721,11 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
rmd160_hash_buffer( namehash, rmd160_hash_buffer( namehash,
node->pkt->pkt.user_id->name, node->pkt->pkt.user_id->name,
node->pkt->pkt.user_id->len ); node->pkt->pkt.user_id->len );
trustletter = get_validity_info( pk, namehash ); uid_validity = get_validity_info( pk, namehash );
} }
else else
trustletter = 'u'; uid_validity = 'u';
printf("%s:%c::::::::",str,trustletter); printf("%s:%c::::::::",str,uid_validity);
} }
} }
if(node->pkt->pkt.user_id->attrib_data) if(node->pkt->pkt.user_id->attrib_data)
@ -774,7 +774,9 @@ list_keyblock_colon( KBNODE keyblock, int secret, int fpr )
else if ( opt.fast_list_mode || opt.no_expensive_trust_checks ) else if ( opt.fast_list_mode || opt.no_expensive_trust_checks )
; ;
else { else {
printf("%c", trustletter ); /* trustletter should always be defined here */
if(trustletter)
printf("%c", trustletter );
} }
printf(":%u:%d:%08lX%08lX:%s:%s:", printf(":%u:%d:%08lX%08lX:%s:%s:",
nbits_from_pk( pk2 ), nbits_from_pk( pk2 ),

View File

@ -346,7 +346,7 @@ static int
agent_send_all_options (int fd) agent_send_all_options (int fd)
{ {
char *dft_display = NULL; char *dft_display = NULL;
char *dft_ttyname = NULL; const char *dft_ttyname = NULL;
char *dft_ttytype = NULL; char *dft_ttytype = NULL;
char *old_lc = NULL; char *old_lc = NULL;
char *dft_lc = NULL; char *dft_lc = NULL;