diff options
Diffstat (limited to 'meta-networking')
-rwxr-xr-x | meta-networking/recipes-support/openvpn/openvpn/openvpn | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/meta-networking/recipes-support/openvpn/openvpn/openvpn b/meta-networking/recipes-support/openvpn/openvpn/openvpn index a3cd6a2f49..e5af4b2301 100755 --- a/meta-networking/recipes-support/openvpn/openvpn/openvpn +++ b/meta-networking/recipes-support/openvpn/openvpn/openvpn @@ -4,6 +4,7 @@ # <rob@mars.org>, edited by iwj and cs # Modified for openvpn by Alberto Gonzalez Iniesta <agi@agi.as> # Modified for restarting / starting / stopping single tunnels by Richard Mueller <mueller@teamix.net> +# Modified for respecting pid file on service start by Fabian Klemp <fabian.klemp@axino-group.com> test $DEBIAN_SCRIPT_DEBUG && set -v -x @@ -14,10 +15,17 @@ test -d $CONFIG_DIR || exit 0 start_vpn () { modprobe tun >/dev/null 2>&1 || true - $DAEMON --daemon --writepid /var/run/openvpn.$NAME.pid \ - --config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR || echo -n " FAILED->" + start-stop-daemon --start --quiet --pidfile /var/run/openvpn.$NAME.pid \ + --exec $DAEMON -- \ + --daemon --writepid /var/run/openvpn.$NAME.pid \ + --config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR || rc="$?" + case $rc in + 1) echo -n " ALREADY STARTED->";; + 3) echo -n " FAILED->";; + esac echo -n " $NAME" } + stop_vpn () { kill `cat $PIDFILE` || true rm $PIDFILE |