summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authoremax <emax@FreeBSD.org>2009-03-30 21:31:52 +0000
committeremax <emax@FreeBSD.org>2009-03-30 21:31:52 +0000
commita567037bb2c4f5f3796c2b117e7612a91b37c5ff (patch)
tree82ae98f9e85031cb2f5c1808f08e52e21dcdab76 /etc
parent67399c37a8ea6efeff9a9c9c333ecc8c31688e4c (diff)
downloadFreeBSD-src-a567037bb2c4f5f3796c2b117e7612a91b37c5ff.zip
FreeBSD-src-a567037bb2c4f5f3796c2b117e7612a91b37c5ff.tar.gz
- 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
Diffstat (limited to 'etc')
-rwxr-xr-xetc/rc.d/ipfw14
1 files changed, 12 insertions, 2 deletions
diff --git a/etc/rc.d/ipfw b/etc/rc.d/ipfw
index 44af170..2780943 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 $*
OpenPOWER on IntegriCloud