aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/starter/args.c1
-rw-r--r--src/starter/confread.h1
-rw-r--r--src/starter/invokecharon.c4
-rw-r--r--src/starter/invokepluto.c4
-rw-r--r--src/starter/keywords.h1
-rw-r--r--src/starter/keywords.txt1
6 files changed, 8 insertions, 4 deletions
diff --git a/src/starter/args.c b/src/starter/args.c
index c2921489b..185d363da 100644
--- a/src/starter/args.c
+++ b/src/starter/args.c
@@ -170,6 +170,7 @@ static const token_info_t token_info[] =
{ ARG_STR, offsetof(starter_config_t, setup.charondebug), NULL },
{ ARG_STR, offsetof(starter_config_t, setup.prepluto), NULL },
{ ARG_STR, offsetof(starter_config_t, setup.postpluto), NULL },
+ { ARG_ENUM, offsetof(starter_config_t, setup.plutostderrlog), LST_bool },
{ ARG_ENUM, offsetof(starter_config_t, setup.uniqueids), LST_unique },
{ ARG_UINT, offsetof(starter_config_t, setup.overridemtu), NULL },
{ ARG_TIME, offsetof(starter_config_t, setup.crlcheckinterval), NULL },
diff --git a/src/starter/confread.h b/src/starter/confread.h
index d7b2752bc..ee1fd7a6c 100644
--- a/src/starter/confread.h
+++ b/src/starter/confread.h
@@ -174,6 +174,7 @@ struct starter_config {
char *charondebug;
char *prepluto;
char *postpluto;
+ bool plutostderrlog;
bool uniqueids;
u_int overridemtu;
u_int crlcheckinterval;
diff --git a/src/starter/invokecharon.c b/src/starter/invokecharon.c
index ade71fc56..b637674d0 100644
--- a/src/starter/invokecharon.c
+++ b/src/starter/invokecharon.c
@@ -101,7 +101,7 @@ starter_stop_charon (void)
int
-starter_start_charon (starter_config_t *cfg, bool debug)
+starter_start_charon (starter_config_t *cfg, bool no_fork)
{
struct stat stb;
int pid, i;
@@ -114,7 +114,7 @@ starter_start_charon (starter_config_t *cfg, bool debug)
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
};
- if (!debug)
+ if (!no_fork)
{
arg[argc++] = "--use-syslog";
}
diff --git a/src/starter/invokepluto.c b/src/starter/invokepluto.c
index c2b9c737e..d68db568f 100644
--- a/src/starter/invokepluto.c
+++ b/src/starter/invokepluto.c
@@ -104,7 +104,7 @@ starter_stop_pluto (void)
}
int
-starter_start_pluto (starter_config_t *cfg, bool debug)
+starter_start_pluto (starter_config_t *cfg, bool no_fork)
{
struct stat stb;
int i;
@@ -121,7 +121,7 @@ starter_start_pluto (starter_config_t *cfg, bool debug)
printf ("starter_start_pluto entered\n");
- if (debug)
+ if (cfg->setup.plutostderrlog || no_fork)
{
arg[argc++] = "--stderrlog";
}
diff --git a/src/starter/keywords.h b/src/starter/keywords.h
index 3ffe0a9dc..b893cf52d 100644
--- a/src/starter/keywords.h
+++ b/src/starter/keywords.h
@@ -30,6 +30,7 @@ typedef enum {
KW_CHARONDEBUG,
KW_PREPLUTO,
KW_POSTPLUTO,
+ KW_PLUTOSTDERRLOG,
KW_UNIQUEIDS,
KW_OVERRIDEMTU,
KW_CRLCHECKINTERVAL,
diff --git a/src/starter/keywords.txt b/src/starter/keywords.txt
index 79914133d..7e414fb9f 100644
--- a/src/starter/keywords.txt
+++ b/src/starter/keywords.txt
@@ -35,6 +35,7 @@ plutodebug, KW_PLUTODEBUG
charondebug, KW_CHARONDEBUG
prepluto, KW_PREPLUTO
postpluto, KW_POSTPLUTO
+plutostderrlog, KW_PLUTOSTDERRLOG
fragicmp, KW_FRAGICMP
packetdefault, KW_PACKETDEFAULT
hidetos, KW_HIDETOS