diff options
Diffstat (limited to 'g10')
-rw-r--r-- | g10/import.c | 15 | ||||
-rw-r--r-- | g10/options.h | 1 |
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) |