We noticed that Firestarter would abort on start up when set up as a service. The abort occurred because eth0 was not ready before the service tried to start
I see... I created that firestarter init script and tried to make it as close as possible to the default firewall script.
I wonder what's causing that (I mean, if it's something in the init script or in the firestarter.sh file that the script calls).
I have a few questions, but you would need to delete the line at the end of rc.network and try the "normal" procedure to see what's wrong.
1. I'm assuming you installed the package from the repository (which makes the service available in VasmCC) and that firestarter was run at least once in graphical mode (that creates the /etc/firestarter/firestarter.sh file that is called by the script). Also, that you enabled the firestarter service and disabled the firewall one in VasmCC. True?
2. In my box, the firestarter service is one of the very last to be loaded (before the stuff in rc.local). Is that the case for you?
3. After enabling the service in VasmCC, you should have a file inside /etc/rc.d/rc4.d/ (if you enable it for runlevel 4, for example) that should be exactly the same as the init script /etc/rc.d/init.d/firestarter (in my case the rc4.d file is called S50firestarter). Could you confirm that?
4. I guess after you boot up, "service firestarter status" says it's not running, and "iptables -L" shows no rules. Could you confirm this?
5. Do "service firestarter start" and "service firestarter stop" work correctly? That is, after booting up, does "service firestarter start" make it start even if it has previously aborted during boot?
6. Maybe this has something to do with different firestarter.sh files. This file is created after running firestarter, and I think depends on the few choices that you are asked to do when you first launch it. Could you post the contents of your /etc/firestarter/firestarter.sh?
In my file, those messages come from this bit:
if [ "$MASK" = "" -a "$1" != "stop" ]; then
echo "External network device $IF is not ready. Aborting.."
exit 2
fi
if [ "$NAT" = "on" ]; then
if [ "$INMASK" = "" -a "$1" != "stop" ]; then
echo "Internal network device $INIF is not ready. Aborting.."
exit 3
fi
fi
I'm way out of my league here, though. I just made the script as a service.

It seems that in your case, enabling the service as boot in VasmCC for a runlevel will lead to it aborting, but if you put the service start at the end of rc.network it doesn't, even if the code is the same

In any case, you've solved it (and you might not have the time or will to do these tests), but I wonder if I made some error packaging it, as the package is now in the extra repository and it might need to be pulled out.
Thanks a lot!