1
0
mirror of git://git.gnupg.org/gnupg.git synced 2025-01-08 12:44:23 +01:00
Neal H. Walfield dde8ddffd3 agent: Backport changes from 2.1 to support an external password manager.
* agent/agent.h (agent_askpin): Add arguments keyinfo and cache_mode.
Update callers.
(agent_get_passphrase): Likewise.
(agent_clear_passphrase): New function.
(opt): Add field allow_external_cache.
* agent/call-pinentry.c (start_pinentry): Send "OPTION
allow-external-password-cache" to the pinentry.
(PINENTRY_STATUS_PASSWORD_FROM_CACHE): New constant.
(pinentry_status_cb): New function.
(agent_askpin): Add arguments keyinfo and cache_mode.  If KEYINFO and
CACHE_MODE describe a cachable key, then send SETKEYINFO to the
pinentry.  Pass PINENTRY_STATUS_CB to the "GETPIN" invocation.  If the
passphrase was incorrect and PINENTRY_STATUS_PASSWORD_FROM_CACHE is
set, decrement PININFO->FAILED_TRIES.
(agent_get_passphrase): Add arguments keyinfo and cache_mode.  If
KEYINFO and CACHE_MODE describe a cachable key, then send SETKEYINFO
to the pinentry.
(agent_clear_passphrase): New function.
* agent/call-pinentry.c (start_pinentry): Act upon new var,
allow_external_cache.
* agent/command.c (cmd_clear_passphrase): Call agent_clear_passphrase.
* agent/gpg-agent.c (oNoAllowExternalCache): New.
(opts): Add option --no-allow-external-cache.
(parse_rereadable_options): Set this option.

--
Signed-off-by: Neal H. Walfield <neal@g10code.com>

Based on commits:

3a9305439b75ccd4446378d4fd87da087fd9c892
e201c20f25e7bed29088186c5f717d43047a0f4b
d7293cb317acc40cc9e5189cef33fe9d8b47e62a
56b5c9f94f2e55d096be585ed061ccf1c9ec0de6
d3b5cad2346bd5747789dc62d7804fa5c15f4f3b
2180845959839705200e3172dbafc94b70b9007f
2015-05-19 15:32:54 +02:00
..
2008-06-25 11:14:48 +00:00
sm/
2006-11-14 10:23:21 +00:00
2008-06-25 11:14:48 +00:00
2011-01-13 16:01:21 +01:00
FAQ
2011-01-13 16:01:21 +01:00
2010-02-11 11:34:34 +00:00
2003-01-09 13:24:01 +00:00
2009-07-22 13:33:46 +00:00
2011-01-13 16:01:21 +01:00
2007-07-04 19:49:40 +00:00
2007-03-08 18:31:56 +00:00
2007-03-08 18:31:56 +00:00
2007-03-08 18:31:56 +00:00
2011-01-13 16:01:21 +01:00
2009-05-06 10:57:10 +00:00
2013-04-22 17:29:57 +02:00
2013-02-12 14:17:38 +09:00
2007-05-08 13:59:41 +00:00
2006-08-21 20:20:23 +00:00
2014-06-24 15:43:46 +02:00
2014-09-27 15:31:25 +02:00
2008-06-25 11:14:48 +00:00
2012-11-30 13:14:09 -05:00
2013-10-04 19:09:36 +02:00
2009-07-22 13:33:46 +00:00
2014-06-24 13:54:30 +02:00
2008-04-03 09:58:28 +00:00
2006-12-06 16:38:34 +00:00
2015-01-13 10:51:38 +09:00