mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-03 12:11:33 +01:00
scd: New option --debug-assuan-log-cats.
* scd/scdaemon.c (oDebugAssuanLogCats): New. (opts): Add option --debug-assuan-log-cats. (main): Implement option. * common/asshelp.c (set_libassuan_log_cats): New. -- The old way of setting the logging categories with an environment variable is awkward if sdaemon is spawned from a running gpg-agent.
This commit is contained in:
parent
24e121ef26
commit
00c760f628
@ -97,6 +97,19 @@ setup_libassuan_logging (unsigned int *debug_var_address)
|
||||
assuan_set_log_cb (my_libassuan_log_handler, debug_var_address);
|
||||
}
|
||||
|
||||
/* Change the Libassuan log categories to those given by NEWCATS.
|
||||
NEWCATS is 0 the default category of ASSUAN_LOG_CONTROL is
|
||||
selected. Note, that setup_libassuan_logging overrides the values
|
||||
given here. */
|
||||
void
|
||||
set_libassuan_log_cats (unsigned int newcats)
|
||||
{
|
||||
if (newcats)
|
||||
log_cats = newcats;
|
||||
else /* Default to log the control channel. */
|
||||
log_cats = (1 << (ASSUAN_LOG_CONTROL - 1));
|
||||
}
|
||||
|
||||
|
||||
|
||||
static gpg_error_t
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "session-env.h"
|
||||
|
||||
void setup_libassuan_logging (unsigned int *debug_var_address);
|
||||
void set_libassuan_log_cats (unsigned int newcats);
|
||||
|
||||
|
||||
gpg_error_t
|
||||
|
@ -178,7 +178,7 @@ show memory statistics.
|
||||
@item 9 (512)
|
||||
write hashed data to files named @code{dbgmd-000*}
|
||||
@item 10 (1024)
|
||||
trace Assuan protocol
|
||||
trace Assuan protocol. See also option @option{--debug-assuan-log-cats}.
|
||||
@item 11 (2048)
|
||||
trace APDU I/O to the card. This may reveal sensitive data.
|
||||
@end table
|
||||
@ -215,6 +215,15 @@ dump. This options enables it and also changes the working directory to
|
||||
@opindex debug-log-tid
|
||||
This option appends a thread ID to the PID in the log output.
|
||||
|
||||
@item --debug-assuan-log-cats @var{cats}
|
||||
@opindex debug-assuan-log-cats
|
||||
Changes the active Libassuan logging categories to @var{cats}. The
|
||||
value for @var{cats} is an unsigned integer given in usual C-Syntax.
|
||||
A value of of 0 switches to a default category. If this option is not
|
||||
used the categories are taken from the environment variable
|
||||
@samp{ASSUAN_DEBUG}. Note that this option has only an effect if the
|
||||
Assuan debug flag has also been with the option @option{--debug}. For
|
||||
a list of categories see the Libassuan manual.
|
||||
|
||||
@item --no-detach
|
||||
@opindex no-detach
|
||||
|
@ -72,6 +72,7 @@ enum cmd_and_opt_values
|
||||
oDebugAllowCoreDump,
|
||||
oDebugCCIDDriver,
|
||||
oDebugLogTid,
|
||||
oDebugAssuanLogCats,
|
||||
oNoGreeting,
|
||||
oNoOptions,
|
||||
oHomedir,
|
||||
@ -121,6 +122,7 @@ static ARGPARSE_OPTS opts[] = {
|
||||
ARGPARSE_s_n (oDebugCCIDDriver, "debug-ccid-driver", "@"),
|
||||
ARGPARSE_s_n (oDebugDisableTicker, "debug-disable-ticker", "@"),
|
||||
ARGPARSE_s_n (oDebugLogTid, "debug-log-tid", "@"),
|
||||
ARGPARSE_p_u (oDebugAssuanLogCats, "debug-assuan-log-cats", "@"),
|
||||
ARGPARSE_s_n (oNoDetach, "no-detach", N_("do not detach from the console")),
|
||||
ARGPARSE_s_s (oLogFile, "log-file", N_("|FILE|write a log to FILE")),
|
||||
ARGPARSE_s_s (oReaderPort, "reader-port",
|
||||
@ -553,6 +555,9 @@ main (int argc, char **argv )
|
||||
case oDebugLogTid:
|
||||
log_set_pid_suffix_cb (tid_log_callback);
|
||||
break;
|
||||
case oDebugAssuanLogCats:
|
||||
set_libassuan_log_cats (pargs.r.ret_ulong);
|
||||
break;
|
||||
|
||||
case oOptions:
|
||||
/* config files may not be nested (silently ignore them) */
|
||||
|
Loading…
x
Reference in New Issue
Block a user