mirror of
git://git.gnupg.org/gnupg.git
synced 2024-11-10 21:38:50 +01: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:
parent
ce1ce8910e
commit
843d5719e7
@ -1,5 +1,9 @@
|
||||
2005-11-10 David Shaw <dshaw@jabberwocky.com>
|
||||
|
||||
* 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.
|
||||
|
||||
* packet.h: Move some flags to a bitfield. Change all callers.
|
||||
|
||||
* options.h, import.c (parse_import_options,
|
||||
|
@ -3225,30 +3225,26 @@ menu_clean_uids_from_key(KBNODE keyblock)
|
||||
|
||||
if(modified)
|
||||
{
|
||||
KBNODE node,uidnode=NULL;
|
||||
KBNODE node;
|
||||
|
||||
for(node=keyblock->next;node;node=node->next)
|
||||
{
|
||||
if(node->pkt->pkttype==PKT_USER_ID)
|
||||
uidnode=node;
|
||||
else if(uidnode && node->pkt->pkttype==PKT_SIGNATURE
|
||||
&& is_deleted_kbnode(node))
|
||||
if(node->pkt->pkttype==PKT_USER_ID
|
||||
&& node->pkt->pkt.user_id->flags.compacted)
|
||||
{
|
||||
const char *reason;
|
||||
char *user=utf8_to_native(uidnode->pkt->pkt.user_id->name,
|
||||
uidnode->pkt->pkt.user_id->len,0);
|
||||
char *user=utf8_to_native(node->pkt->pkt.user_id->name,
|
||||
node->pkt->pkt.user_id->len,0);
|
||||
|
||||
if(uidnode->pkt->pkt.user_id->is_revoked)
|
||||
if(node->pkt->pkt.user_id->is_revoked)
|
||||
reason=_("revoked");
|
||||
else if(uidnode->pkt->pkt.user_id->is_expired)
|
||||
else if(node->pkt->pkt.user_id->is_expired)
|
||||
reason=_("expired");
|
||||
else
|
||||
reason=_("invalid");
|
||||
|
||||
tty_printf("User ID \"%s\" compacted: %s\n",user,reason);
|
||||
|
||||
uidnode=NULL;
|
||||
|
||||
xfree(user);
|
||||
}
|
||||
}
|
||||
|
@ -208,6 +208,7 @@ typedef struct
|
||||
/* TODO: Move more flags here */
|
||||
unsigned mdc:1;
|
||||
unsigned ks_modify:1;
|
||||
unsigned compacted:1;
|
||||
} flags;
|
||||
char name[1];
|
||||
} PKT_user_id;
|
||||
|
@ -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)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user