From 55ad7f0d5839e465ade12c7c399cee9310c883f1 Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Wed, 13 Aug 2008 10:35:47 +0000 Subject: handle correctly LAST LINE comments when writing in /etc/shorewall/stop --- lib/network/shorewall.pm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'lib/network') diff --git a/lib/network/shorewall.pm b/lib/network/shorewall.pm index a93af5d..7989583 100644 --- a/lib/network/shorewall.pm +++ b/lib/network/shorewall.pm @@ -38,9 +38,13 @@ sub get_config_file { sub set_in_file { my ($file, $enabled, @list) = @_; + my $done; substInFile { foreach my $l (@list) { s|^$l\n|| } - $_ .= join("\n", @list) . "\n" if eof && $enabled; + if (!$done && $enabled && (/^#LAST LINE/ || eof)) { + $_ = join('', map { "$_\n" } @list) . $_; + $done = 1; + } } "$::prefix/etc/shorewall/$file"; } -- cgit v1.2.1