1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

Fix from 1.4:

* 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:
Werner Koch 2007-03-08 07:39:57 +00:00
parent 634b4c31d2
commit c54ef0383c
3 changed files with 23 additions and 5 deletions

View file

@ -1,6 +1,6 @@
/* getkey.c - Get a key from the database
* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
* 2006 Free Software Foundation, Inc.
* 2006, 2007 Free Software Foundation, Inc.
*
* This file is part of GnuPG.
*
@ -1490,18 +1490,23 @@ 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;
if(sig->flags.expired)
if (sig->flags.expired)
{
uid->is_expired = 1;
return; /* has expired */
}
else
uid->is_expired = 0;
uid->created = sig->timestamp; /* this one is okay */
uid->selfsigversion = sig->version;