mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-03 12:11:33 +01:00
* sysutils.c (disable_core_dumps): Only set the current limit.
(enable_core_dumps): New. * gpgsm.texi (Esoteric Options): Add --debug-allow-core-dump. * gpgsm.c: New option --debug-allow-core-dump. * gpgsm.h (opt): Add member CONFIG_FILENAME. * gpgsm.c (main): Use it here instead of the local var. * server.c (gpgsm_server): Print some additional information with the hello in verbose mode.
This commit is contained in:
parent
13b6205066
commit
ac791c0a9a
@ -1,3 +1,8 @@
|
||||
2004-05-11 Werner Koch <wk@gnupg.org>
|
||||
|
||||
* sysutils.c (disable_core_dumps): Only set the current limit.
|
||||
(enable_core_dumps): New.
|
||||
|
||||
2004-04-13 Werner Koch <wk@gnupg.org>
|
||||
|
||||
* simple-pwquery.c (copy_and_escape): Relaxed quoting.
|
||||
|
@ -76,8 +76,11 @@ disable_core_dumps (void)
|
||||
# ifdef HAVE_SETRLIMIT
|
||||
struct rlimit limit;
|
||||
|
||||
limit.rlim_cur = 0;
|
||||
/* We only set the current limit unless we were not able to
|
||||
retrieve the old value. */
|
||||
if (getrlimit (RLIMIT_CORE, &limit))
|
||||
limit.rlim_max = 0;
|
||||
limit.rlim_cur = 0;
|
||||
if( !setrlimit (RLIMIT_CORE, &limit) )
|
||||
return 0;
|
||||
if( errno != EINVAL && errno != ENOSYS )
|
||||
@ -87,6 +90,26 @@ disable_core_dumps (void)
|
||||
#endif
|
||||
}
|
||||
|
||||
int
|
||||
enable_core_dumps (void)
|
||||
{
|
||||
#ifdef HAVE_DOSISH_SYSTEM
|
||||
return 0;
|
||||
#else
|
||||
# ifdef HAVE_SETRLIMIT
|
||||
struct rlimit limit;
|
||||
|
||||
if (getrlimit (RLIMIT_CORE, &limit))
|
||||
return 1;
|
||||
limit.rlim_cur = limit.rlim_max;
|
||||
setrlimit (RLIMIT_CORE, &limit);
|
||||
return 1; /* We always return true because trhis function is
|
||||
merely a debugging aid. */
|
||||
#endif
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Return a string which is used as a kind of process ID */
|
||||
|
@ -23,6 +23,7 @@
|
||||
|
||||
void trap_unaligned (void);
|
||||
int disable_core_dumps (void);
|
||||
int enable_core_dumps (void);
|
||||
const unsigned char *get_session_marker (size_t *rlen);
|
||||
int check_permissions (const char *path,int extension,int checkonly);
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
2004-05-11 Werner Koch <wk@gnupg.org>
|
||||
|
||||
* gpgsm.texi (Esoteric Options): Add --debug-allow-core-dump.
|
||||
|
||||
2004-05-03 Werner Koch <wk@gnupg.org>
|
||||
|
||||
* gpg-agent.texi (Agent Options): Add --allow-mark-trusted.
|
||||
|
@ -444,6 +444,14 @@ Note, that all flags set using this option may get overriden by
|
||||
@opindex debug-all
|
||||
Same as @code{--debug=0xffffffff}
|
||||
|
||||
@item --debug-allow-core-dump
|
||||
@opindex debug-allow-core-dump
|
||||
Usually gpgsm tries to avoid dumping core by well written code and by
|
||||
disabling core dumps for security reasons. However, bugs are pretty
|
||||
durable beasts and to squash them it is sometimes useful to have a core
|
||||
dump. This option enables core dumps unless the Bad Thing happened
|
||||
before the option parsing.
|
||||
|
||||
@item --debug-no-chain-validation
|
||||
@opindex debug-no-chain-validation
|
||||
This is actually not a debugging option but only useful as such. It
|
||||
|
@ -1,7 +1,10 @@
|
||||
2004-05-11 Werner Koch <wk@gnupg.org>
|
||||
|
||||
* gpgsm.c: New option --debug-allow-core-dump.
|
||||
|
||||
* gpgsm.h (opt): Add member CONFIG_FILENAME.
|
||||
* gpgsm.c (main): Use it here instead of the local var.
|
||||
|
||||
* server.c (gpgsm_server): Print some additional information with
|
||||
the hello in verbose mode.
|
||||
|
||||
|
@ -92,6 +92,7 @@ enum cmd_and_opt_values {
|
||||
oDebugLevel,
|
||||
oDebugAll,
|
||||
oDebugWait,
|
||||
oDebugAllowCoreDump,
|
||||
oDebugNoChainValidation,
|
||||
oDebugIgnoreExpiration,
|
||||
oLogFile,
|
||||
@ -335,6 +336,7 @@ static ARGPARSE_OPTS opts[] = {
|
||||
{ oDebugLevel, "debug-level" ,2, "@"},
|
||||
{ oDebugAll, "debug-all" ,0, "@"},
|
||||
{ oDebugWait, "debug-wait" ,1, "@"},
|
||||
{ oDebugAllowCoreDump, "debug-allow-core-dump", 0, "@" },
|
||||
{ oDebugNoChainValidation, "debug-no-chain-validation", 0, "@"},
|
||||
{ oDebugIgnoreExpiration, "debug-ignore-expiration", 0, "@"},
|
||||
{ oStatusFD, "status-fd" ,1, N_("|FD|write status info to this FD") },
|
||||
@ -1010,6 +1012,9 @@ main ( int argc, char **argv)
|
||||
case oDebugAll: opt.debug = ~0; break;
|
||||
case oDebugLevel: debug_level = pargs.r.ret_str; break;
|
||||
case oDebugWait: debug_wait = pargs.r.ret_int; break;
|
||||
case oDebugAllowCoreDump:
|
||||
may_coredump = enable_core_dumps ();
|
||||
break;
|
||||
case oDebugNoChainValidation: opt.no_chain_validation = 1; break;
|
||||
case oDebugIgnoreExpiration: opt.ignore_expiration = 1; break;
|
||||
|
||||
|
@ -811,7 +811,7 @@ gpgsm_server (certlist_t default_recplist)
|
||||
assuan_strerror(rc));
|
||||
gpgsm_exit (2);
|
||||
}
|
||||
if (opt.verbose)
|
||||
if (opt.verbose || opt.debug)
|
||||
{
|
||||
char *tmp = NULL;
|
||||
const char *s1 = getenv ("GPG_AGENT_INFO");
|
||||
|
Loading…
x
Reference in New Issue
Block a user