aboutsummaryrefslogtreecommitdiffstats
path: root/g10
diff options
context:
space:
mode:
Diffstat (limited to 'g10')
-rw-r--r--g10/import.c15
-rw-r--r--g10/options.h1
2 files changed, 14 insertions, 2 deletions
diff --git a/g10/import.c b/g10/import.c
index 2baa29806..c9df368c1 100644
--- a/g10/import.c
+++ b/g10/import.c
@@ -95,18 +95,28 @@ parse_import_options(char *str,unsigned int *options,int noisy)
{
{"import-local-sigs",IMPORT_LOCAL_SIGS,NULL,
N_("import signatures that are marked as local-only")},
+
{"repair-pks-subkey-bug",IMPORT_REPAIR_PKS_SUBKEY_BUG,NULL,
N_("repair damage from the pks keyserver during import")},
+
+ {"keep-ownertrust", IMPORT_KEEP_OWNERTTRUST, NULL,
+ N_("do not clear the ownertrust values during import")},
+
{"fast-import",IMPORT_FAST,NULL,
N_("do not update the trustdb after import")},
+
{"convert-sk-to-pk",IMPORT_SK2PK,NULL,
N_("create a public key when importing a secret key")},
+
{"merge-only",IMPORT_MERGE_ONLY,NULL,
N_("only accept updates to existing keys")},
+
{"import-clean",IMPORT_CLEAN,NULL,
N_("remove unusable parts from key after import")},
+
{"import-minimal",IMPORT_MINIMAL|IMPORT_CLEAN,NULL,
N_("remove as much as possible from key 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},
@@ -881,12 +891,13 @@ import_one( const char *fname, KBNODE keyblock, struct stats_s *stats,
if (rc)
log_error (_("error writing keyring `%s': %s\n"),
keydb_get_resource_name (hd), g10_errstr(rc));
- else
+ else if (!(opt.import_options & IMPORT_KEEP_OWNERTTRUST))
{
/* This should not be possible since we delete the
ownertrust when a key is deleted, but it can happen if
the keyring and trustdb are out of sync. It can also
- be made to happen with the trusted-key command. */
+ be made to happen with the trusted-key command and by
+ importing and locally exported key. */
clear_ownertrusts (pk);
if(non_self)
diff --git a/g10/options.h b/g10/options.h
index 670cf64c2..dad598050 100644
--- a/g10/options.h
+++ b/g10/options.h
@@ -299,6 +299,7 @@ struct {
#define IMPORT_MINIMAL (1<<5)
#define IMPORT_CLEAN (1<<6)
#define IMPORT_NO_SECKEY (1<<7)
+#define IMPORT_KEEP_OWNERTTRUST (1<<8)
#define EXPORT_LOCAL_SIGS (1<<0)
#define EXPORT_ATTRIBUTES (1<<1)