From e534554162a34ae47d135f3df251caac14502628 Mon Sep 17 00:00:00 2001 From: Alexander Marx Date: Thu, 3 Jan 2013 13:29:35 +0100 Subject: [PATCH] Forward Firewall: Fixed Bug: When deleting a rule, only the last entry in the list is deleted --- html/cgi-bin/forwardfw.cgi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/html/cgi-bin/forwardfw.cgi b/html/cgi-bin/forwardfw.cgi index 1f5ea0044..caaba2168 100755 --- a/html/cgi-bin/forwardfw.cgi +++ b/html/cgi-bin/forwardfw.cgi @@ -512,6 +512,7 @@ sub deleterule my %delhash=(); &General::readhasharray($fwdfwsettings{'config'}, \%delhash); foreach my $key (sort keys %delhash){ + if ($key eq $fwdfwsettings{'key'}){ #check hosts/net and groups &checkcounter($delhash{$key}[3],$delhash{$key}[4],,); @@ -521,11 +522,10 @@ sub deleterule &checkcounter($delhash{$key}[14],$delhash{$key}[15],,); } } - if ($key ge $fwdfwsettings{'key'}) { my $next = $key + 1; if (exists $delhash{$next}) { - foreach my $i (0 .. $#{$configfwdfw{$next}}) { + foreach my $i (0 .. $#{$delhash{$next}}) { $delhash{$key}[$i] = $delhash{$next}[$i]; } } @@ -537,6 +537,7 @@ sub deleterule &General::writehasharray($fwdfwsettings{'config'}, \%delhash); &rules; + if($fwdfwsettings{'nobase'} ne 'on'){ &base; } -- 2.39.2