diff options
-rw-r--r-- | package/network/services/openvpn/files/openvpn.init | 33 |
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() { |