diff options
Diffstat (limited to 'helper/xml-iptables-safe')
-rwxr-xr-x | helper/xml-iptables-safe | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/helper/xml-iptables-safe b/helper/xml-iptables-safe new file mode 100755 index 0000000..22e4804 --- /dev/null +++ b/helper/xml-iptables-safe @@ -0,0 +1,29 @@ +#!/bin/bash + +[ `id -u` = 0 ] || exit 1 + +export PATH=/sbin:/usr/local/sbin/:/usr/sbin:$PATH + +TEMP1=`tempfile` +TEMP2=`tempfile` +chmod 600 $TEMP1 $TEMP2 + +iptables-save > $TEMP1 +xml-iptables $1 > $TEMP2 +ret=$? + +if [ "$ret" = "0" ] ; then + . $TEMP2 + ret=$? +fi + +if [ "$ret" = "0" ] ; then + echo "Firewall installation succeeded." 2>&1 +else + echo "Firewall installation failed." 2>&1 + iptables-restore < $TEMP1 +fi + +rm -f $TEMP1 $TEMP2 + +exit $ret |