mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-10-01 06:21:56 -09:00
package/openvpn: use start-stop-daemon to perform start/stop actions
Using 'start-stop-daemon' prevents multiple instances creation by '/etc/init.d/S60openvpn start'. Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
committed by
Thomas Petazzoni
parent
a6c7e0c0c3
commit
d8e68597a7
@@ -11,13 +11,15 @@ CONFIG_DIR=/etc/openvpn
|
|||||||
test -d $CONFIG_DIR || exit 0
|
test -d $CONFIG_DIR || exit 0
|
||||||
|
|
||||||
start_vpn () {
|
start_vpn () {
|
||||||
/usr/sbin/openvpn --daemon --writepid /var/run/openvpn.$NAME.pid \
|
printf " $NAME "
|
||||||
--config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR || printf " FAILED->"
|
start-stop-daemon -S -p /var/run/openvpn.$NAME.pid -x /usr/sbin/openvpn -- \
|
||||||
printf " $NAME"
|
--daemon --writepid /var/run/openvpn.$NAME.pid \
|
||||||
|
--config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR
|
||||||
|
[ $? = 0 ] && echo "OK" || echo "FAIL"
|
||||||
}
|
}
|
||||||
stop_vpn () {
|
stop_vpn () {
|
||||||
kill `cat $PIDFILE` || true
|
printf " $NAME "
|
||||||
rm $PIDFILE
|
start-stop-daemon -K -p /var/run/openvpn.$NAME.pid -x /usr/sbin/openvpn
|
||||||
}
|
}
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
@@ -48,7 +50,6 @@ stop)
|
|||||||
NAME=`echo $PIDFILE | cut -c18-`
|
NAME=`echo $PIDFILE | cut -c18-`
|
||||||
NAME=${NAME%%.pid}
|
NAME=${NAME%%.pid}
|
||||||
stop_vpn
|
stop_vpn
|
||||||
printf " $NAME"
|
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
if test -e /var/run/openvpn.$2.pid ; then
|
if test -e /var/run/openvpn.$2.pid ; then
|
||||||
@@ -56,7 +57,6 @@ stop)
|
|||||||
NAME=`echo $PIDFILE | cut -c18-`
|
NAME=`echo $PIDFILE | cut -c18-`
|
||||||
NAME=${NAME%%.pid}
|
NAME=${NAME%%.pid}
|
||||||
stop_vpn
|
stop_vpn
|
||||||
printf " $NAME"
|
|
||||||
else
|
else
|
||||||
printf " No such VPN: $2"
|
printf " No such VPN: $2"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user