The attached patch updates the patch I provided previously for this bug. Please use this patch instead.
Thanks Javier
diff -u firestarter-1.0.3/debian/changelog firestarter-1.0.3/debian/changelog --- firestarter-1.0.3/debian/changelog +++ firestarter-1.0.3/debian/changelog @@ -1,3 +1,11 @@ +firestarter (1.0.3-10.1) unstable; urgency=low + + * debian/firestarter.ifupdown: Do not restart the firestarter service + unless it is properly configured and the interface being started/stopped + corresponds to the external interface. (Closes: #632070) + + -- Javier Fernandez-Sanguino Pen~a <j...@debian.org> Sun, 03 Jul 2011 23:07:57 +0200 + firestarter (1.0.3-10) unstable; urgency=low * Update non-routeables file to reflect allocation of the diff -u firestarter-1.0.3/debian/firestarter.ifupdown firestarter-1.0.3/debian/firestarter.ifupdown --- firestarter-1.0.3/debian/firestarter.ifupdown +++ firestarter-1.0.3/debian/firestarter.ifupdown @@ -1,4 +1,29 @@ #! /bin/sh +# quit if we're called for the loopback +if [ "$IFACE" = "lo" ]; then + exit 0 +fi + +# or if the configuration does not exist +if [ ! -r /etc/firestarter/configuration ]; then + exit 0 +fi + +# Retrieve the configuration values + +. /etc/firestarter/configuration + +# Check if we have the values we need to proceed +if [ -z "$IF" ] || [ -z "$INIF" ] ; then + exit 0 +fi + +# Are we being called for the same interfaces we are configured with? +if [ "$IFACE" != "$IF" ] ; then + exit 0 +fi + +# If all the other checks succeed, then restart the firewall invoke-rc.d firestarter restart