#!/bin/sh
#	firewall-easy 0.06
#
#	Copyright (C) 2002:	Manel Marin <manel3@wanadoo.es>
#	Licence:		GNU GPL version >= 2
#
#	Process calls from console and run proper "lib" script
#
#--------
#	Procesa llamadas desde la consola y lanza el script "lib" adecuado
#
PATH=/usr/lib/firewall-easy:/sbin:/usr/sbin:/bin:/usr/bin


set -e

# NOTE: Only root can use runfwscript

if [ "$1" = "debug" ]
then
    export DEBUG=yes
fi

case "$1" in
  start|restart|reload|debug)
	# restart=start: it is not needed to delete old rules to set new ones
	# reload=start: to apply changes in config we have to set new rules
	# CLOSE TESTING ALIAS lo:0 IF UP
	if [ "`list-iface-ip lo:0`" != "" ]
	then
	    echo
	    echo "WARNING: lo:0 TEST ALIAS INTERFACE WAS UP -> CLOSING IT"
	    echo
	    ifconfig lo:0 down
	fi
	# CHECK AND REGEN REAL FIREWALL SCRIPTS FROM CONFIG BUT ONLY IF NEEDED
	fwgen-checkcfg
	# RUN PROPER SCRIPT TO THE KERNEL # LANZAR EL SCRIPT ADECUADO AL KERNEL
	runfwscript /etc/firewall	# Esto lanza firewall-ipchains, etc...
	;;
  stop)
	runfwscript firewall-stop
	;;
  resetc|resetcounters)
	runfwscript firewall-resetcounters
	;;
  list)
	runfwscript firewall-list
	;;
  mon)
	shift				#skip "mon" arg
	firewall-easy-mon $*		#pass args like "firewall-easy mon tty9"
	;;
  test)
	# RUN TESTFW AND MONITOR
	shift				#skip "test" arg
	testfw
	firewall-easy-mon $*		#pass args like "firewall-easy test tty9"
	;;
  *)
	echo "Usage: firewall-easy {start|stop|reload|resetcounters|list|mon|test|debug}" >&2
	exit 1
	;;
esac

exit 0
