From 5c46c5f74540ad753b925b74593332ca92de47fa Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Mon, 20 May 2019 12:31:55 +0200 Subject: [PATCH] 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 --- g10/delkey.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/g10/delkey.c b/g10/delkey.c index bf8c4e93b..461a2c886 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"));