mirror of
https://github.com/OpenVPN/openvpn.git
synced 2026-06-13 02:43:50 -04:00
Use systemd service manager notification
Notify systemd service manager when our initialization sequence
completed. This helps ordering services as dependencies can rely on vpn
being available.
v2: Add curly brackets (and indention) to block the else-part, msg()
call was non-conditional before.
v3: Move systemd header include from init.h to init.c.
Signed-off-by: Christian Hesse <mail@eworm.de>
Tested-By: Richard Bonhomme <fragmentux@gmail.com>
Acked-by: David Sommerseth <davids@openvpn.net>
Message-Id: <20161201213104.5667-1-list@eworm.de>
URL: http://www.mail-archive.com/search?l=mid&q=20161201213104.5667-1-list@eworm.de
Signed-off-by: David Sommerseth <davids@openvpn.net>
This commit is contained in:
parent
1c587a1112
commit
c5931897ae
3 changed files with 15 additions and 1 deletions
|
|
@ -7,6 +7,7 @@ Documentation=https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
|
|||
Documentation=https://community.openvpn.net/openvpn/wiki/HOWTO
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
PrivateTmp=true
|
||||
RuntimeDirectory=openvpn-client
|
||||
RuntimeDirectoryMode=0710
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ Documentation=https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
|
|||
Documentation=https://community.openvpn.net/openvpn/wiki/HOWTO
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
PrivateTmp=true
|
||||
RuntimeDirectory=openvpn-server
|
||||
RuntimeDirectoryMode=0710
|
||||
|
|
|
|||
|
|
@ -30,6 +30,10 @@
|
|||
|
||||
#include "syshead.h"
|
||||
|
||||
#ifdef ENABLE_SYSTEMD
|
||||
#include <systemd/sd-daemon.h>
|
||||
#endif
|
||||
|
||||
#include "win32.h"
|
||||
#include "init.h"
|
||||
#include "sig.h"
|
||||
|
|
@ -1251,11 +1255,19 @@ initialization_sequence_completed (struct context *c, const unsigned int flags)
|
|||
show_adapters (M_INFO|M_NOPREFIX);
|
||||
msg (M_INFO, "%s With Errors ( see http://openvpn.net/faq.html#dhcpclientserv )", message);
|
||||
#else
|
||||
#ifdef ENABLE_SYSTEMD
|
||||
sd_notifyf(0, "STATUS=Failed to start up: %s With Errors\nERRNO=1", message);
|
||||
#endif /* HAVE_SYSTEMD_SD_DAEMON_H */
|
||||
msg (M_INFO, "%s With Errors", message);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
msg (M_INFO, "%s", message);
|
||||
{
|
||||
#ifdef ENABLE_SYSTEMD
|
||||
sd_notifyf(0, "READY=1\nSTATUS=%s\nMAINPID=%lu", message, (unsigned long) getpid());
|
||||
#endif
|
||||
msg (M_INFO, "%s", message);
|
||||
}
|
||||
|
||||
/* Flag that we initialized */
|
||||
if ((flags & (ISC_ERRORS|ISC_SERVER)) == 0)
|
||||
|
|
|
|||
Loading…
Reference in a new issue