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

* packet.h, keyedit.c (menu_clean_uids_from_key), trustdb.c

(clean_uids_from_key): Fix display bug where sigs cleaned for other
reasons caused a uid to appear as if it had been compacted.
This commit is contained in:
David Shaw 2005-11-10 23:16:34 +00:00
parent ce1ce8910e
commit 843d5719e7
4 changed files with 18 additions and 20 deletions

View file

@ -1667,8 +1667,9 @@ int
clean_uids_from_key(KBNODE keyblock,int noisy)
{
int delete_until_next=0,deleting=0,deleted=0;
KBNODE node,signode=NULL;
KBNODE node;
u32 keyid[2],sigdate=0;
PKT_user_id *uid=NULL;
assert(keyblock->pkt->pkttype==PKT_PUBLIC_KEY);
@ -1682,10 +1683,8 @@ clean_uids_from_key(KBNODE keyblock,int noisy)
{
if(node->pkt->pkttype==PKT_USER_ID)
{
PKT_user_id *uid=node->pkt->pkt.user_id;
uid=node->pkt->pkt.user_id;
sigdate=0;
signode=NULL;
/* Skip valid user IDs, and non-self-signed user IDs if
--allow-non-selfsigned-uid is set. */
@ -1718,7 +1717,7 @@ clean_uids_from_key(KBNODE keyblock,int noisy)
}
}
}
else if(node->pkt->pkttype==PKT_SIGNATURE)
else if(node->pkt->pkttype==PKT_SIGNATURE && uid)
{
PKT_signature *sig=node->pkt->pkt.signature;
@ -1727,13 +1726,11 @@ clean_uids_from_key(KBNODE keyblock,int noisy)
if(IS_UID_SIG(sig) && sig->timestamp>sigdate
&& keyid[0]==sig->keyid[0] && keyid[1]==sig->keyid[1]
&& check_key_signature(keyblock,node,NULL)==0)
{
sigdate=sig->timestamp;
signode=node;
}
sigdate=sig->timestamp;
if(delete_until_next && !sig->flags.chosen_selfsig)
{
uid->flags.compacted=1;
delete_kbnode(node);
if(deleting)
{