Blame SPECS/arptables-helper

Packit a57ba4
#!/bin/bash
Packit a57ba4
# config: /etc/sysconfig/arptables
Packit a57ba4
Packit a57ba4
# Source 'em up
Packit a57ba4
. /etc/init.d/functions
Packit a57ba4
Packit a57ba4
ARPTABLES_CONFIG=/etc/sysconfig/arptables
Packit a57ba4
Packit a57ba4
flush_delete_chains() {
Packit a57ba4
	echo -n $"Flushing all chains: "
Packit a57ba4
	if arptables -F; then
Packit a57ba4
		success
Packit a57ba4
	else
Packit a57ba4
		failure
Packit a57ba4
	fi
Packit a57ba4
	echo
Packit a57ba4
Packit a57ba4
	echo -n $"Removing user defined chains: "
Packit a57ba4
	if arptables -X; then
Packit a57ba4
		success
Packit a57ba4
	else
Packit a57ba4
		failure
Packit a57ba4
	fi
Packit a57ba4
	echo
Packit a57ba4
}
Packit a57ba4
Packit a57ba4
start() {
Packit a57ba4
	if [ ! -x /usr/sbin/arptables ]; then
Packit a57ba4
		exit 4
Packit a57ba4
	fi
Packit a57ba4
Packit a57ba4
	# don't do squat if we don't have the config file
Packit a57ba4
	if [ -f $ARPTABLES_CONFIG ]; then
Packit a57ba4
		# If we don't clear these first, we might be adding to
Packit a57ba4
		# pre-existing rules.
Packit a57ba4
                flush_delete_chains
Packit a57ba4
Packit a57ba4
		arptables -Z
Packit a57ba4
Packit a57ba4
		echo -n $"Applying arptables firewall rules: "
Packit a57ba4
		/usr/sbin/arptables-restore < $ARPTABLES_CONFIG && \
Packit a57ba4
			success || \
Packit a57ba4
			failure
Packit a57ba4
		echo
Packit a57ba4
		touch /var/lock/subsys/arptables
Packit a57ba4
	else
Packit a57ba4
		failure
Packit a57ba4
		echo
Packit a57ba4
		echo $"Configuration file /etc/sysconfig/arptables missing"
Packit a57ba4
		exit 6
Packit a57ba4
	fi
Packit a57ba4
}
Packit a57ba4
Packit a57ba4
stop() {
Packit a57ba4
        flush_delete_chains
Packit a57ba4
	echo -n $"Resetting built-in chains to the default ACCEPT policy:"
Packit a57ba4
	arptables -P INPUT ACCEPT && \
Packit a57ba4
		arptables -P OUTPUT ACCEPT && \
Packit a57ba4
		success || \
Packit a57ba4
		failure
Packit a57ba4
	echo
Packit a57ba4
	rm -f /var/lock/subsys/arptables
Packit a57ba4
}
Packit a57ba4
Packit a57ba4
case "$1" in
Packit a57ba4
start)
Packit a57ba4
	start
Packit a57ba4
	;;
Packit a57ba4
Packit a57ba4
stop)
Packit a57ba4
	stop
Packit a57ba4
	;;
Packit a57ba4
Packit a57ba4
restart|reload)
Packit a57ba4
	# "restart" is really just "start" as this isn't a daemon,
Packit a57ba4
	# and "start" clears any pre-defined rules anyway.
Packit a57ba4
	# This is really only here to make those who expect it happy
Packit a57ba4
	start
Packit a57ba4
	;;
Packit a57ba4
Packit a57ba4
condrestart|try-restart|force-reload)
Packit a57ba4
	[ -e /var/lock/subsys/arptables ] && start
Packit a57ba4
	;;
Packit a57ba4
Packit a57ba4
*)
Packit a57ba4
	exit 2
Packit a57ba4
esac
Packit a57ba4
Packit a57ba4
exit 0