diff options
author | David Shaw <[email protected]> | 2005-06-08 13:12:57 +0000 |
---|---|---|
committer | David Shaw <[email protected]> | 2005-06-08 13:12:57 +0000 |
commit | 1b07e3723e49d38c110b2cc503dd364a36f16bdc (patch) | |
tree | 4a25c99276752ecccc779336cf87b2638190db1d /g10/getkey.c | |
parent | * options.h, g10.c (main), export.c (parse_export_options, (diff) | |
download | gnupg-1b07e3723e49d38c110b2cc503dd364a36f16bdc.tar.gz gnupg-1b07e3723e49d38c110b2cc503dd364a36f16bdc.zip |
* getkey.c (fixup_uidnode, merge_selfsigs_main): Handle both expired
and revoked uids in fixup_uidnode(). No need to special case in
merge_selfsigs_main(). This also means that an expired uid will have
its selfsig tagged with chosen_selfsig.
Diffstat (limited to 'g10/getkey.c')
-rw-r--r-- | g10/getkey.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/g10/getkey.c b/g10/getkey.c index 2647cf373..84eb9aecf 100644 --- a/g10/getkey.c +++ b/g10/getkey.c @@ -1347,11 +1347,18 @@ fixup_uidnode ( KBNODE uidnode, KBNODE signode, u32 keycreated ) return; /* has been revoked */ } + uid->expiredate = sig->expiredate; + + if(sig->flags.expired) + { + uid->is_expired = 1; + return; /* has expired */ + } + uid->created = sig->timestamp; /* this one is okay */ uid->selfsigversion = sig->version; /* If we got this far, it's not expired :) */ uid->is_expired = 0; - uid->expiredate = sig->expiredate; /* store the key flags in the helper variable for later processing */ uid->help_key_usage=parse_key_usage(sig); @@ -1652,19 +1659,9 @@ merge_selfsigs_main(KBNODE keyblock, int *r_revoked, struct revoke_info *rinfo) * the same email address may become valid again (hired, * fired, hired again). */ - if(sig->flags.expired) - { - uidnode->pkt->pkt.user_id->is_expired=1; - signode = NULL; - } - else - { - uidnode->pkt->pkt.user_id->is_expired=0; - signode = k; - } sigdate = sig->timestamp; - uidnode->pkt->pkt.user_id->expiredate=sig->expiredate; + signode = k; if( sig->version > sigversion ) sigversion = sig->version; } |