aboutsummaryrefslogtreecommitdiffstats
path: root/agent/genkey.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/genkey.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/genkey.c')
-rw-r--r--agent/genkey.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/agent/genkey.c b/agent/genkey.c
index df17880c9..af53c60ad 100644
--- a/agent/genkey.c
+++ b/agent/genkey.c
@@ -189,6 +189,9 @@ check_passphrase_constraints (ctrl_t ctrl, const char *pw,
char *msg2 = NULL;
char *msg3 = NULL;
+ if (ctrl && ctrl->pinentry_mode == PINENTRY_MODE_LOOPBACK)
+ return 0;
+
if (!pw)
pw = "";