[BACK]Return to ipfilter CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / etc / rc.d

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/etc/rc.d/ipfilter between version 1.2 and 1.17

version 1.2, 2000/03/11 20:10:21 version 1.17, 2008/11/22 20:23:33
Line 4 
Line 4 
 #  #
   
 # PROVIDE: ipfilter  # PROVIDE: ipfilter
 # REQUIRE: root beforenetlkm mountcritlocal tty  # REQUIRE: root bootconf mountcritlocal tty
   
 . /etc/rc.subr  $_rc_subr_loaded . /etc/rc.subr
 . /etc/rc.conf  
   
 name="ipfilter"  name="ipfilter"
   rcvar=$name
   start_precmd="ipfilter_prestart"
 start_cmd="ipfilter_start"  start_cmd="ipfilter_start"
 stop_precmd="checkyesno ipfilter && [ -f /etc/ipf.conf ]"  stop_precmd="test -f /etc/ipf.conf -o -f /etc/ipf6.conf"
 stop_cmd="ipfilter_stop"  stop_cmd="ipfilter_stop"
 reload_precmd="$stop_precmd"  reload_precmd="$stop_precmd"
 reload_cmd="ipfilter_reload"  reload_cmd="ipfilter_reload"
   resync_precmd="$stop_precmd"
   resync_cmd="ipfilter_resync"
   status_precmd="$stop_precmd"
   status_cmd="ipfilter_status"
   extra_commands="reload resync status"
   
   ipfilter_prestart()
   {
           if [ ! -f /etc/ipf.conf ] && [ ! -f /etc/ipf6.conf ]; then
                   warn "/etc/ipf*.conf not readable; ipfilter start aborted."
   
                   stop_boot
                   return 1
           fi
           return 0
   }
   
 ipfilter_start()  ipfilter_start()
 {  {
         if ! checkyesno ipfilter; then          echo "Enabling ipfilter."
                 return 0          /sbin/ipf -E
   
                   # Do the flush first; since older ipf has different semantics.
                   #
           if [ -f /etc/ipf.conf ]; then
                   /sbin/ipf -Fa
           fi
           if [ -f /etc/ipf6.conf ]; then
                   /sbin/ipf -6 -Fa
         fi          fi
   
         #       if /etc/ipf.conf isn't readable, abort the boot rather                  # Now load the config files
         #       than risk a security problem                  #
         #          if [ -f /etc/ipf.conf ]; then
         if [ ! -f /etc/ipf.conf ]; then                  /sbin/ipf -f /etc/ipf.conf
                 err 1 "/etc/ipf.conf not readable; ipfilter start aborted."          fi
           if [ -f /etc/ipf6.conf ]; then
                   /sbin/ipf -6 -f /etc/ipf6.conf
         fi          fi
         echo "Enabling ipfilter."  
         /sbin/ipf -E -Fa -f /etc/ipf.conf  
 }  }
   
 ipfilter_stop()  ipfilter_stop()
Line 41  ipfilter_stop()
Line 66  ipfilter_stop()
 ipfilter_reload()  ipfilter_reload()
 {  {
         echo "Reloading ipfilter rules."          echo "Reloading ipfilter rules."
         /sbin/ipf -I -Fa -f /etc/ipf.conf  
         if [ $? -eq 0 ]; then                  # Do the flush first; since older ipf has different semantics.
                 /sbin/ipf -s                  #
         else          if [ -f /etc/ipf.conf ]; then
                 warn "Reload failed; not swapping to new ruleset."                  /sbin/ipf -I -Fa
         fi          fi
           if [ -f /etc/ipf6.conf ]; then
                   /sbin/ipf -6 -I -Fa
           fi
   
                   # Now load the config files into the Inactive set
                   #
           if [ -f /etc/ipf.conf ] && ! /sbin/ipf -I -f /etc/ipf.conf; then
                   err 1 "reload of ipf.conf failed; not swapping to new ruleset."
           fi
           if [ -f /etc/ipf6.conf ] && ! /sbin/ipf -I -6 -f /etc/ipf6.conf; then
                   err 1 "reload of ipf6.conf failed; not swapping to new ruleset."
           fi
   
                   # Swap in the new rules
                   #
           /sbin/ipf -s
   }
   
   ipfilter_resync()
   {
           /sbin/ipf -y
   }
   
   ipfilter_status()
   {
           /sbin/ipf -V
 }  }
   
 run_rc_command "$1" "reload"  load_rc_config $name
   run_rc_command "$1"

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.17

CVSweb <webmaster@jp.NetBSD.org>