From: Werner Koch Date: Mon, 20 May 2019 10:31:55 +0000 (+0200) Subject: gpg: Do not delete any keys if --dry-run is passed. X-Git-Tag: archive/raspbian/2.2.12-1+rpi1+deb10u2^2~32 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=078118e031b41db84a7eeae7a903e1b44511255c;p=gnupg2.git gpg: Do not delete any keys if --dry-run is passed. * g10/delkey.c (do_delete_key): Don't delete the keyblock on dry runs. Do not clear the ownertrust. Do not let the agent delete the key. -- Co-authored-by: Matheus Afonso Martins Moreira Signed-off-by: Werner Koch (cherry picked from commit 5c46c5f74540ad753b925b74593332ca92de47fa) Gbp-Pq: Topic from-2.2.16 Gbp-Pq: Name gpg-Do-not-delete-any-keys-if-dry-run-is-passed.patch --- diff --git a/g10/delkey.c b/g10/delkey.c index bf8c4e9..461a2c8 100644 --- a/g10/delkey.c +++ b/g10/delkey.c @@ -190,7 +190,7 @@ do_delete_key (ctrl_t ctrl, const char *username, int secret, int force, * pre-caution is that since 2.1 the secret key may also * be used for other protocols and thus deleting it from * the gpg would also delete the key for other tools. */ - if (!err) + if (!err && !opt.dry_run) err = agent_delete_key (NULL, hexgrip, prompt, opt.answer_yes); xfree (prompt); @@ -221,7 +221,7 @@ do_delete_key (ctrl_t ctrl, const char *username, int secret, int force, } else { - err = keydb_delete_keyblock (hd); + err = opt.dry_run? 0 : keydb_delete_keyblock (hd); if (err) { log_error (_("deleting keyblock failed: %s\n"), @@ -234,7 +234,7 @@ do_delete_key (ctrl_t ctrl, const char *username, int secret, int force, revalidation_mark(). This makes sense - only deleting keys that have ownertrust set should trigger this. */ - if (!secret && pk && clear_ownertrusts (ctrl, pk)) + if (!secret && pk && !opt.dry_run && clear_ownertrusts (ctrl, pk)) { if (opt.verbose) log_info (_("ownertrust information cleared\n"));