aboutsummaryrefslogtreecommitdiffstats
path: root/g10/import.c
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2005-11-10 21:30:27 +0000
committerDavid Shaw <[email protected]>2005-11-10 21:30:27 +0000
commit477ded81a40eddbe9244550245dd2596191376a1 (patch)
treec8a0bc1f4f0e66d0bd7091b583b84832b1a2680c /g10/import.c
parent* trustdb.h, trustdb.c (clean_sigs_from_uid): Add flag to remove all (diff)
downloadgnupg-477ded81a40eddbe9244550245dd2596191376a1.tar.gz
gnupg-477ded81a40eddbe9244550245dd2596191376a1.zip
* options.h, import.c (parse_import_options, clean_sigs_from_all_uids,
import_one): Add import-minimal option. Similar to export-minimal, except it works on the way in.
Diffstat (limited to '')
-rw-r--r--g10/import.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/g10/import.c b/g10/import.c
index f367b033e..17cc38f00 100644
--- a/g10/import.c
+++ b/g10/import.c
@@ -107,6 +107,9 @@ parse_import_options(char *str,unsigned int *options,int noisy)
N_("remove unusable signatures after import")},
{"import-clean-uids",IMPORT_CLEAN_UIDS,NULL,
N_("remove unusable user IDs after import")},
+ {"import-minimal",
+ IMPORT_MINIMAL|IMPORT_CLEAN_SIGS|IMPORT_CLEAN_UIDS,NULL,
+ N_("remove unusable user IDs and all signatures after import")},
/* Aliases for backward compatibility */
{"allow-local-sigs",IMPORT_LOCAL_SIGS,NULL,NULL},
{"repair-hkp-subkey-bug",IMPORT_REPAIR_PKS_SUBKEY_BUG,NULL,NULL},
@@ -667,14 +670,14 @@ check_prefs(KBNODE keyblock)
}
static int
-clean_sigs_from_all_uids(KBNODE keyblock)
+clean_sigs_from_all_uids(KBNODE keyblock,int self_only)
{
KBNODE uidnode;
int deleted=0;
for(uidnode=keyblock->next;uidnode;uidnode=uidnode->next)
if(uidnode->pkt->pkttype==PKT_USER_ID)
- deleted+=clean_sigs_from_uid(keyblock,uidnode,opt.verbose,0);
+ deleted+=clean_sigs_from_uid(keyblock,uidnode,opt.verbose,self_only);
return deleted;
}
@@ -746,7 +749,7 @@ import_one( const char *fname, KBNODE keyblock,
the end result, but does result in less logging which might
confuse the user. */
if(options&IMPORT_CLEAN_SIGS)
- clean_sigs_from_all_uids(keyblock);
+ clean_sigs_from_all_uids(keyblock,options&IMPORT_MINIMAL);
if(options&IMPORT_CLEAN_UIDS)
clean_uids_from_key(keyblock,opt.verbose);
@@ -899,7 +902,8 @@ import_one( const char *fname, KBNODE keyblock,
}
if(options&IMPORT_CLEAN_SIGS)
- n_sigs_cleaned=clean_sigs_from_all_uids(keyblock_orig);
+ n_sigs_cleaned=clean_sigs_from_all_uids(keyblock_orig,
+ options&IMPORT_MINIMAL);
if(options&IMPORT_CLEAN_UIDS)
n_uids_cleaned=clean_uids_from_key(keyblock_orig,opt.verbose);