#!/bin/sh
#	fwgen-checkcfg 0.04
#
#	Copyright (C) 2000:	Manel Marin <manel3@wanadoo.es>
#	Licence:		GNU GPL version >= 2
#
#	Check and regen real firewall scripts from config but only if needed
#
#--------
#	Comprueba y regenera los scripts de firewall reales desde la config
#	pero solo si es necesario
#
PATH=/usr/lib/firewall-easy:/sbin:/usr/sbin:/bin:/usr/bin

FW_RULES=/etc/firewall-easy-lib

FW_SCRIPT="`runfwscript -i /etc/firewall`"
	# Devuelve nombre del script de firewall a lanzar
	# Depende del kernel (2.0, 2.2, 2.4)


# IF NO FIREWALL SUPPORT		# SI NO HAY SOPORTE FIREWALL

test "$FW_SCRIPT" = "" && exit 1


# REGEN SCRIPT ONLY IF IT DOES NOT	# REGENERAR EL SCRIPT SOLO SI ESTE NO
# EXIST OR RULES OR SCRIPT MODIFIED	# EXISTE O CAMBIARON REGLAS O SCRIPT

# We know rules and script are		# Sabemos que reglas y script estn
# syncronized when both have the	# sincronizados cuando ambos tienen
# same date (the one of the rules)	# la misma fecha (la de las reglas)

if test -e $FW_RULES
then
    if test -x $FW_SCRIPT
    then
	if test $FW_RULES -nt $FW_SCRIPT
	then
	    echo
	    echo "!!! $FW_RULES _MODIFIED_ (rules > script $FW_SCRIPT)"
	    runfwscript fwgen			# runs fwgen-ipchains, etc...
	    touch -r $FW_RULES $FW_SCRIPT	# date script = rules 
	    echo
	fi

	if test $FW_RULES -ot $FW_SCRIPT
	then
	    echo
	    echo "!!! $FW_RULES _MODIFIED_ (rules < script $FW_SCRIPT)"
	    runfwscript fwgen			# runs fwgen-ipchains, etc...
	    touch -r $FW_RULES $FW_SCRIPT	# date script = rules 
	    echo
	fi
    else
	echo
	echo "!!! $FW_SCRIPT _DOES NOT EXIST_"
	runfwscript fwgen			# runs fwgen-ipchains, etc...
	touch -r $FW_RULES $FW_SCRIPT		# date script = reglas 
	echo
    fi
else
    echo
    echo "WARNING: $FW_RULES rules file does _NOT_ exist, please reinstall"
    echo
fi
