mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
support numeric debug levels.
This commit is contained in:
parent
edd95da365
commit
cb5491bfaf
14 changed files with 236 additions and 59 deletions
39
g10/gpg.c
39
g10/gpg.c
|
@ -976,19 +976,30 @@ set_opt_session_env (const char *name, const char *value)
|
|||
static void
|
||||
set_debug (const char *level)
|
||||
{
|
||||
int numok = (level && digitp (level));
|
||||
int numlvl = numok? atoi (level) : 0;
|
||||
|
||||
if (!level)
|
||||
;
|
||||
else if (!strcmp (level, "none"))
|
||||
else if (!strcmp (level, "none") || (numok && numlvl < 1))
|
||||
opt.debug = 0;
|
||||
else if (!strcmp (level, "basic"))
|
||||
else if (!strcmp (level, "basic") || (numok && numlvl <= 2))
|
||||
opt.debug = DBG_MEMSTAT_VALUE;
|
||||
else if (!strcmp (level, "advanced"))
|
||||
else if (!strcmp (level, "advanced") || (numok && numlvl <= 5))
|
||||
opt.debug = DBG_MEMSTAT_VALUE|DBG_TRUST_VALUE|DBG_EXTPROG_VALUE;
|
||||
else if (!strcmp (level, "expert"))
|
||||
else if (!strcmp (level, "expert") || (numok && numlvl <= 8))
|
||||
opt.debug = (DBG_MEMSTAT_VALUE|DBG_TRUST_VALUE|DBG_EXTPROG_VALUE
|
||||
|DBG_CACHE_VALUE|DBG_FILTER_VALUE|DBG_PACKET_VALUE);
|
||||
else if (!strcmp (level, "guru"))
|
||||
opt.debug = ~0;
|
||||
else if (!strcmp (level, "guru") || numok)
|
||||
{
|
||||
opt.debug = ~0;
|
||||
/* Unless the "guru" string has been used we don't want to allow
|
||||
hashing debugging. The rationale is that people tend to
|
||||
select the highest debug value and would then clutter their
|
||||
disk with debug files which may reveal confidential data. */
|
||||
if (numok)
|
||||
opt.debug &= ~(DBG_HASHING_VALUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
log_error (_("invalid debug-level `%s' given\n"), level);
|
||||
|
@ -1006,6 +1017,22 @@ set_debug (const char *level)
|
|||
if (opt.debug & DBG_IOBUF_VALUE )
|
||||
iobuf_debug_mode = 1;
|
||||
gcry_control (GCRYCTL_SET_VERBOSITY, (int)opt.verbose);
|
||||
|
||||
if (opt.debug)
|
||||
log_info ("enabled debug flags:%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
|
||||
(opt.debug & DBG_PACKET_VALUE )? " packet":"",
|
||||
(opt.debug & DBG_MPI_VALUE )? " mpi":"",
|
||||
(opt.debug & DBG_CIPHER_VALUE )? " cipher":"",
|
||||
(opt.debug & DBG_FILTER_VALUE )? " filter":"",
|
||||
(opt.debug & DBG_IOBUF_VALUE )? " iobuf":"",
|
||||
(opt.debug & DBG_MEMORY_VALUE )? " memory":"",
|
||||
(opt.debug & DBG_CACHE_VALUE )? " cache":"",
|
||||
(opt.debug & DBG_MEMSTAT_VALUE)? " memstat":"",
|
||||
(opt.debug & DBG_TRUST_VALUE )? " trust":"",
|
||||
(opt.debug & DBG_HASHING_VALUE)? " hashing":"",
|
||||
(opt.debug & DBG_EXTPROG_VALUE)? " extprog":"",
|
||||
(opt.debug & DBG_CARD_IO_VALUE)? " cardio":"",
|
||||
(opt.debug & DBG_ASSUAN_VALUE )? " assuan":"");
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue