1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-12-22 10:19:57 +01:00

* keyedit.c (keyedit_menu): If we modify the keyblock (via

fix_keyblock() or collapse_uids()) make sure we reprocess the keyblock
so the flags are correct.  Noted by Robin H. Johnson.

* getkey.c (fixup_uidnode): Properly clear flags that don't apply to
us (revoked, expired) so that we can reprocess a uid.
This commit is contained in:
David Shaw 2007-03-06 06:39:38 +00:00
parent 2a3946e0d1
commit 57591eb76f
3 changed files with 20 additions and 2 deletions

View File

@ -1,3 +1,12 @@
2007-03-06 David Shaw <dshaw@jabberwocky.com>
* keyedit.c (keyedit_menu): If we modify the keyblock (via
fix_keyblock() or collapse_uids()) make sure we reprocess the
keyblock so the flags are correct. Noted by Robin H. Johnson.
* getkey.c (fixup_uidnode): Properly clear flags that don't apply
to us (revoked, expired) so that we can reprocess a uid.
2007-03-01 David Shaw <dshaw@jabberwocky.com>
* options.h, gpg.c (main), mainproc.c (check_sig_and_print): Allow

View File

@ -1485,10 +1485,13 @@ fixup_uidnode ( KBNODE uidnode, KBNODE signode, u32 keycreated )
sig->flags.chosen_selfsig = 1; /* we chose this one */
uid->created = 0; /* not created == invalid */
if ( IS_UID_REV ( sig ) ) {
if ( IS_UID_REV ( sig ) )
{
uid->is_revoked = 1;
return; /* has been revoked */
}
}
else
uid->is_revoked=0;
uid->expiredate = sig->expiredate;
@ -1497,6 +1500,8 @@ fixup_uidnode ( KBNODE uidnode, KBNODE signode, u32 keycreated )
uid->is_expired = 1;
return; /* has expired */
}
else
uid->is_expired=0;
uid->created = sig->timestamp; /* this one is okay */
uid->selfsigversion = sig->version;

View File

@ -1541,6 +1541,10 @@ keyedit_menu( const char *username, STRLIST locusr,
if( collapse_uids( &keyblock ) )
modified++;
reorder_keyblock(keyblock);
/* We modified the keyblock, so let's make sure the flags are
right. */
if(modified)
merge_keys_and_selfsig( keyblock );
if(seckey_check)
{/* see whether we have a matching secret key */