aboutsummaryrefslogtreecommitdiff
path: root/libexec/rc/rc.d/ipfilter
diff options
context:
space:
mode:
Diffstat (limited to 'libexec/rc/rc.d/ipfilter')
-rwxr-xr-xlibexec/rc/rc.d/ipfilter11
1 files changed, 10 insertions, 1 deletions
diff --git a/libexec/rc/rc.d/ipfilter b/libexec/rc/rc.d/ipfilter
index e951bc9b7878..9b64fcff0c7a 100755
--- a/libexec/rc/rc.d/ipfilter
+++ b/libexec/rc/rc.d/ipfilter
@@ -15,6 +15,9 @@ rcvar="ipfilter_enable"
load_rc_config $name
stop_precmd="test -f ${ipfilter_rules}"
+# doesn't make sense to run in a svcj: config setting
+ipfilter_svcj="NO"
+
start_precmd="$stop_precmd"
start_cmd="ipfilter_start"
stop_cmd="ipfilter_stop"
@@ -30,7 +33,13 @@ required_modules="ipl:ipfilter"
ipfilter_start()
{
echo "Enabling ipfilter."
- if ! ${ipfilter_program:-/sbin/ipf} -V | grep -q 'Running: yes'; then
+ if [ -n "${ifilter_optionlist}" ]; then
+ if ${ipfilter_program:-/sbin/ipf} -V | grep -q 'Running: yes'; then
+ ${ipfilter_program:-/sbin/ipf} -D
+ fi
+ ${ipfilter_program:-/sbin/ipf} -T "${ipfilter_optionlist}"
+ ${ipfilter_program:-/sbin/ipf} -E
+ elif ! ${ipfilter_program:-/sbin/ipf} -V | grep -q 'Running: yes'; then
${ipfilter_program:-/sbin/ipf} -E
fi
${ipfilter_program:-/sbin/ipf} -Fa