[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.7 and 1.17

version 1.7, 2000/09/19 13:04:38 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
   
 name="ipfilter"  name="ipfilter"
 rcvar=$name  rcvar=$name
 start_precmd="ipfilter_prestart"  start_precmd="ipfilter_prestart"
 start_cmd="ipfilter_start"  start_cmd="ipfilter_start"
 stop_precmd="test -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_precmd="$stop_precmd"
 status_cmd="ipfilter_status"  status_cmd="ipfilter_status"
 extra_commands="reload status"  extra_commands="reload resync status"
   
 ipfilter_prestart()  ipfilter_prestart()
 {  {
         if [ ! -f /etc/ipf.conf ]; then          if [ ! -f /etc/ipf.conf ] && [ ! -f /etc/ipf6.conf ]; then
                 warn "/etc/ipf.conf not readable; ipfilter start aborted."                  warn "/etc/ipf*.conf not readable; ipfilter start aborted."
                         #  
                         # If booting directly to multiuser, send SIGTERM to                  stop_boot
                         # the parent (/etc/rc) to abort the boot  
                         #  
                 if [ "$autoboot" = yes ]; then  
                         echo "ERROR: ABORTING BOOT (sending SIGTERM to parent)!"  
                         kill -TERM $$  
                         exit 1  
                 fi  
                 return 1                  return 1
         fi          fi
         return 0          return 0
Line 41  ipfilter_prestart()
Line 36  ipfilter_prestart()
 ipfilter_start()  ipfilter_start()
 {  {
         echo "Enabling ipfilter."          echo "Enabling ipfilter."
         /sbin/ipf -E -Fa -f /etc/ipf.conf          /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
   
                   # Now load the config files
                   #
           if [ -f /etc/ipf.conf ]; then
                   /sbin/ipf -f /etc/ipf.conf
           fi
           if [ -f /etc/ipf6.conf ]; then
                   /sbin/ipf -6 -f /etc/ipf6.conf
           fi
 }  }
   
 ipfilter_stop()  ipfilter_stop()
Line 53  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()  ipfilter_status()

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

CVSweb <webmaster@jp.NetBSD.org>