From: Dietmar Maurer Date: Fri, 14 Feb 2014 11:41:20 +0000 (+0100) Subject: fix iptables-restore - correctly add newline after COMMIT X-Git-Url: https://git.proxmox.com/?p=pve-firewall.git;a=commitdiff_plain;h=64568ce0ba3e01ccea2c7c4d8135c7ee1a7fcfcd fix iptables-restore - correctly add newline after COMMIT Also print $cmdlist on error. Just for debugging. --- diff --git a/PVE/Firewall.pm b/PVE/Firewall.pm index 65e0050..c6d4537 100644 --- a/PVE/Firewall.pm +++ b/PVE/Firewall.pm @@ -150,9 +150,16 @@ sub iptables_restore { unshift (@ruleset, '*filter'); push (@ruleset, 'COMMIT'); - my $cmdlist = join("\n", @ruleset); + my $cmdlist = join("\n", @ruleset) . "\n"; - run_command("/sbin/iptables-restore -n", input => $cmdlist, outfunc => sub {}); + my $verbose = 1; # fixme: how/when do we set this + + #run_command("echo '$cmdlist' | /sbin/iptables-restore -n"); + eval { run_command("/sbin/iptables-restore -n ", input => $cmdlist); }; + if (my $err = $@) { + print STDERR $cmdlist if $verbose; + die $err; + } } sub iptables_addrule {