diff options
author | Ben Kibbey <[email protected]> | 2023-03-06 01:14:07 +0000 |
---|---|---|
committer | Ben Kibbey <[email protected]> | 2023-03-10 04:12:07 +0000 |
commit | be77a7ab8a8bdbde6f40a233a1a60f7924a21d4a (patch) | |
tree | aa21fd4040bf39a08d2ea7c6ef42682ebc307bd4 /agent/call-pinentry.c | |
parent | dirmngr: Distinguish between "no crl" and "crl not trusted". (diff) | |
download | gnupg-be77a7ab8a8bdbde6f40a233a1a60f7924a21d4a.tar.gz gnupg-be77a7ab8a8bdbde6f40a233a1a60f7924a21d4a.zip |
agent: Try to SETREPEATOK if the pinentry supports it.
* agent/call-pinentry.c (agent_get_passphrase): Do SETREPEATOK.
(agent_askpin): Ditto.
Signed-off-by: Ben Kibbey <[email protected]>
Diffstat (limited to 'agent/call-pinentry.c')
-rw-r--r-- | agent/call-pinentry.c | 21 |
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); |