mirror of
https://github.com/OpenVPN/openvpn.git
synced 2024-09-19 19:42:30 +02: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
@ -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 New Issue
Block a user