aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-10-31 17:36:24 +0000
committerFelix Fietkau <nbd@openwrt.org>2013-10-31 17:36:24 +0000
commit2c84ff42f779ff4c2a8071f53122e3c2895fecd6 (patch)
tree854dcb1bccced4fb8010d2d2896d7ba0a4ab0f0f /package/network/services
parente00bc81a56da1b9aed2a4114ab64b8ea015507c5 (diff)
downloadupstream-2c84ff42f779ff4c2a8071f53122e3c2895fecd6.tar.gz
upstream-2c84ff42f779ff4c2a8071f53122e3c2895fecd6.tar.bz2
upstream-2c84ff42f779ff4c2a8071f53122e3c2895fecd6.zip
openvpn: clean up and fix the init script
- clean up duplication of procd instance handling code - using --cd *after* --config is rather pointless - to be able to log errors properly, --syslog needs to be passed before --config - tell procd about the generated or referenced config file instead of the uci file. this avoids having to restart all instances if only one of them changes. Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 38632
Diffstat (limited to 'package/network/services')
-rw-r--r--package/network/services/openvpn/files/openvpn.init33
1 files changed, 16 insertions, 17 deletions
diff --git a/package/network/services/openvpn/files/openvpn.init b/package/network/services/openvpn/files/openvpn.init
index dee5925390..08832a086b 100644
--- a/package/network/services/openvpn/files/openvpn.init
+++ b/package/network/services/openvpn/files/openvpn.init
@@ -51,6 +51,20 @@ section_enabled() {
[ $enable -gt 0 ] || [ $enabled -gt 0 ]
}
+openvpn_add_instance() {
+ local name="$1"
+ local dir="$2"
+ local conf="$3"
+
+ procd_open_instance
+ procd_set_param command "$PROG" \
+ --syslog "openvpn($name)" \
+ --cd "$dir" \
+ --config "$conf"
+ procd_set_param file "$dir/$conf"
+ procd_close_instance
+}
+
start_instance() {
local s="$1"
@@ -61,14 +75,7 @@ start_instance() {
[ ! -d "/var/run" ] && mkdir -p "/var/run"
if [ ! -z "$config" ]; then
- procd_open_instance
- procd_set_param command "$PROG" \
- --config "$config" \
- --cd "$(dirname $config)" \
- --syslog "openvpn($s)" \
- --writepid "/var/run/openvpn-$s.pid"
- procd_set_param file "/etc/config/openvpn"
- procd_close_instance
+ openvpn_add_instance "$s" "$(dirname "$config")" "$(basename "$config")"
return
fi
@@ -108,15 +115,7 @@ start_instance() {
tls_cipher tls_remote tls_timeout tls_verify tmp_dir topology tran_window \
tun_mtu tun_mtu_extra txqueuelen user verb down push up
-
- procd_open_instance
- procd_set_param command "$PROG" \
- --config "/var/etc/openvpn-$s.conf" \
- --cd "/var/etc" \
- --syslog "openvpn($s)" \
- --writepid "/var/run/openvpn-$s.pid"
- procd_set_param file "/etc/config/openvpn"
- procd_close_instance
+ openvpn_add_instance "$s" "/var/etc" "openvpn-$s.conf"
}
start_service() {