#!/bin/sh
# chkconfig: 345 11 89
# description: Plesk Firewall (IP forwarding)

SERVICE_NAME="psa-firewall (IP forwarding)"
MODULE="firewall"
PRODUCT_ROOT_D="/usr/local/psa"

action="$1"
active="$PRODUCT_ROOT_D/var/modules/$MODULE/ip_forward.active"
saved="$PRODUCT_ROOT_D/var/modules/$MODULE/ip_forward.saved"

case "$action" in

	start)
		if [ -f "$active" ]; then
			cat /proc/sys/net/ipv4/ip_forward > "$saved"
			cat "$active" > /proc/sys/net/ipv4/ip_forward
			chmod 644 "$saved"
			echo "$SERVICE_NAME: service successfully started"
			exit 0
		else
			echo "$SERVICE_NAME: service is disabled"
			exit 1
		fi
		;;

	stop)
		if [ -f "$saved" ]; then
			cat "$saved" > /proc/sys/net/ipv4/ip_forward
			rm -f "$saved"
			echo "$SERVICE_NAME: service successfully stopped"
			exit 0
		else
			echo "$SERVICE_NAME: service has not been started"
			exit 1
		fi
		;;

	restart|force-reload)
		"$0" stop
		"$0" start
		exit
		;;

	help)
		echo "usage: $0 <arg>"
		echo "where argument is one from the list:"
		cat << EOF
	start       -- start ${SERVICE_NAME}
	stop        -- stop ${SERVICE_NAME}
	restart     -- restart ${SERVICE_NAME} if running or start if not running
	help        -- this screen

EOF
		exit 1
		;;

	*)
		echo "usage: $0 (start|stop|restart|help)"
		exit 1
		;;
esac
