diff options
author | Werner Koch <[email protected]> | 2015-05-11 08:23:24 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2015-05-11 08:23:24 +0000 |
commit | 14232c3870c5ef5d2fa15e8ed3f302b1ba29d25c (patch) | |
tree | c604fce0d1ca321f8cadc6a248bf5fb996478368 /agent | |
parent | gpg: Avoid cluttering stdout with trustdb info in verbose mode. (diff) | |
download | gnupg-14232c3870c5ef5d2fa15e8ed3f302b1ba29d25c.tar.gz gnupg-14232c3870c5ef5d2fa15e8ed3f302b1ba29d25c.zip |
agent: Add option --debug-pinentry.
* agent/gpg-agent.c (oDebugPinentry): New.
(opts): Add --debug-pinentry.
(parse_rereadable_options): Set that option.
* agent/call-pinentry.c (start_pinentry): Pass option to
assuan_set_flag.
--
This option is quite useful to see the IPC between gpg-agent and
Pinentry. Note that "debug 1024" is also required.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'agent')
-rw-r--r-- | agent/agent.h | 3 | ||||
-rw-r--r-- | agent/call-pinentry.c | 2 | ||||
-rw-r--r-- | agent/gpg-agent.c | 4 |
3 files changed, 8 insertions, 1 deletions
diff --git a/agent/agent.h b/agent/agent.h index b374ee867..4d28effa4 100644 --- a/agent/agent.h +++ b/agent/agent.h @@ -67,6 +67,9 @@ struct char *startup_lc_ctype; char *startup_lc_messages; + /* Enable pinentry debugging (--debug 1024 should also be used). */ + int debug_pinentry; + /* Filename of the program to start as pinentry. */ const char *pinentry_program; diff --git a/agent/call-pinentry.c b/agent/call-pinentry.c index 0a0f95be8..8cbb33edd 100644 --- a/agent/call-pinentry.c +++ b/agent/call-pinentry.c @@ -332,7 +332,7 @@ start_pinentry (ctrl_t ctrl) easier to read. We might want to add a new debug option to enable pinentry logging. */ #ifdef ASSUAN_NO_LOGGING - assuan_set_flag (ctx, ASSUAN_NO_LOGGING, 1); + assuan_set_flag (ctx, ASSUAN_NO_LOGGING, !opt.debug_pinentry); #endif /* Connect to the pinentry and perform initial handshaking. Note diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c index c27de89b6..c846ab494 100644 --- a/agent/gpg-agent.c +++ b/agent/gpg-agent.c @@ -79,6 +79,7 @@ enum cmd_and_opt_values oDebugLevel, oDebugWait, oDebugQuickRandom, + oDebugPinentry, oNoGreeting, oNoOptions, oHomedir, @@ -154,6 +155,7 @@ static ARGPARSE_OPTS opts[] = { ARGPARSE_s_s (oDebugLevel, "debug-level", "@"), ARGPARSE_s_i (oDebugWait," debug-wait", "@"), ARGPARSE_s_n (oDebugQuickRandom, "debug-quick-random", "@"), + ARGPARSE_s_n (oDebugPinentry, "debug-pinentry", "@"), ARGPARSE_s_n (oNoDetach, "no-detach", N_("do not detach from the console")), ARGPARSE_s_n (oNoGrab, "no-grab", N_("do not grab keyboard and mouse")), @@ -539,6 +541,7 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread) opt.verbose = 0; opt.debug = 0; opt.no_grab = 0; + opt.debug_pinentry = 0; opt.pinentry_program = NULL; opt.pinentry_touch_file = NULL; opt.scdaemon_program = NULL; @@ -567,6 +570,7 @@ parse_rereadable_options (ARGPARSE_ARGS *pargs, int reread) case oDebug: opt.debug |= pargs->r.ret_ulong; break; case oDebugAll: opt.debug = ~0; break; case oDebugLevel: debug_level = pargs->r.ret_str; break; + case oDebugPinentry: opt.debug_pinentry = 1; break; case oLogFile: if (!reread) |