aboutsummaryrefslogtreecommitdiffstats
path: root/agent/agent.h
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2021-08-18 16:24:35 +0000
committerWerner Koch <[email protected]>2021-08-18 16:46:39 +0000
commitb89b1f35c29ceaebe39b31444936aa66c9297f2c (patch)
tree79a5d2e754f1276389eb02c02ba06817ec7c9af8 /agent/agent.h
parentagent: Improve the GENPIN callback. (diff)
downloadgnupg-b89b1f35c29ceaebe39b31444936aa66c9297f2c.tar.gz
gnupg-b89b1f35c29ceaebe39b31444936aa66c9297f2c.zip
agent: Ignore passphrase constraints for a generated passphrase.
* agent/agent.h (PINENTRY_STATUS_PASSWORD_GENERATED): New. (MAX_GENPIN_TRIES): Remove. * agent/call-pinentry.c (struct entry_parm_s): (struct inq_cb_parm_s): Add genpinhash and genpinhas_valid. (is_generated_pin): New. (inq_cb): Suppress constraints checking for a generated passphrase. No more need for several tries to generate the passphrase. (do_getpin): Store a generated passphrase/pin in the status field. (agent_askpin): Suppress constraints checking for a generated passphrase. (agent_get_passphrase): Ditto. * agent/command.c (cmd_get_passphrase): Ditto. -- A generated passphrase has enough entropy so that all kind of extra checks would only reduce the actual available entropy. We thus detect if a passphrase has been generated (and not changed) and skip all passphrase constraints checking.
Diffstat (limited to 'agent/agent.h')
-rw-r--r--agent/agent.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/agent/agent.h b/agent/agent.h
index 2bdee97c8..6004f2d42 100644
--- a/agent/agent.h
+++ b/agent/agent.h
@@ -296,7 +296,8 @@ enum
{
PINENTRY_STATUS_CLOSE_BUTTON = 1 << 0,
PINENTRY_STATUS_PIN_REPEATED = 1 << 8,
- PINENTRY_STATUS_PASSWORD_FROM_CACHE = 1 << 9
+ PINENTRY_STATUS_PASSWORD_FROM_CACHE = 1 << 9,
+ PINENTRY_STATUS_PASSWORD_GENERATED = 1 << 10
};
/* Information pertaining to pinentry requests. */