mirror of
git://git.gnupg.org/gnupg.git
synced 2025-04-17 15:44:34 +02:00
* 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.
This commit is contained in:
parent
74ee007922
commit
19de04694e
@ -1,3 +1,18 @@
|
|||||||
|
2005-11-01 David Shaw <dshaw@jabberwocky.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2005-10-27 David Shaw <dshaw@jabberwocky.com>
|
2005-10-27 David Shaw <dshaw@jabberwocky.com>
|
||||||
|
|
||||||
* keyedit.c (menu_addrevoker), getkey.c (finish_lookup): Fix
|
* keyedit.c (menu_addrevoker), getkey.c (finish_lookup): Fix
|
||||||
|
@ -64,12 +64,12 @@ parse_export_options(char *str,unsigned int *options,int noisy)
|
|||||||
N_("export attribute user IDs (generally photo IDs)")},
|
N_("export attribute user IDs (generally photo IDs)")},
|
||||||
{"export-sensitive-revkeys",EXPORT_SENSITIVE_REVKEYS,NULL,
|
{"export-sensitive-revkeys",EXPORT_SENSITIVE_REVKEYS,NULL,
|
||||||
N_("export revocation keys that are marked as \"sensitive\"")},
|
N_("export revocation keys that are marked as \"sensitive\"")},
|
||||||
|
{"export-clean",EXPORT_CLEAN_SIGS|EXPORT_CLEAN_UIDS,NULL,
|
||||||
|
N_("all export-clean-* options from above")},
|
||||||
{"export-clean-sigs",EXPORT_CLEAN_SIGS,NULL,
|
{"export-clean-sigs",EXPORT_CLEAN_SIGS,NULL,
|
||||||
N_("remove unusable signatures during export")},
|
N_("remove unusable signatures during export")},
|
||||||
{"export-clean-uids",EXPORT_CLEAN_UIDS,NULL,
|
{"export-clean-uids",EXPORT_CLEAN_UIDS,NULL,
|
||||||
N_("remove unusable user IDs during export")},
|
N_("remove unusable user IDs during export")},
|
||||||
{"export-clean",EXPORT_CLEAN_SIGS|EXPORT_CLEAN_UIDS,NULL,
|
|
||||||
N_("all export-clean-* options from above")},
|
|
||||||
{"export-minimal",
|
{"export-minimal",
|
||||||
EXPORT_MINIMAL|EXPORT_CLEAN_SIGS|EXPORT_CLEAN_UIDS,NULL,
|
EXPORT_MINIMAL|EXPORT_CLEAN_SIGS|EXPORT_CLEAN_UIDS,NULL,
|
||||||
N_("export the smallest key possible")},
|
N_("export the smallest key possible")},
|
||||||
|
@ -101,12 +101,12 @@ parse_import_options(char *str,unsigned int *options,int noisy)
|
|||||||
N_("create a public key when importing a secret key")},
|
N_("create a public key when importing a secret key")},
|
||||||
{"merge-only",IMPORT_MERGE_ONLY,NULL,
|
{"merge-only",IMPORT_MERGE_ONLY,NULL,
|
||||||
N_("only accept updates to existing keys")},
|
N_("only accept updates to existing keys")},
|
||||||
|
{"import-clean",IMPORT_CLEAN_SIGS|IMPORT_CLEAN_UIDS,NULL,
|
||||||
|
N_("all import-clean-* options from above")},
|
||||||
{"import-clean-sigs",IMPORT_CLEAN_SIGS,NULL,
|
{"import-clean-sigs",IMPORT_CLEAN_SIGS,NULL,
|
||||||
N_("remove unusable signatures after import")},
|
N_("remove unusable signatures after import")},
|
||||||
{"import-clean-uids",IMPORT_CLEAN_UIDS,NULL,
|
{"import-clean-uids",IMPORT_CLEAN_UIDS,NULL,
|
||||||
N_("remove unusable user IDs after import")},
|
N_("remove unusable user IDs after import")},
|
||||||
{"import-clean",IMPORT_CLEAN_SIGS|IMPORT_CLEAN_UIDS,NULL,
|
|
||||||
N_("all import-clean-* options from above")},
|
|
||||||
/* Aliases for backward compatibility */
|
/* Aliases for backward compatibility */
|
||||||
{"allow-local-sigs",IMPORT_LOCAL_SIGS,NULL,NULL},
|
{"allow-local-sigs",IMPORT_LOCAL_SIGS,NULL,NULL},
|
||||||
{"repair-hkp-subkey-bug",IMPORT_REPAIR_PKS_SUBKEY_BUG,NULL,NULL},
|
{"repair-hkp-subkey-bug",IMPORT_REPAIR_PKS_SUBKEY_BUG,NULL,NULL},
|
||||||
@ -739,6 +739,8 @@ import_one( const char *fname, KBNODE keyblock,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
collapse_uids(&keyblock);
|
||||||
|
|
||||||
/* Clean the key that we're about to import, to cut down on things
|
/* Clean the key that we're about to import, to cut down on things
|
||||||
that we have to clean later. This has no practical impact on
|
that we have to clean later. This has no practical impact on
|
||||||
the end result, but does result in less logging which might
|
the end result, but does result in less logging which might
|
||||||
@ -808,8 +810,6 @@ import_one( const char *fname, KBNODE keyblock,
|
|||||||
if( opt.verbose > 1 )
|
if( opt.verbose > 1 )
|
||||||
log_info (_("writing to `%s'\n"), keydb_get_resource_name (hd) );
|
log_info (_("writing to `%s'\n"), keydb_get_resource_name (hd) );
|
||||||
|
|
||||||
collapse_uids(&keyblock);
|
|
||||||
|
|
||||||
rc = keydb_insert_keyblock (hd, keyblock );
|
rc = keydb_insert_keyblock (hd, keyblock );
|
||||||
if (rc)
|
if (rc)
|
||||||
log_error (_("error writing keyring `%s': %s\n"),
|
log_error (_("error writing keyring `%s': %s\n"),
|
||||||
@ -886,7 +886,6 @@ import_one( const char *fname, KBNODE keyblock,
|
|||||||
goto leave;
|
goto leave;
|
||||||
}
|
}
|
||||||
|
|
||||||
collapse_uids( &keyblock );
|
|
||||||
/* and try to merge the block */
|
/* and try to merge the block */
|
||||||
clear_kbnode_flags( keyblock_orig );
|
clear_kbnode_flags( keyblock_orig );
|
||||||
clear_kbnode_flags( keyblock );
|
clear_kbnode_flags( keyblock );
|
||||||
|
@ -1654,7 +1654,7 @@ clean_sigs_from_uid(KBNODE keyblock,KBNODE uidnode,int noisy)
|
|||||||
int
|
int
|
||||||
clean_uids_from_key(KBNODE keyblock,int noisy)
|
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;
|
KBNODE node,signode=NULL;
|
||||||
u32 keyid[2],sigdate=0;
|
u32 keyid[2],sigdate=0;
|
||||||
|
|
||||||
@ -1684,6 +1684,7 @@ clean_uids_from_key(KBNODE keyblock,int noisy)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
delete_until_next=1;
|
delete_until_next=1;
|
||||||
|
deleting=1;
|
||||||
|
|
||||||
if(noisy)
|
if(noisy)
|
||||||
{
|
{
|
||||||
@ -1722,7 +1723,11 @@ clean_uids_from_key(KBNODE keyblock,int noisy)
|
|||||||
if(delete_until_next && !sig->flags.chosen_selfsig)
|
if(delete_until_next && !sig->flags.chosen_selfsig)
|
||||||
{
|
{
|
||||||
delete_kbnode(node);
|
delete_kbnode(node);
|
||||||
|
if(deleting)
|
||||||
|
{
|
||||||
deleted++;
|
deleted++;
|
||||||
|
deleting=0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user