Changeset 38351


Ignore:
Timestamp:
2013-10-09T13:25:09+02:00 (4 years ago)
Author:
luka
Message:

[package] openvpn: rework initscript (fixes #14299)

Signed-off-by: Luka Perkov <luka@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/network/services/openvpn/files/openvpn.init

    r38331 r38351  
    1515 
    1616append_param() { 
    17         local v="$1" 
     17        local s="$1" 
     18        local v="$2" 
    1819        case "$v" in 
    1920                *_*_*_*) v=${v%%_*}-${v#*_}; v=${v%%_*}-${v#*_}; v=${v%%_*}-${v#*_} ;; 
     
    2122                *_*)     v=${v%%_*}-${v#*_} ;; 
    2223        esac 
    23         procd_append_param command --"$v" 
     24        echo -n "$v" >> "/var/etc/openvpn-$s.conf" 
    2425        return 0 
    2526} 
     
    2930        for p in $*; do 
    3031                config_get_bool v "$s" "$p" 
    31                 [ "$v" == 1 ] && append_param "$p" 
     32                [ "$v" == 1 ] && append_param "$s" "$p" && echo >> "/var/etc/openvpn-$s.conf" 
    3233        done 
    3334} 
     
    3940                IFS="$LIST_SEP" 
    4041                for v in $v; do 
    41                         [ -n "$v" ] && append_param "$p" && procd_append_param command "$v" 
     42                        [ -n "$v" ] && append_param "$s" "$p" && echo " $v" >> "/var/etc/openvpn-$s.conf" 
    4243                done 
    4344                unset IFS 
     
    5657        section_enabled "$s" || return 1 
    5758 
    58         ARGS="" 
     59        config_get config "$s" config 
    5960 
    60         procd_open_instance 
    61         procd_set_param command "$PROG" --syslog "openvpn($s)" --writepid "/var/run/openvpn-$s.pid" 
     61        [ ! -d "/var/run" ] && mkdir -p "/var/run" 
     62 
     63        if [ ! -z "$config" ]; then 
     64                procd_open_instance 
     65                procd_set_param command "$PROG" \ 
     66                        --config "$config" \ 
     67                        --cd "$(dirname $config)" \ 
     68                        --syslog "openvpn($s)" \ 
     69                        --writepid "/var/run/openvpn-$s.pid" 
     70                procd_set_param file "/etc/config/openvpn" 
     71                procd_close_instance 
     72                return 
     73        fi 
     74 
     75        [ ! -d "/var/etc" ] && mkdir -p "/var/etc" 
     76        [ -f "/var/etc/openvpn-$s.conf" ] && rm "/var/etc/openvpn-$s.conf" 
    6277 
    6378        # append flags 
     
    7792        append_params "$s" \ 
    7893                cd askpass auth auth_user_pass auth_user_pass_verify bcast_buffers ca cert \ 
    79                 chroot cipher client_config_dir client_connect client_disconnect config connect_freq \ 
     94                chroot cipher client_config_dir client_connect client_disconnect connect_freq \ 
    8095                connect_retry connect_timeout connect_retry_max crl_verify dev dev_node dev_type dh \ 
    8196                echo engine explicit_exit_notify fragment group hand_window hash_size \ 
     
    95110 
    96111 
     112        procd_open_instance 
     113        procd_set_param command "$PROG" \ 
     114                --config "/var/etc/openvpn-$s.conf" \ 
     115                --cd "/var/etc" \ 
     116                --syslog "openvpn($s)" \ 
     117                --writepid "/var/run/openvpn-$s.pid" 
     118        procd_set_param file "/etc/config/openvpn" 
    97119        procd_close_instance 
    98120} 
Note: See TracChangeset for help on using the changeset viewer.