diff options
author | Werner Koch <[email protected]> | 2016-05-10 09:01:42 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2016-05-10 09:01:42 +0000 |
commit | ac9ff644b12c4dfa55d466af8ae6af54d1646893 (patch) | |
tree | 53c7e2f423de931b5f87bedc9850de115fa5bc8e /g10/call-agent.c | |
parent | gpg: Fix buglet in the check_all_keysigs function. (diff) | |
download | gnupg-ac9ff644b12c4dfa55d466af8ae6af54d1646893.tar.gz gnupg-ac9ff644b12c4dfa55d466af8ae6af54d1646893.zip |
gpg: Allow unattended deletion of secret keys.
* agent/command.c (cmd_delete_key): Make the --force option depend on
--disallow-loopback-passphrase.
* g10/call-agent.c (agent_delete_key): Add arg FORCE.
* g10/delkey.c (do_delete_key): Pass opt.answer_yes to
agent_delete_key.
--
Unless the agent has been configured with
--disallow-loopback-passpharse an unattended deletion of a secret key
is now possible with gpg by using --batch _and_ --yes.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to '')
-rw-r--r-- | g10/call-agent.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/g10/call-agent.c b/g10/call-agent.c index c5bd694f0..d8c6dede3 100644 --- a/g10/call-agent.c +++ b/g10/call-agent.c @@ -2349,9 +2349,11 @@ agent_export_key (ctrl_t ctrl, const char *hexkeygrip, const char *desc, /* Ask the agent to delete the key identified by HEXKEYGRIP. If DESC is not NULL, display DESC instead of the default description - message. */ + message. If FORCE is true the agent is advised not to ask for + confirmation. */ gpg_error_t -agent_delete_key (ctrl_t ctrl, const char *hexkeygrip, const char *desc) +agent_delete_key (ctrl_t ctrl, const char *hexkeygrip, const char *desc, + int force) { gpg_error_t err; char line[ASSUAN_LINELENGTH]; @@ -2376,7 +2378,8 @@ agent_delete_key (ctrl_t ctrl, const char *hexkeygrip, const char *desc) return err; } - snprintf (line, DIM(line)-1, "DELETE_KEY %s", hexkeygrip); + snprintf (line, DIM(line)-1, "DELETE_KEY%s %s", + force? " --force":"", hexkeygrip); err = assuan_transact (agent_ctx, line, NULL, NULL, default_inq_cb, &dfltparm, NULL, NULL); |