diff options
author | dteske <dteske@FreeBSD.org> | 2016-02-12 02:50:36 +0000 |
---|---|---|
committer | dteske <dteske@FreeBSD.org> | 2016-02-12 02:50:36 +0000 |
commit | f6c9bac41e0af34b809d7c1847d86cb382f3e39f (patch) | |
tree | 964324afbe35a9c723f393ae7a76bd8148199187 /etc/rc.d | |
parent | cb902d64eb5232d0700b7f50fa61a7f526a06c26 (diff) | |
download | FreeBSD-src-f6c9bac41e0af34b809d7c1847d86cb382f3e39f.zip FreeBSD-src-f6c9bac41e0af34b809d7c1847d86cb382f3e39f.tar.gz |
Interpret vnet_interface/vnet.interface as array
Diffstat (limited to 'etc/rc.d')
-rwxr-xr-x | etc/rc.d/jail | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/etc/rc.d/jail b/etc/rc.d/jail index 2d48989..f7d6d3d 100755 --- a/etc/rc.d/jail +++ b/etc/rc.d/jail @@ -33,7 +33,8 @@ need_dad_wait= # set it to $param. If not defined, $defval is used. # When $num is [0-9]*, ${jail_$jv_$name$num} are looked up and # $param is set by using +=. $num=0 is optional (params may start at 1). -# When $num is YN or NY, the value is interpret as boolean. +# When $num is YN or NY, the value is interpreted as boolean. +# When $num is @, the value is interpreted as an array separted by IFS. extract_var() { local i _jv _name _param _num _def _name1 _name2 @@ -78,6 +79,20 @@ extract_var() i=$(($i + 1)) done ;; + @) + _name1=jail_${_jv}_${_name} + _name2=jail_${_name} + eval _tmpargs=\"\${$_name1:-\${$_name2:-$_def}}\" + set -- $_tmpargs + if [ $# -gt 0 ]; then + echo -n " $_param = " + while [ $# -gt 1 ]; do + echo -n "\"$1\", " + shift + done + echo "\"$1\";" + fi + ;; *) _name1=jail_${_jv}_${_name} _name2=jail_${_name} @@ -190,7 +205,7 @@ parse_options() allow.raw_sockets NY YES else echo " vnet;" - extract_var $_jv vnet_interface vnet.interface - "" + extract_var $_jv vnet_interface vnet.interface @ "" fi echo " exec.clean;" |