aboutsummaryrefslogtreecommitdiffstats
path: root/agent/command.c
diff options
context:
space:
mode:
authorBen Kibbey <[email protected]>2015-08-16 17:46:59 +0000
committerBen Kibbey <[email protected]>2015-08-16 20:12:46 +0000
commitbba74cdd95ea98b5a7c3a12823b229341e91504e (patch)
tree3c3a37197d0e21d9cc99a20751ce4e0beb8fad55 /agent/command.c
parentFix sending INQUIRE_MAXLEN for symmetric data. (diff)
downloadgnupg-bba74cdd95ea98b5a7c3a12823b229341e91504e.tar.gz
gnupg-bba74cdd95ea98b5a7c3a12823b229341e91504e.zip
Fix pinentry loopback and passphrase contraints.
* agent/command.c (cmd_get_passphrase): Don't repeat passphrase for pinentry loopback mode. * agent/genkey.c (check_passphrase_constraints): Immediately return when pinentry mode is loopback. -- Fixes endless loop when inquiring a passphrase with pinentry-mode=loopback that may not satisfy passphrase contraints.
Diffstat (limited to 'agent/command.c')
-rw-r--r--agent/command.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/agent/command.c b/agent/command.c
index 62a4628cd..f09a2ff32 100644
--- a/agent/command.c
+++ b/agent/command.c
@@ -1541,6 +1541,9 @@ cmd_get_passphrase (assuan_context_t ctx, char *line)
{
char *response2;
+ if (ctrl->pinentry_mode == PINENTRY_MODE_LOOPBACK)
+ break;
+
rc = agent_get_passphrase (ctrl, &response2, desc2, prompt,
errtext, 0,
cacheid, CACHE_MODE_USER);