mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-08 12:44:23 +01:00
Allow for numerical debug levels.
This commit is contained in:
parent
56680123a6
commit
1356693b0d
3
NEWS
3
NEWS
@ -4,6 +4,9 @@ Noteworthy changes in version 2.0.14
|
|||||||
* The default for --inlucde-cert is now to include all certificates
|
* The default for --inlucde-cert is now to include all certificates
|
||||||
in the chain except for the root certificate.
|
in the chain except for the root certificate.
|
||||||
|
|
||||||
|
* Numerical values may now be used as an alternative to the
|
||||||
|
debug-level keywords.
|
||||||
|
|
||||||
|
|
||||||
Noteworthy changes in version 2.0.13 (2009-09-04)
|
Noteworthy changes in version 2.0.13 (2009-09-04)
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2009-12-03 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* gpg-agent.c (set_debug): Allow for numerical debug leveles. Print
|
||||||
|
active debug flags.
|
||||||
|
|
||||||
2009-12-02 Werner Koch <wk@g10code.com>
|
2009-12-02 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* trustlist.c (read_trustfiles): Store the pointer returned from
|
* trustlist.c (read_trustfiles): Store the pointer returned from
|
||||||
|
@ -360,19 +360,30 @@ my_strusage (int level)
|
|||||||
static void
|
static void
|
||||||
set_debug (void)
|
set_debug (void)
|
||||||
{
|
{
|
||||||
|
int numok = (debug_level && digitp (debug_level));
|
||||||
|
int numlvl = numok? atoi (debug_level) : 0;
|
||||||
|
|
||||||
if (!debug_level)
|
if (!debug_level)
|
||||||
;
|
;
|
||||||
else if (!strcmp (debug_level, "none"))
|
else if (!strcmp (debug_level, "none") || (numok && numlvl < 1))
|
||||||
opt.debug = 0;
|
opt.debug = 0;
|
||||||
else if (!strcmp (debug_level, "basic"))
|
else if (!strcmp (debug_level, "basic") || (numok && numlvl <= 2))
|
||||||
opt.debug = DBG_ASSUAN_VALUE;
|
opt.debug = DBG_ASSUAN_VALUE;
|
||||||
else if (!strcmp (debug_level, "advanced"))
|
else if (!strcmp (debug_level, "advanced") || (numok && numlvl <= 5))
|
||||||
opt.debug = DBG_ASSUAN_VALUE|DBG_COMMAND_VALUE;
|
opt.debug = DBG_ASSUAN_VALUE|DBG_COMMAND_VALUE;
|
||||||
else if (!strcmp (debug_level, "expert"))
|
else if (!strcmp (debug_level, "expert") || (numok && numlvl <= 8))
|
||||||
opt.debug = (DBG_ASSUAN_VALUE|DBG_COMMAND_VALUE
|
opt.debug = (DBG_ASSUAN_VALUE|DBG_COMMAND_VALUE
|
||||||
|DBG_CACHE_VALUE);
|
|DBG_CACHE_VALUE);
|
||||||
else if (!strcmp (debug_level, "guru"))
|
else if (!strcmp (debug_level, "guru") || numok)
|
||||||
opt.debug = ~0;
|
{
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
log_error (_("invalid debug-level `%s' given\n"), debug_level);
|
log_error (_("invalid debug-level `%s' given\n"), debug_level);
|
||||||
@ -390,6 +401,17 @@ set_debug (void)
|
|||||||
if (opt.debug & DBG_CRYPTO_VALUE )
|
if (opt.debug & DBG_CRYPTO_VALUE )
|
||||||
gcry_control (GCRYCTL_SET_DEBUG_FLAGS, 1);
|
gcry_control (GCRYCTL_SET_DEBUG_FLAGS, 1);
|
||||||
gcry_control (GCRYCTL_SET_VERBOSITY, (int)opt.verbose);
|
gcry_control (GCRYCTL_SET_VERBOSITY, (int)opt.verbose);
|
||||||
|
|
||||||
|
if (opt.debug)
|
||||||
|
log_info ("enabled debug flags:%s%s%s%s%s%s%s%s\n",
|
||||||
|
(opt.debug & DBG_COMMAND_VALUE)? " command":"",
|
||||||
|
(opt.debug & DBG_MPI_VALUE )? " mpi":"",
|
||||||
|
(opt.debug & DBG_CRYPTO_VALUE )? " crypto":"",
|
||||||
|
(opt.debug & DBG_MEMORY_VALUE )? " memory":"",
|
||||||
|
(opt.debug & DBG_CACHE_VALUE )? " cache":"",
|
||||||
|
(opt.debug & DBG_MEMSTAT_VALUE)? " memstat":"",
|
||||||
|
(opt.debug & DBG_HASHING_VALUE)? " hashing":"",
|
||||||
|
(opt.debug & DBG_ASSUAN_VALUE )? " assuan":"");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -213,20 +213,26 @@ forth to @var{epoch} which is the number of seconds elapsed since the year
|
|||||||
@item --debug-level @var{level}
|
@item --debug-level @var{level}
|
||||||
@opindex debug-level
|
@opindex debug-level
|
||||||
Select the debug level for investigating problems. @var{level} may be
|
Select the debug level for investigating problems. @var{level} may be
|
||||||
one of:
|
a numeric value or a keyword:
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
@item none
|
@item none
|
||||||
no debugging at all.
|
No debugging at all. A value of less than 1 may be used instead of
|
||||||
@item basic
|
the keyword.
|
||||||
some basic debug messages
|
@item basic
|
||||||
@item advanced
|
Some basic debug messages. A value between 1 and 2 may be used
|
||||||
more verbose debug messages
|
instead of the keyword.
|
||||||
@item expert
|
@item advanced
|
||||||
even more detailed messages
|
More verbose debug messages. A value between 3 and 5 may be used
|
||||||
@item guru
|
instead of the keyword.
|
||||||
all of the debug messages you can get
|
@item expert
|
||||||
@end table
|
Even more detailed messages. A value between 6 and 8 may be used
|
||||||
|
instead of the keyword.
|
||||||
|
@item guru
|
||||||
|
All of the debug messages you can get. A value greater than 8 may be
|
||||||
|
used instead of the keyword. The creation of hash tracing files is
|
||||||
|
only enabled if the keyword is used.
|
||||||
|
@end table
|
||||||
|
|
||||||
How these messages are mapped to the actual debugging flags is not
|
How these messages are mapped to the actual debugging flags is not
|
||||||
specified and may change with newer releases of this program. They are
|
specified and may change with newer releases of this program. They are
|
||||||
|
28
doc/gpg.texi
28
doc/gpg.texi
@ -2134,6 +2134,34 @@ therefore enables a fast listing of the encryption keys.
|
|||||||
@opindex interactive
|
@opindex interactive
|
||||||
Prompt before overwriting any files.
|
Prompt before overwriting any files.
|
||||||
|
|
||||||
|
@item --debug-level @var{level}
|
||||||
|
@opindex debug-level
|
||||||
|
Select the debug level for investigating problems. @var{level} may be
|
||||||
|
a numeric value or by a keyword:
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
@item none
|
||||||
|
No debugging at all. A value of less than 1 may be used instead of
|
||||||
|
the keyword.
|
||||||
|
@item basic
|
||||||
|
Some basic debug messages. A value between 1 and 2 may be used
|
||||||
|
instead of the keyword.
|
||||||
|
@item advanced
|
||||||
|
More verbose debug messages. A value between 3 and 5 may be used
|
||||||
|
instead of the keyword.
|
||||||
|
@item expert
|
||||||
|
Even more detailed messages. A value between 6 and 8 may be used
|
||||||
|
instead of the keyword.
|
||||||
|
@item guru
|
||||||
|
All of the debug messages you can get. A value greater than 8 may be
|
||||||
|
used instead of the keyword. The creation of hash tracing files is
|
||||||
|
only enabled if the keyword is used.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
How these messages are mapped to the actual debugging flags is not
|
||||||
|
specified and may change with newer releases of this program. They are
|
||||||
|
however carefully selected to best aid in debugging.
|
||||||
|
|
||||||
@item --debug @var{flags}
|
@item --debug @var{flags}
|
||||||
@opindex debug
|
@opindex debug
|
||||||
Set debugging flags. All flags are or-ed and @var{flags} may
|
Set debugging flags. All flags are or-ed and @var{flags} may
|
||||||
|
@ -617,19 +617,25 @@ is given as fingerprint or keygrip.
|
|||||||
@item --debug-level @var{level}
|
@item --debug-level @var{level}
|
||||||
@opindex debug-level
|
@opindex debug-level
|
||||||
Select the debug level for investigating problems. @var{level} may be
|
Select the debug level for investigating problems. @var{level} may be
|
||||||
one of:
|
a numeric value or by a keyword:
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
@item none
|
@item none
|
||||||
no debugging at all.
|
No debugging at all. A value of less than 1 may be used instead of
|
||||||
|
the keyword.
|
||||||
@item basic
|
@item basic
|
||||||
some basic debug messages
|
Some basic debug messages. A value between 1 and 2 may be used
|
||||||
|
instead of the keyword.
|
||||||
@item advanced
|
@item advanced
|
||||||
more verbose debug messages
|
More verbose debug messages. A value between 3 and 5 may be used
|
||||||
|
instead of the keyword.
|
||||||
@item expert
|
@item expert
|
||||||
even more detailed messages
|
Even more detailed messages. A value between 6 and 8 may be used
|
||||||
|
instead of the keyword.
|
||||||
@item guru
|
@item guru
|
||||||
all of the debug messages you can get
|
All of the debug messages you can get. A value greater than 8 may be
|
||||||
|
used instead of the keyword. The creation of hash tracing files is
|
||||||
|
only enabled if the keyword is used.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
How these messages are mapped to the actual debugging flags is not
|
How these messages are mapped to the actual debugging flags is not
|
||||||
|
@ -123,20 +123,26 @@ verbose commands to @command{gpgsm}, such as @samp{-vv}.
|
|||||||
|
|
||||||
@item --debug-level @var{level}
|
@item --debug-level @var{level}
|
||||||
@opindex debug-level
|
@opindex debug-level
|
||||||
Select the debug level for investigating problems. @var{level} may be
|
Select the debug level for investigating problems. @var{level} may be
|
||||||
one of:
|
a numeric value or a keyword:
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
@item none
|
@item none
|
||||||
no debugging at all.
|
No debugging at all. A value of less than 1 may be used instead of
|
||||||
|
the keyword.
|
||||||
@item basic
|
@item basic
|
||||||
some basic debug messages
|
Some basic debug messages. A value between 1 and 2 may be used
|
||||||
|
instead of the keyword.
|
||||||
@item advanced
|
@item advanced
|
||||||
more verbose debug messages
|
More verbose debug messages. A value between 3 and 5 may be used
|
||||||
|
instead of the keyword.
|
||||||
@item expert
|
@item expert
|
||||||
even more detailed messages
|
Even more detailed messages. A value between 6 and 8 may be used
|
||||||
|
instead of the keyword.
|
||||||
@item guru
|
@item guru
|
||||||
all of the debug messages you can get
|
All of the debug messages you can get. A value greater than 8 may be
|
||||||
|
used instead of the keyword. The creation of hash tracing files is
|
||||||
|
only enabled if the keyword is used.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
How these messages are mapped to the actual debugging flags is not
|
How these messages are mapped to the actual debugging flags is not
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2009-12-03 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* gpg.c (set_debug): Allow for numerical debug levels. Print
|
||||||
|
active debug flags.
|
||||||
|
|
||||||
2009-09-28 Werner Koch <wk@g10code.com>
|
2009-09-28 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* trustdb.c (get_validity_info): Take care of a NULL PK. Fixes
|
* trustdb.c (get_validity_info): Take care of a NULL PK. Fixes
|
||||||
|
39
g10/gpg.c
39
g10/gpg.c
@ -972,19 +972,30 @@ set_opt_session_env (const char *name, const char *value)
|
|||||||
static void
|
static void
|
||||||
set_debug (const char *level)
|
set_debug (const char *level)
|
||||||
{
|
{
|
||||||
|
int numok = (level && digitp (level));
|
||||||
|
int numlvl = numok? atoi (level) : 0;
|
||||||
|
|
||||||
if (!level)
|
if (!level)
|
||||||
;
|
;
|
||||||
else if (!strcmp (level, "none"))
|
else if (!strcmp (level, "none") || (numok && numlvl < 1))
|
||||||
opt.debug = 0;
|
opt.debug = 0;
|
||||||
else if (!strcmp (level, "basic"))
|
else if (!strcmp (level, "basic") || (numok && numlvl <= 2))
|
||||||
opt.debug = DBG_MEMSTAT_VALUE;
|
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;
|
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
|
opt.debug = (DBG_MEMSTAT_VALUE|DBG_TRUST_VALUE|DBG_EXTPROG_VALUE
|
||||||
|DBG_CACHE_VALUE|DBG_FILTER_VALUE|DBG_PACKET_VALUE);
|
|DBG_CACHE_VALUE|DBG_FILTER_VALUE|DBG_PACKET_VALUE);
|
||||||
else if (!strcmp (level, "guru"))
|
else if (!strcmp (level, "guru") || numok)
|
||||||
opt.debug = ~0;
|
{
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
log_error (_("invalid debug-level `%s' given\n"), level);
|
log_error (_("invalid debug-level `%s' given\n"), level);
|
||||||
@ -1002,6 +1013,22 @@ set_debug (const char *level)
|
|||||||
if (opt.debug & DBG_IOBUF_VALUE )
|
if (opt.debug & DBG_IOBUF_VALUE )
|
||||||
iobuf_debug_mode = 1;
|
iobuf_debug_mode = 1;
|
||||||
gcry_control (GCRYCTL_SET_VERBOSITY, (int)opt.verbose);
|
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":"");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
382
po/pt_BR.po
382
po/pt_BR.po
File diff suppressed because it is too large
Load Diff
382
po/zh_CN.po
382
po/zh_CN.po
File diff suppressed because it is too large
Load Diff
382
po/zh_TW.po
382
po/zh_TW.po
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,8 @@
|
|||||||
|
2009-12-03 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* scdaemon.c (set_debug): Allow for numerical debug levels. Print
|
||||||
|
active debug flags.
|
||||||
|
|
||||||
2009-09-03 Werner Koch <wk@g10code.com>
|
2009-09-03 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* app-openpgp.c (do_decipher): Compute required Le.
|
* app-openpgp.c (do_decipher): Compute required Le.
|
||||||
|
@ -288,19 +288,30 @@ tid_log_callback (void)
|
|||||||
static void
|
static void
|
||||||
set_debug (const char *level)
|
set_debug (const char *level)
|
||||||
{
|
{
|
||||||
|
int numok = (level && digitp (level));
|
||||||
|
int numlvl = numok? atoi (level) : 0;
|
||||||
|
|
||||||
if (!level)
|
if (!level)
|
||||||
;
|
;
|
||||||
else if (!strcmp (level, "none"))
|
else if (!strcmp (level, "none") || (numok && numlvl < 1))
|
||||||
opt.debug = 0;
|
opt.debug = 0;
|
||||||
else if (!strcmp (level, "basic"))
|
else if (!strcmp (level, "basic") || (numok && numlvl <= 2))
|
||||||
opt.debug = DBG_ASSUAN_VALUE;
|
opt.debug = DBG_ASSUAN_VALUE;
|
||||||
else if (!strcmp (level, "advanced"))
|
else if (!strcmp (level, "advanced") || (numok && numlvl <= 5))
|
||||||
opt.debug = DBG_ASSUAN_VALUE|DBG_COMMAND_VALUE;
|
opt.debug = DBG_ASSUAN_VALUE|DBG_COMMAND_VALUE;
|
||||||
else if (!strcmp (level, "expert"))
|
else if (!strcmp (level, "expert") || (numok && numlvl <= 8))
|
||||||
opt.debug = (DBG_ASSUAN_VALUE|DBG_COMMAND_VALUE
|
opt.debug = (DBG_ASSUAN_VALUE|DBG_COMMAND_VALUE
|
||||||
|DBG_CACHE_VALUE|DBG_CARD_IO_VALUE);
|
|DBG_CACHE_VALUE|DBG_CARD_IO_VALUE);
|
||||||
else if (!strcmp (level, "guru"))
|
else if (!strcmp (level, "guru") || numok)
|
||||||
opt.debug = ~0;
|
{
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
log_error (_("invalid debug-level `%s' given\n"), level);
|
log_error (_("invalid debug-level `%s' given\n"), level);
|
||||||
@ -318,6 +329,18 @@ set_debug (const char *level)
|
|||||||
if (opt.debug & DBG_CRYPTO_VALUE )
|
if (opt.debug & DBG_CRYPTO_VALUE )
|
||||||
gcry_control (GCRYCTL_SET_DEBUG_FLAGS, 1);
|
gcry_control (GCRYCTL_SET_DEBUG_FLAGS, 1);
|
||||||
gcry_control (GCRYCTL_SET_VERBOSITY, (int)opt.verbose);
|
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\n",
|
||||||
|
(opt.debug & DBG_COMMAND_VALUE)? " command":"",
|
||||||
|
(opt.debug & DBG_MPI_VALUE )? " mpi":"",
|
||||||
|
(opt.debug & DBG_CRYPTO_VALUE )? " crypto":"",
|
||||||
|
(opt.debug & DBG_MEMORY_VALUE )? " memory":"",
|
||||||
|
(opt.debug & DBG_CACHE_VALUE )? " cache":"",
|
||||||
|
(opt.debug & DBG_MEMSTAT_VALUE)? " memstat":"",
|
||||||
|
(opt.debug & DBG_HASHING_VALUE)? " hashing":"",
|
||||||
|
(opt.debug & DBG_ASSUAN_VALUE )? " assuan":"",
|
||||||
|
(opt.debug & DBG_CARD_IO_VALUE)? " cardio":"");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2009-12-03 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* gpgsm.c (set_debug): Allow for numerical debug levels. Print
|
||||||
|
active debug flags.
|
||||||
|
|
||||||
2009-10-16 Werner Koch <wk@g10code.com>
|
2009-10-16 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* gpgsm.c (DEFAULT_INCLUDE_CERTS): New.
|
* gpgsm.c (DEFAULT_INCLUDE_CERTS): New.
|
||||||
|
36
sm/gpgsm.c
36
sm/gpgsm.c
@ -636,23 +636,34 @@ set_opt_session_env (const char *name, const char *value)
|
|||||||
static void
|
static void
|
||||||
set_debug (void)
|
set_debug (void)
|
||||||
{
|
{
|
||||||
|
int numok = (debug_level && digitp (debug_level));
|
||||||
|
int numlvl = numok? atoi (debug_level) : 0;
|
||||||
|
|
||||||
if (!debug_level)
|
if (!debug_level)
|
||||||
;
|
;
|
||||||
else if (!strcmp (debug_level, "none"))
|
else if (!strcmp (debug_level, "none") || (numok && numlvl < 1))
|
||||||
opt.debug = 0;
|
opt.debug = 0;
|
||||||
else if (!strcmp (debug_level, "basic"))
|
else if (!strcmp (debug_level, "basic") || (numok && numlvl <= 2))
|
||||||
opt.debug = DBG_ASSUAN_VALUE;
|
opt.debug = DBG_ASSUAN_VALUE;
|
||||||
else if (!strcmp (debug_level, "advanced"))
|
else if (!strcmp (debug_level, "advanced") || (numok && numlvl <= 5))
|
||||||
opt.debug = DBG_ASSUAN_VALUE|DBG_X509_VALUE;
|
opt.debug = DBG_ASSUAN_VALUE|DBG_X509_VALUE;
|
||||||
else if (!strcmp (debug_level, "expert"))
|
else if (!strcmp (debug_level, "expert") || (numok && numlvl <= 8))
|
||||||
opt.debug = (DBG_ASSUAN_VALUE|DBG_X509_VALUE
|
opt.debug = (DBG_ASSUAN_VALUE|DBG_X509_VALUE
|
||||||
|DBG_CACHE_VALUE|DBG_CRYPTO_VALUE);
|
|DBG_CACHE_VALUE|DBG_CRYPTO_VALUE);
|
||||||
else if (!strcmp (debug_level, "guru"))
|
else if (!strcmp (debug_level, "guru") || numok)
|
||||||
opt.debug = ~0;
|
{
|
||||||
|
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
|
else
|
||||||
{
|
{
|
||||||
log_error (_("invalid debug-level `%s' given\n"), debug_level);
|
log_error (_("invalid debug-level `%s' given\n"), debug_level);
|
||||||
gpgsm_exit(2);
|
gpgsm_exit (2);
|
||||||
}
|
}
|
||||||
|
|
||||||
opt.debug |= debug_value;
|
opt.debug |= debug_value;
|
||||||
@ -667,6 +678,17 @@ set_debug (void)
|
|||||||
if (opt.debug & DBG_CRYPTO_VALUE )
|
if (opt.debug & DBG_CRYPTO_VALUE )
|
||||||
gcry_control (GCRYCTL_SET_DEBUG_FLAGS, 1);
|
gcry_control (GCRYCTL_SET_DEBUG_FLAGS, 1);
|
||||||
gcry_control (GCRYCTL_SET_VERBOSITY, (int)opt.verbose);
|
gcry_control (GCRYCTL_SET_VERBOSITY, (int)opt.verbose);
|
||||||
|
|
||||||
|
if (opt.debug)
|
||||||
|
log_info ("enabled debug flags:%s%s%s%s%s%s%s%s\n",
|
||||||
|
(opt.debug & DBG_X509_VALUE )? " x509":"",
|
||||||
|
(opt.debug & DBG_MPI_VALUE )? " mpi":"",
|
||||||
|
(opt.debug & DBG_CRYPTO_VALUE )? " crypto":"",
|
||||||
|
(opt.debug & DBG_MEMORY_VALUE )? " memory":"",
|
||||||
|
(opt.debug & DBG_CACHE_VALUE )? " cache":"",
|
||||||
|
(opt.debug & DBG_MEMSTAT_VALUE)? " memstat":"",
|
||||||
|
(opt.debug & DBG_HASHING_VALUE)? " hashing":"",
|
||||||
|
(opt.debug & DBG_ASSUAN_VALUE )? " assuan":"" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user