diff options
author | Pav Lucistnik <pav@FreeBSD.org> | 2005-12-27 05:25:18 +0000 |
---|---|---|
committer | Pav Lucistnik <pav@FreeBSD.org> | 2005-12-27 05:25:18 +0000 |
commit | 21bf12750375449887f6699ca20d49b3ea5bf0f1 (patch) | |
tree | cfd03da64eca00e796b218f44c61913718788d78 /net-mgmt/arpwatch/files/arpwatch.sh.in | |
parent | fc78da6f48190af56fdf09a2771194324432abe2 (diff) | |
download | ports-21bf12750375449887f6699ca20d49b3ea5bf0f1.tar.gz ports-21bf12750375449887f6699ca20d49b3ea5bf0f1.zip |
- Switch to rc_subr startup script
PR: ports/84711
Submitted by: SimpleRezo <freebsd@simplerezo.com>
Notes
Notes:
svn path=/head/; revision=152151
Diffstat (limited to 'net-mgmt/arpwatch/files/arpwatch.sh.in')
-rw-r--r-- | net-mgmt/arpwatch/files/arpwatch.sh.in | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/net-mgmt/arpwatch/files/arpwatch.sh.in b/net-mgmt/arpwatch/files/arpwatch.sh.in new file mode 100644 index 000000000000..12521d8ef0f8 --- /dev/null +++ b/net-mgmt/arpwatch/files/arpwatch.sh.in @@ -0,0 +1,77 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# 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="%%PREFIX%%/arpwatch/" +arpwatch_interfaces= + +. %%RC_SUBR%% + +name=arpwatch +rcvar=`set_rcvar` +required_dirs=${arpwatch_dir} + +load_rc_config ${name} + +command="%%PREFIX%%/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 |