On 8/19/2012 3:15 AM, Jun Kuriyama wrote:
> Author: kuriyama
> Date: Sun Aug 19 08:15:32 2012
> New Revision: 239382
> URL: http://svn.freebsd.org/changeset/base/239382
> 
> Log:
>   - Allow to pass extra parameters for each jails.
>   - To achieve above, convert jail(8) invocation to use new style
>     command line "-c" flag.
>   
>   Reviewed at:        freebsd-jail@

Do you plan to MFC this to stable/9?

I'm using it on 9.1-RC1 and having good results. Considering switching
to 9-STABLE.

> 
> Modified:
>   head/etc/defaults/rc.conf
>   head/etc/rc.d/jail
> 
> Modified: head/etc/defaults/rc.conf
> ==============================================================================
> --- head/etc/defaults/rc.conf Sun Aug 19 02:22:16 2012        (r239381)
> +++ head/etc/defaults/rc.conf Sun Aug 19 08:15:32 2012        (r239382)
> @@ -705,6 +705,7 @@ jail_sysvipc_allow="NO"   # Allow SystemV 
>  #jail_example_mount_enable="NO"                      # mount/umount jail's fs
>  #jail_example_fstab=""                               # fstab(5) for 
> mount/umount
>  #jail_example_flags="-l -U root"             # flags for jail(8)
> +#jail_example_parameters="allow.raw_sockets=1"       # extra parameters for 
> this jail
>  
>  ##############################################################
>  ### Define source_rc_confs, the mechanism used by /etc/rc.* ##
> 
> Modified: head/etc/rc.d/jail
> ==============================================================================
> --- head/etc/rc.d/jail        Sun Aug 19 02:22:16 2012        (r239381)
> +++ head/etc/rc.d/jail        Sun Aug 19 08:15:32 2012        (r239382)
> @@ -115,6 +115,8 @@ init_variables()
>       [ -z "${_flags}" ] && _flags="-l -U root"
>       eval _consolelog=\"\${jail_${_j}_consolelog:-${jail_consolelog}}\"
>       [ -z "${_consolelog}" ] && _consolelog="/var/log/jail_${_j}_console.log"
> +     eval _parameters=\"\${jail_${_j}_parameters:-${jail_parameters}}\"
> +     [ -z "${_parameters}" ] && _parameters=""
>       eval _fib=\"\${jail_${_j}_fib:-${jail_fib}}\"
>  
>       # Debugging aid
> @@ -193,6 +195,7 @@ init_variables()
>  
>       debug "$_j flags: $_flags"
>       debug "$_j consolelog: $_consolelog"
> +     debug "$_j parameters: $_parameters"
>  
>       if [ -z "${_hostname}" ]; then
>               err 3 "$name: No hostname has been defined for ${_j}"
> @@ -484,9 +487,19 @@ jail_handle_ips_option()
>               esac
>  
>               # Append address to list of addresses for the jail command.
> -             case "${_addrl}" in
> -             "")     _addrl="${_addr}" ;;
> -             *)      _addrl="${_addrl},${_addr}" ;;
> +             case "${_type}" in
> +             inet)
> +                     case "${_addrl}" in
> +                     "")     _addrl="${_addr}" ;;
> +                     *)      _addrl="${_addrl},${_addr}" ;;
> +                     esac
> +                     ;;
> +             inet6)
> +                     case "${_addr6l}" in
> +                     "")     _addr6l="${_addr}" ;;
> +                     *)      _addr6l="${_addr6l},${_addr}" ;;
> +                     esac
> +                     ;;
>               esac
>  
>               # Configure interface alias if requested by a given interface
> @@ -576,6 +589,7 @@ jail_start()
>                       continue;
>               fi
>               _addrl=""
> +             _addr6l=""
>               jail_ips "add"
>               if [ -n "${_fib}" ]; then
>                       _setfib="setfib -F '${_fib}'"
> @@ -641,8 +655,8 @@ jail_start()
>                       i=$((i + 1))
>               done
>  
> -             eval ${_setfib} jail -n ${_jail} ${_flags} -i ${_rootdir} 
> ${_hostname} \
> -                     \"${_addrl}\" ${_exec_start} > ${_tmp_jail} 2>&1 \
> +             eval ${_setfib} jail -n ${_jail} ${_flags} -i -c 
> path=${_rootdir} host.hostname=${_hostname} \
> +                     ip4.addr=\"${_addrl}\" ip6.addr=\"${_addr6l}\" 
> ${_parameters} command=${_exec_start} > ${_tmp_jail} 2>&1 \
>                       </dev/null
>  
>               if [ "$?" -eq 0 ] ; then
> _______________________________________________
> svn-src-...@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/svn-src-all
> To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
> 


-- 
Regards,
Bryan Drewery
bdrewery@freenode/EFNet
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to