summaryrefslogtreecommitdiffstats
path: root/agent
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--agent/ChangeLog5
-rw-r--r--agent/call-pinentry.c8
2 files changed, 12 insertions, 1 deletions
diff --git a/agent/ChangeLog b/agent/ChangeLog
index e691ad7e6..7c948e4c1 100644
--- a/agent/ChangeLog
+++ b/agent/ChangeLog
@@ -1,3 +1,8 @@
+2009-04-14 Marcus Brinkmann <marcus@g10code.de>
+
+ * call-pinentry.c (agent_get_confirmation): Try SETNOTOK command
+ with pinentry.
+
2009-04-01 Werner Koch <wk@g10code.com>
* protect-tool.c (pe_opt): New.
diff --git a/agent/call-pinentry.c b/agent/call-pinentry.c
index c840bb68d..38561e3e8 100644
--- a/agent/call-pinentry.c
+++ b/agent/call-pinentry.c
@@ -870,9 +870,15 @@ agent_get_confirmation (ctrl_t ctrl,
}
if (cancel)
{
- snprintf (line, DIM(line)-1, "SETCANCEL %s", cancel);
+ snprintf (line, DIM(line)-1, "SETNOTOK %s", cancel);
line[DIM(line)-1] = 0;
rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
+ if (gpg_err_code (rc) == GPG_ERR_ASS_UNKNOWN_CMD)
+ {
+ snprintf (line, DIM(line)-1, "SETCANCEL %s", cancel);
+ line[DIM(line)-1] = 0;
+ rc = assuan_transact (entry_ctx, line, NULL, NULL, NULL, NULL, NULL, NULL);
+ }
if (rc)
return unlock_pinentry (rc);
}