aboutsummaryrefslogtreecommitdiffstats
path: root/agent/call-pinentry.c
diff options
context:
space:
mode:
Diffstat (limited to 'agent/call-pinentry.c')
-rw-r--r--agent/call-pinentry.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/agent/call-pinentry.c b/agent/call-pinentry.c
index c6c52be74..656d5f623 100644
--- a/agent/call-pinentry.c
+++ b/agent/call-pinentry.c
@@ -1543,6 +1543,17 @@ agent_askpin (ctrl_t ctrl,
NULL, NULL, NULL, NULL, NULL, NULL);
if (rc)
pininfo->with_repeat = 0; /* Pinentry does not support it. */
+
+ if (pininfo->with_repeat)
+ {
+ snprintf (line, DIM(line), "SETREPEATOK %s",
+ L_("Passphrases match."));
+ rc = assuan_transact (entry_ctx, line,
+ NULL, NULL, NULL, NULL, NULL, NULL);
+ if (rc)
+ rc = 0; /* Pinentry does not support it. */
+ }
+
}
pininfo->repeat_okay = 0;
pininfo->status = 0;
@@ -1802,6 +1813,16 @@ agent_get_passphrase (ctrl_t ctrl,
if (rc)
pininfo->with_repeat = 0; /* Pinentry does not support it. */
+ if (pininfo->with_repeat)
+ {
+ snprintf (line, DIM(line), "SETREPEATOK %s",
+ L_("Passphrases match."));
+ rc = assuan_transact (entry_ctx, line,
+ NULL, NULL, NULL, NULL, NULL, NULL);
+ if (rc)
+ rc = 0; /* Pinentry does not support it. */
+ }
+
(void)setup_genpin (ctrl);
rc = setup_enforced_constraints (ctrl);