aboutsummaryrefslogtreecommitdiffstats
path: root/g10/trustdb.c
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2005-11-02 05:22:01 +0000
committerDavid Shaw <[email protected]>2005-11-02 05:22:01 +0000
commit19de04694e2bf67f9908d8257df255a5cc47a59e (patch)
tree5e575b1d7b6d1224be0c7266195dcd85893ad49f /g10/trustdb.c
parent* gpg.sgml: Document backsign, --require-backsigs, and (diff)
downloadgnupg-19de04694e2bf67f9908d8257df255a5cc47a59e.tar.gz
gnupg-19de04694e2bf67f9908d8257df255a5cc47a59e.zip
* import.c (import_one): Do collapse_uids() before we do any cleaning
so keyserver mangled keys with doubled user IDs can be properly cleaned - possibly sigs on the different user IDs cancel each other out. * import.c (parse_import_options), export.c (parse_export_options): List "xxx-clean" before the longer options so we don't end up with a partial match on the longer options. * trustdb.c (clean_uids_from_key): Return proper number of cleaned user IDs. Don't count user IDs as cleaned unless we actually delete something.
Diffstat (limited to 'g10/trustdb.c')
-rw-r--r--g10/trustdb.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/g10/trustdb.c b/g10/trustdb.c
index de39b54de..f2e109621 100644
--- a/g10/trustdb.c
+++ b/g10/trustdb.c
@@ -1654,7 +1654,7 @@ clean_sigs_from_uid(KBNODE keyblock,KBNODE uidnode,int noisy)
int
clean_uids_from_key(KBNODE keyblock,int noisy)
{
- int delete_until_next=0,deleted=0;
+ int delete_until_next=0,deleting=0,deleted=0;
KBNODE node,signode=NULL;
u32 keyid[2],sigdate=0;
@@ -1684,6 +1684,7 @@ clean_uids_from_key(KBNODE keyblock,int noisy)
else
{
delete_until_next=1;
+ deleting=1;
if(noisy)
{
@@ -1722,7 +1723,11 @@ clean_uids_from_key(KBNODE keyblock,int noisy)
if(delete_until_next && !sig->flags.chosen_selfsig)
{
delete_kbnode(node);
- deleted++;
+ if(deleting)
+ {
+ deleted++;
+ deleting=0;
+ }
}
}
}