aboutsummaryrefslogtreecommitdiff
path: root/net-mgmt/arpwatch/files/arpwatch.sh.in
diff options
context:
space:
mode:
authorPav Lucistnik <pav@FreeBSD.org>2005-12-27 05:25:18 +0000
committerPav Lucistnik <pav@FreeBSD.org>2005-12-27 05:25:18 +0000
commit21bf12750375449887f6699ca20d49b3ea5bf0f1 (patch)
treecfd03da64eca00e796b218f44c61913718788d78 /net-mgmt/arpwatch/files/arpwatch.sh.in
parentfc78da6f48190af56fdf09a2771194324432abe2 (diff)
downloadports-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.in77
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