openvpn: add list element parsing
[openwrt/openwrt.git] / package / network / services / openvpn / files / openvpn.init
index 7e6cfd9c351d70f65c9679efee60135dfd159a13..ebb05640d80f3249adc101687ed8b440aba61d52 100644 (file)
@@ -49,6 +49,19 @@ append_params() {
        done
 }
 
+append_list() {
+       local p; local v; local s="$1"; shift
+
+       list_cb_append() {
+               v="$1:${v}"
+       }
+
+       for p in $*; do
+               config_list_foreach "$s" "$p" list_cb_append
+       done
+       [ -n "$v" ] && append_param "$s" "$p" && echo " ${v%*:}" >> "/var/etc/openvpn-$s.conf"
+}
+
 section_enabled() {
        config_get_bool enable  "$1" 'enable'  0
        config_get_bool enabled "$1" 'enabled' 0
@@ -99,6 +112,7 @@ start_instance() {
 
        append_bools "$s" $OPENVPN_BOOLS
        append_params "$s" $OPENVPN_PARAMS
+       append_list "$s" $OPENVPN_LIST
 
        openvpn_add_instance "$s" "/var/etc" "openvpn-$s.conf"
 }