gpg: Make --dry-run and show-only work for secret keys.
authorWerner Koch <wk@gnupg.org>
Thu, 19 Oct 2017 15:05:39 +0000 (17:05 +0200)
committerWerner Koch <wk@gnupg.org>
Thu, 19 Oct 2017 15:05:39 +0000 (17:05 +0200)
* g10/import.c (import_secret_one): Check for dry-run before
transferring keys.
--

The use of --dry-run or --import-option show-only had no effect when
importing a secret key and the public key already existed.  If the
public key did not exist an error message inhibited the import of the
secret key.

Signed-off-by: Werner Koch <wk@gnupg.org>
g10/import.c

index 8dd6b50..255e48f 100644 (file)
@@ -2532,7 +2532,8 @@ import_secret_one (ctrl_t ctrl, kbnode_t keyblock,
       /* At least we cancel the secret key import when the public key
         import was skipped due to MERGE_ONLY option and a new
         key.  */
-      if (stats->skipped_new_keys <= nr_prev)
+      if (!(opt.dry_run || (options & IMPORT_DRY_RUN))
+          && stats->skipped_new_keys <= nr_prev)
        {
           /* Read the keyblock again to get the effects of a merge.  */
           /* Fixme: we should do this based on the fingerprint or