diff options
-rw-r--r-- | src/starter/args.c | 1 | ||||
-rw-r--r-- | src/starter/confread.h | 1 | ||||
-rw-r--r-- | src/starter/invokecharon.c | 4 | ||||
-rw-r--r-- | src/starter/invokepluto.c | 4 | ||||
-rw-r--r-- | src/starter/keywords.h | 1 | ||||
-rw-r--r-- | src/starter/keywords.txt | 1 |
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 |