aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/openvpn/files
diff options
context:
space:
mode:
authorLuka Perkov <luka@openwrt.org>2013-10-07 21:28:14 +0000
committerLuka Perkov <luka@openwrt.org>2013-10-07 21:28:14 +0000
commitc5bd00d82a8a63fea9ea15ba6db63fa9eecdc334 (patch)
tree5009db3aa009d4eba209724a9db449f54efae022 /package/network/services/openvpn/files
parentd6415bf1bdeba8e8d1505f3b3bd2c4e019b486f7 (diff)
downloadupstream-c5bd00d82a8a63fea9ea15ba6db63fa9eecdc334.tar.gz
upstream-c5bd00d82a8a63fea9ea15ba6db63fa9eecdc334.tar.bz2
upstream-c5bd00d82a8a63fea9ea15ba6db63fa9eecdc334.zip
openvpn: switch to new procd init script style
Signed-off-by: Luka Perkov <luka@openwrt.org> SVN-Revision: 38331
Diffstat (limited to 'package/network/services/openvpn/files')
-rw-r--r--package/network/services/openvpn/files/openvpn.init75
1 files changed, 12 insertions, 63 deletions
diff --git a/package/network/services/openvpn/files/openvpn.init b/package/network/services/openvpn/files/openvpn.init
index c58f005f36..a56aac1ee5 100644
--- a/package/network/services/openvpn/files/openvpn.init
+++ b/package/network/services/openvpn/files/openvpn.init
@@ -1,15 +1,14 @@
#!/bin/sh /etc/rc.common
-# Copyright (C) 2008-2011 OpenWrt.org
+# Copyright (C) 2008-2013 OpenWrt.org
# Copyright (C) 2008 Jo-Philipp Wich
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
-START=95
+START=90
+STOP=10
-SERVICE_DAEMONIZE=1
-SERVICE_WRITE_PID=1
-
-EXTRA_COMMANDS="up down"
+USE_PROCD=1
+PROG=/usr/sbin/openvpn
LIST_SEP="
"
@@ -21,7 +20,7 @@ append_param() {
*_*_*) v=${v%%_*}-${v#*_}; v=${v%%_*}-${v#*_} ;;
*_*) v=${v%%_*}-${v#*_} ;;
esac
- ARGS="$ARGS --$v"
+ procd_append_param command --"$v"
return 0
}
@@ -39,7 +38,7 @@ append_params() {
config_get v "$s" "$p"
IFS="$LIST_SEP"
for v in $v; do
- [ -n "$v" ] && append_param "$p" && ARGS="$ARGS $v"
+ [ -n "$v" ] && append_param "$p" && procd_append_param command "$v"
done
unset IFS
done
@@ -58,6 +57,9 @@ start_instance() {
ARGS=""
+ procd_open_instance
+ procd_set_param command "$PROG" --syslog "openvpn($s)" --writepid "/var/run/openvpn-$s.pid"
+
# append flags
append_bools "$s" \
auth_nocache auth_retry auth_user_pass_optional bind ccd_exclusive client client_cert_not_required \
@@ -92,63 +94,10 @@ start_instance() {
tun_mtu tun_mtu_extra txqueuelen user verb down push up
- SERVICE_PID_FILE="/var/run/openvpn-$s.pid"
- service_start /usr/sbin/openvpn --syslog "openvpn($s)" --writepid "$SERVICE_PID_FILE" $ARGS
-}
-
-stop_instance() {
- local s="$1"
-
- section_enabled "$s" || return 1
-
- SERVICE_PID_FILE="/var/run/openvpn-$s.pid"
- service_stop /usr/sbin/openvpn
-}
-
-reload_instance() {
- local s="$1"
-
- section_enabled "$s" || return 1
-
- SERVICE_PID_FILE="/var/run/openvpn-$s.pid"
- service_reload /usr/sbin/openvpn
+ procd_close_instance
}
-start() {
+start_service() {
config_load 'openvpn'
config_foreach start_instance 'openvpn'
}
-
-stop() {
- config_load 'openvpn'
- config_foreach stop_instance 'openvpn'
-}
-
-reload() {
- config_load 'openvpn'
- config_foreach reload_instance 'openvpn'
-}
-
-up() {
- local exists
- local instance
- config_load 'openvpn'
- for instance in "$@"; do
- config_get exists "$instance" 'TYPE'
- if [ "$exists" == "openvpn" ]; then
- start_instance "$instance"
- fi
- done
-}
-
-down() {
- local exists
- local instance
- config_load 'openvpn'
- for instance in "$@"; do
- config_get exists "$instance" 'TYPE'
- if [ "$exists" == "openvpn" ]; then
- stop_instance "$instance"
- fi
- done
-}