summaryrefslogtreecommitdiffstats
path: root/userspace/arptables
diff options
context:
space:
mode:
Diffstat (limited to 'userspace/arptables')
-rw-r--r--userspace/arptables/arptables.sysv103
1 files changed, 103 insertions, 0 deletions
diff --git a/userspace/arptables/arptables.sysv b/userspace/arptables/arptables.sysv
new file mode 100644
index 0000000..903fd4b
--- /dev/null
+++ b/userspace/arptables/arptables.sysv
@@ -0,0 +1,103 @@
+#!/bin/bash
+#
+# init script for the arptables
+#
+# Original by Dag Wieers <dag@wieers.com>.
+# Modified/changed to arptables by
+# Rok Papez <rok.papez@arnes.si>.
+#
+# chkconfig: - 16 84
+# description: Arp filtering tables
+#
+# config: /etc/sysconfig/arptables
+
+source /etc/init.d/functions
+source /etc/sysconfig/network
+
+# Check that networking is up.
+[ ${NETWORKING} = "no" ] && exit 0
+
+[ -x /sbin/arptables ] || exit 1
+[ -x /sbin/arptables-save ] || exit 1
+[ -x /sbin/arptables-restore ] || exit 1
+
+[ "$1" == "save" -o -r /etc/sysconfig/arptables ] || exit 1
+
+RETVAL=0
+prog="arptables"
+desc="Arp filtering"
+
+start() {
+ echo -n $"Starting $desc ($prog): "
+ /sbin/arptables-restore < /etc/sysconfig/arptables || RETVAL=1
+
+ if [ $RETVAL -eq 0 ]; then
+ success "$prog startup"
+ rm -f /var/lock/subsys/$prog
+ else
+ failure "$prog startup"
+ fi
+
+ echo
+ return $RETVAL
+}
+
+stop() {
+ echo -n $"Stopping $desc ($prog): "
+ /sbin/arptables-restore < /dev/null || RETVAL=1
+
+ if [ $RETVAL -eq 0 ]; then
+ success "$prog shutdown"
+ rm -f %{_localstatedir}/lock/subsys/$prog
+ else
+ failure "$prog shutdown"
+ fi
+
+ echo
+ return $RETVAL
+}
+
+restart() {
+ stop
+ start
+}
+
+save() {
+ echo -n $"Saving $desc ($prog): "
+ /sbin/arptables-save > /etc/sysconfig/arptables || RETVAL=1
+
+ if [ $RETVAL -eq 0 ]; then
+ success "$prog saved"
+ else
+ failure "$prog saved"
+ fi
+ echo
+}
+
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart|reload)
+ restart
+ ;;
+ condrestart)
+ [ -e /var/lock/subsys/$prog ] && restart
+ RETVAL=$?
+ ;;
+ save)
+ save
+ ;;
+ status)
+ /sbin/arptables-save
+ RETVAL=$?
+ ;;
+ *)
+ echo $"Usage $0 {start|stop|restart|condrestart|save|status}"
+ RETVAL=1
+esac
+
+exit $RETVAL