diff --git a/Shorewall2/firewall b/Shorewall2/firewall index 00fa2da16..f8159a894 100755 --- a/Shorewall2/firewall +++ b/Shorewall2/firewall @@ -5353,9 +5353,9 @@ define_firewall() # $1 = Command (Start or Restart) save_command 'iptables-restore << EOF' - mv -f /var/lib/shorewall/restore-$$ /var/lib/shorewall/restore-new + mv -f /var/lib/shorewall/restore-$$ /var/lib/shorewall/restore-base - chmod +x /var/lib/shorewall/restore-new + chmod +x /var/lib/shorewall/restore-base } diff --git a/Shorewall2/shorewall b/Shorewall2/shorewall index 9dd626cd8..403738a44 100755 --- a/Shorewall2/shorewall +++ b/Shorewall2/shorewall @@ -966,13 +966,14 @@ case "$1" in if iptables -L dynamic -n > /var/lib/shorewall/save; then echo " Dynamic Rules Saved" - if [ -f /var/lib/shorewall/restore-new ]; then - mv -f /var/lib/shorewall/restore-new /var/lib/shorewall/restore - if iptables-save >> /var/lib/shorewall/restore ; then - echo EOF >> /var/lib/shorewall/restore + if [ -f /var/lib/shorewall/restore-base ]; then + cp -f /var/lib/shorewall/restore-base /var/lib/shorewall/restore-$$ + if iptables-save >> /var/lib/shorewall/restore-$$ ; then + echo EOF >> /var/lib/shorewall/restore-$$ + mv -f /var/lib/shorewall/restore-$$ /var/lib/shorewall/restore echo " Currently-running Configuration Saved" else - rm -f /var/lib/shorewall/restore + rm -f /var/lib/shorewall/restore-$$ echo " ERROR: Currently-running Configuration Not Saved" fi fi