char *pid_file = NULL;
char *starter_pid_file = NULL;
+static char *config_file = NULL;
+
/* logging */
static bool log_to_stderr = TRUE;
static bool log_to_syslog = TRUE;
{
fprintf(stderr, "Usage: starter [--nofork] [--auto-update <sec>]\n"
" [--debug|--debug-more|--debug-all|--nolog]\n"
- " [--attach-gdb] [--daemon <name>]\n");
+ " [--attach-gdb] [--daemon <name>]\n"
+ " [--conf <path to ipsec.conf>]\n");
exit(LSB_RC_INVALID_ARGUMENT);
}
{
daemon_name = argv[++i];
}
+ else if (streq(argv[i], "--conf") && i+1 < argc)
+ {
+ config_file = argv[++i];
+ }
else
{
usage(argv[0]);
DBG1(DBG_APP, "unable to set daemon name");
exit(LSB_RC_FAILURE);
}
+ if (!config_file)
+ {
+ config_file = CONFIG_FILE;
+ }
init_log("ipsec_starter");
exit(LSB_RC_FAILURE);
}
- cfg = confread_load(CONFIG_FILE);
+ cfg = confread_load(config_file);
if (cfg == NULL || cfg->err > 0)
{
DBG1(DBG_APP, "unable to start strongSwan -- fatal errors in config");
if (_action_ & FLAG_ACTION_UPDATE)
{
DBG2(DBG_APP, "Reloading config...");
- new_cfg = confread_load(CONFIG_FILE);
+ new_cfg = confread_load(config_file);
if (new_cfg && (new_cfg->err == 0))
{