Skip site navigation (1)Skip section navigation (2)
Date:      9 Aug 2005 17:08:40 -0000
From:      SimpleRezo <freebsd@simplerezo.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/84711: rcNG script for arpwatch
Message-ID:  <20050809170840.10505.qmail@mail.homelidays.com>
Resent-Message-ID: <200508091710.j79HANkM043953@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         84711
>Category:       ports
>Synopsis:       rcNG script for arpwatch
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Tue Aug 09 17:10:23 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     SimpleRezo
>Release:        FreeBSD 5.3-RELEASE-p8 i386
>Organization:
SimpleRezo [http://www.simplerezo.com]
>Environment:
System: FreeBSD ---.simplerezo.com 5.3-RELEASE-p8 FreeBSD 5.3-RELEASE-p8 #0: Thu Apr 7 14:27:58 CEST 2005 root@---.simplerezo.com:/usr/obj/usr/src/sys/KERNEL i386


	
>Description:
	
	It would be great to use a right rcNG script for this port!
	You could find bellow mine. It support by instance option (with arpwatch_INTERFACE_options variable).

>How-To-Repeat:
	
>Fix:

	

--- arpwatch.sh begins here ---
#!/bin/sh
#
# $Id$
#

# PROVIDE: arpwatch
# REQUIRE: NETWORKING
# KEYWORD: FreeBSD

# Add the following lines to /etc/rc.conf to enable arpwatch:
#
#arpwatch_enable="YES"
#
arpwatch_enable=${arpwatch_enable:-"NO"}
arpwatch_dir="/usr/local/arpwatch/"
arpwatch_interfaces=

. /etc/rc.subr

name=arpwatch
rcvar=`set_rcvar`
required_dirs=${arpwatch_dir}

load_rc_config ${name}

command="/usr/local/sbin/${name}"
start_precmd=${name}_precmd

arpwatch_precmd() {
    case ${arpwatch_interfaces} in
        '')  
	    echo prcmd
	    if [ ! -e "${arpwatch_dir}/arp.dat" ]; then
		if [ -e "${arpwatch_dir}/arp.dat-" ]; then
		    cp "${arpwatch_dir}/arp.dat-" "${arpwatch_dir}/arp.dat"
		else
		    touch "${arpwatch_dir}/arp.dat"
		fi
	    fi
	;;

	*)
	    for interface in ${arpwatch_interfaces}; do
	        if [ ! -e "${arpwatch_dir}/arp.${interface}.dat" ]; then
		    if [ -e "${arpwatch_dir}/arp.${interface}.dat-" ]; then
		        cp "${arpwatch_dir}/arp.${interface}.dat-" "${arpwatch_dir}/arp.${interface}.dat"
		    else
		        touch "${arpwatch_dir}/arp.${interface}.dat"
		    fi
		fi
	    done
	;;
    esac
}

arpwatch_stop() {
    killall arpwatch
}

case ${arpwatch_interfaces} in
    '')  
	 echo 'meuh'
         run_rc_command "$1"
    ;;

    *)
	 if [ "$1" = "start" ]; then
 	     for interface in ${arpwatch_interfaces}; do
		 eval options=\$arpwatch_${interface}_options
	         command_args="-i ${interface} ${options} -f arp.${interface}.dat" 
                 run_rc_command "$1"
	     done
	 else
             run_rc_command "$1"
	 fi
    ;;
esac
--- arpwatch.sh ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050809170840.10505.qmail>