[svn] GnuPG - r3929 - trunk/g10
svn author dshaw
cvs at cvs.gnupg.org
Fri Nov 11 00:16:37 CET 2005
Author: dshaw
Date: 2005-11-11 00:16:34 +0100 (Fri, 11 Nov 2005)
New Revision: 3929
Modified:
trunk/g10/ChangeLog
trunk/g10/keyedit.c
trunk/g10/packet.h
trunk/g10/trustdb.c
Log:
* 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.
Modified: trunk/g10/ChangeLog
===================================================================
--- trunk/g10/ChangeLog 2005-11-10 22:50:46 UTC (rev 3928)
+++ trunk/g10/ChangeLog 2005-11-10 23:16:34 UTC (rev 3929)
@@ -1,5 +1,9 @@
2005-11-10 David Shaw <dshaw at 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,
Modified: trunk/g10/keyedit.c
===================================================================
--- trunk/g10/keyedit.c 2005-11-10 22:50:46 UTC (rev 3928)
+++ trunk/g10/keyedit.c 2005-11-10 23:16:34 UTC (rev 3929)
@@ -3225,30 +3225,26 @@
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);
}
}
Modified: trunk/g10/packet.h
===================================================================
--- trunk/g10/packet.h 2005-11-10 22:50:46 UTC (rev 3928)
+++ trunk/g10/packet.h 2005-11-10 23:16:34 UTC (rev 3929)
@@ -208,6 +208,7 @@
/* TODO: Move more flags here */
unsigned mdc:1;
unsigned ks_modify:1;
+ unsigned compacted:1;
} flags;
char name[1];
} PKT_user_id;
Modified: trunk/g10/trustdb.c
===================================================================
--- trunk/g10/trustdb.c 2005-11-10 22:50:46 UTC (rev 3928)
+++ trunk/g10/trustdb.c 2005-11-10 23:16:34 UTC (rev 3929)
@@ -1667,8 +1667,9 @@
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 @@
{
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 @@
}
}
}
- 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 @@
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)
{
More information about the Gnupg-commits
mailing list