From: Tobias Brunner Date: Mon, 16 Jan 2017 16:20:10 +0000 (+0100) Subject: charon-systemd: Handle SIGHUP the same way charon does X-Git-Tag: 5.5.2dr5~48^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ff22d53ba9949d20d00e4d2137fcdb354627565e;p=thirdparty%2Fstrongswan.git charon-systemd: Handle SIGHUP the same way charon does That is, reload strongswan.conf, the loggers and the plugins. --- diff --git a/src/charon-systemd/charon-systemd.c b/src/charon-systemd/charon-systemd.c index 5c7bbd7795..fc93e2182a 100644 --- a/src/charon-systemd/charon-systemd.c +++ b/src/charon-systemd/charon-systemd.c @@ -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");