diff options
author | Werner Koch <[email protected]> | 2007-03-08 07:39:57 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2007-03-08 07:39:57 +0000 |
commit | c54ef0383c3e8b53a9ab4b7f122a5a9fd1553c4f (patch) | |
tree | bcea2962c808a90cb615f69fc3da6ca3772da3f2 /g10/getkey.c | |
parent | The Cherry XX44 keyboard's PINpad does now work. (diff) | |
download | gnupg-c54ef0383c3e8b53a9ab4b7f122a5a9fd1553c4f.tar.gz gnupg-c54ef0383c3e8b53a9ab4b7f122a5a9fd1553c4f.zip |
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.
Diffstat (limited to '')
-rw-r--r-- | g10/getkey.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/g10/getkey.c b/g10/getkey.c index d526398c6..042046de1 100644 --- a/g10/getkey.c +++ b/g10/getkey.c @@ -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; |