aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2002-06-13 11:45:36 +0000
committerWerner Koch <[email protected]>2002-06-13 11:45:36 +0000
commit4e13426c92139fb4ecbb8fcb89da921456277e26 (patch)
tree87a4be4115bb27ca8790b9ba9969dfce6bbae961
parent* call-dirmngr.c (lookup_status_cb): New. (diff)
downloadgnupg-4e13426c92139fb4ecbb8fcb89da921456277e26.tar.gz
gnupg-4e13426c92139fb4ecbb8fcb89da921456277e26.zip
* gpgsm.c (main): New option --log-file.
Diffstat (limited to '')
-rw-r--r--agent/ChangeLog4
-rw-r--r--agent/gpg-agent.c61
-rw-r--r--sm/ChangeLog4
-rw-r--r--sm/gpgsm.c11
4 files changed, 54 insertions, 26 deletions
diff --git a/agent/ChangeLog b/agent/ChangeLog
index 7bc306d63..2355e4926 100644
--- a/agent/ChangeLog
+++ b/agent/ChangeLog
@@ -1,3 +1,7 @@
+2002-06-12 Werner Koch <[email protected]>
+
+ * gpg-agent.c (main): New option --disable-pth.
+
2002-06-11 Werner Koch <[email protected]>
* protect-tool.c: Add command --show-keygrip
diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c
index e397df9a5..07f9dcd46 100644
--- a/agent/gpg-agent.c
+++ b/agent/gpg-agent.c
@@ -79,6 +79,7 @@ enum cmd_and_opt_values
oLCmessages,
oScdaemonProgram,
oDefCacheTTL,
+ oDisablePth,
aTest };
@@ -100,6 +101,7 @@ static ARGPARSE_OPTS opts[] = {
{ oNoDetach, "no-detach" ,0, N_("do not detach from the console")},
{ oNoGrab, "no-grab" ,0, N_("do not grab keyboard and mouse")},
{ oLogFile, "log-file" ,2, N_("use a log file for the server")},
+ { oDisablePth, "disable-pth", 0, N_("do not allow multiple connections")},
{ oPinentryProgram, "pinentry-program", 2 , "path to PIN Entry program" },
{ oDisplay, "display", 2, "set the display" },
@@ -263,6 +265,7 @@ main (int argc, char **argv )
int csh_style = 0;
char *logfile = NULL;
int debug_wait = 0;
+ int disable_pth = 0;
set_strusage (my_strusage);
gcry_control (GCRYCTL_SUSPEND_SECMEM_WARN);
@@ -282,8 +285,9 @@ main (int argc, char **argv )
assuan_set_malloc_hooks (gcry_malloc, gcry_realloc, gcry_free);
#ifdef USE_GNU_PTH
- assuan_set_io_func (pth_read, pth_write);
+ assuan_set_io_func (pth_read, pth_write);
#endif
+
gcry_set_log_handler (my_gcry_logger, NULL);
gcry_control (GCRYCTL_USE_SECURE_RNDPOOL);
@@ -402,6 +406,7 @@ main (int argc, char **argv )
case oCsh: csh_style = 1; break;
case oSh: csh_style = 0; break;
case oServer: pipe_server = 1; break;
+ case oDisablePth: disable_pth = 1; break;
case oPinentryProgram: opt.pinentry_program = pargs.r.ret_str; break;
case oDisplay: opt.display = xstrdup (pargs.r.ret_str); break;
@@ -620,34 +625,38 @@ main (int argc, char **argv )
#ifdef USE_GNU_PTH
- if (!pth_init ())
+ if (!disable_pth)
{
- log_error ("failed to initialize the Pth library\n");
- exit (1);
+ if (!pth_init ())
+ {
+ log_error ("failed to initialize the Pth library\n");
+ exit (1);
+ }
+ signal (SIGPIPE, SIG_IGN);
+ handle_connections (fd);
}
- signal (SIGPIPE, SIG_IGN);
- handle_connections (fd);
-#else /*!USE_GNU_PTH*/
- /* setup signals */
- {
- struct sigaction oact, nact;
-
- nact.sa_handler = cleanup_sh;
- sigemptyset (&nact.sa_mask);
- nact.sa_flags = 0;
-
- sigaction (SIGHUP, NULL, &oact);
- if (oact.sa_handler != SIG_IGN)
- sigaction (SIGHUP, &nact, NULL);
- sigaction( SIGTERM, NULL, &oact );
- if (oact.sa_handler != SIG_IGN)
- sigaction (SIGTERM, &nact, NULL);
- nact.sa_handler = SIG_IGN;
- sigaction (SIGPIPE, &nact, NULL);
- sigaction (SIGINT, &nact, NULL);
- }
- start_command_handler (fd, -1);
+ else
#endif /*!USE_GNU_PTH*/
+ /* setup signals */
+ {
+ struct sigaction oact, nact;
+
+ nact.sa_handler = cleanup_sh;
+ sigemptyset (&nact.sa_mask);
+ nact.sa_flags = 0;
+
+ sigaction (SIGHUP, NULL, &oact);
+ if (oact.sa_handler != SIG_IGN)
+ sigaction (SIGHUP, &nact, NULL);
+ sigaction( SIGTERM, NULL, &oact );
+ if (oact.sa_handler != SIG_IGN)
+ sigaction (SIGTERM, &nact, NULL);
+ nact.sa_handler = SIG_IGN;
+ sigaction (SIGPIPE, &nact, NULL);
+ sigaction (SIGINT, &nact, NULL);
+
+ start_command_handler (fd, -1);
+ }
close (fd);
}
diff --git a/sm/ChangeLog b/sm/ChangeLog
index 6cd7e7d83..022ecea8e 100644
--- a/sm/ChangeLog
+++ b/sm/ChangeLog
@@ -1,3 +1,7 @@
+2002-06-13 Werner Koch <[email protected]>
+
+ * gpgsm.c (main): New option --log-file.
+
2002-06-12 Werner Koch <[email protected]>
* call-dirmngr.c (lookup_status_cb): New.
diff --git a/sm/gpgsm.c b/sm/gpgsm.c
index 9ed6623c7..de62088bc 100644
--- a/sm/gpgsm.c
+++ b/sm/gpgsm.c
@@ -81,6 +81,7 @@ enum cmd_and_opt_values {
oDebug,
oDebugAll,
oDebugWait,
+ oLogFile,
oEnableSpecialFilenames,
@@ -225,6 +226,7 @@ static ARGPARSE_OPTS opts[] = {
{ aExport, "export", 256 , N_("export certificates")},
{ aLearnCard, "learn-card", 256 ,N_("register a smartcard")},
{ aServer, "server", 256, N_("run in server mode")},
+ { oLogFile, "log-file" ,2, N_("use a log file for the server")},
{ 301, NULL, 0, N_("@\nOptions:\n ") },
@@ -583,6 +585,7 @@ main ( int argc, char **argv)
int parse_debug = 0;
int default_config =1;
int default_keyring = 1;
+ char *logfile = NULL;
int greeting = 0;
int nogreeting = 0;
int debug_wait = 0;
@@ -821,6 +824,8 @@ main ( int argc, char **argv)
opt.verbose = 0;
gcry_control (GCRYCTL_SET_VERBOSITY, (int)opt.verbose);
break;
+
+ case oLogFile: logfile = pargs.r.ret_str; break;
case oBatch:
opt.batch = 1;
@@ -983,6 +988,12 @@ main ( int argc, char **argv)
if (may_coredump && !opt.quiet)
log_info (_("WARNING: program may create a core file!\n"));
+ if (logfile)
+ {
+ log_set_file (logfile);
+ log_set_prefix (NULL, 1|2|4);
+ }
+
if (gnupg_faked_time_p ())
{
log_info (_("WARNING: running with faked system time: "));