charon-systemd: Handle SIGHUP the same way charon does

That is, reload strongswan.conf, the loggers and the plugins.
This commit is contained in:
Tobias Brunner
2017-01-25 14:58:05 +01:00
parent 4e382f5ffc
commit ff22d53ba9
+16
View File
@@ -241,6 +241,7 @@ static int run()
sigset_t set;
sigemptyset(&set);
sigaddset(&set, SIGHUP);
sigaddset(&set, SIGTERM);
sigprocmask(SIG_BLOCK, &set, NULL);
@@ -262,6 +263,21 @@ static int run()
}
switch (sig)
{
case SIGHUP:
{
DBG1(DBG_DMN, "signal of type SIGHUP received. Reloading "
"configuration");
if (lib->settings->load_files(lib->settings, lib->conf, FALSE))
{
charon->load_loggers(charon, NULL, FALSE);
lib->plugins->reload(lib->plugins, NULL);
}
else
{
DBG1(DBG_DMN, "reloading config failed, keeping old");
}
break;
}
case SIGTERM:
{
DBG1(DBG_DMN, "SIGTERM received, shutting down");