From f631c013c2f9429fc4bf8af23b2853c36144a050 Mon Sep 17 00:00:00 2001 From: Maksim Yevmenkin Date: Mon, 30 Mar 2009 21:31:52 +0000 Subject: [PATCH] - Add ipfw_nat to the list of required modules if "firewall_nat_enable" is set and "natd_enable" is NOT set; - Accept and pass firewall type to the external firewall script. Submitted by: Yuri Kurenkov < y -dot- kurenkov -at- init -dot- ru > MFC after: 3 days No response from: freebsd-rc --- etc/rc.d/ipfw | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/etc/rc.d/ipfw b/etc/rc.d/ipfw index 44af170fc594..2780943fd073 100755 --- a/etc/rc.d/ipfw +++ b/etc/rc.d/ipfw @@ -23,10 +23,20 @@ ipfw_prestart() if checkyesno dummynet_enable; then required_modules="$required_modules dummynet" fi + + if checkyesno firewall_nat_enable; then + if ! checkyesno natd_enable; then + required_modules="$required_modules ipfw_nat" + fi + fi } ipfw_start() { + local _firewall_type + + _firewall_type=$1 + # set the firewall rules script if none was specified [ -z "${firewall_script}" ] && firewall_script=/etc/rc.firewall @@ -34,7 +44,7 @@ ipfw_start() if [ -f /etc/rc.d/natd ] ; then /etc/rc.d/natd quietstart fi - /bin/sh "${firewall_script}" + /bin/sh "${firewall_script}" "${_firewall_type}" echo 'Firewall rules loaded.' elif [ "`ipfw list 65535`" = "65535 deny ip from any to any" ]; then echo 'Warning: kernel has firewall functionality, but' \ @@ -67,4 +77,4 @@ ipfw_stop() } load_rc_config $name -run_rc_command "$1" +run_rc_command $*