From f942937c29ca76a7f153fc16ea13157eb4cf05cc Mon Sep 17 00:00:00 2001 From: Alexander Marx Date: Mon, 24 Feb 2014 14:11:02 +0100 Subject: [PATCH] Firewall: Fix errormessages on rulecreation when red has no IP --- config/firewall/rules.pl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/config/firewall/rules.pl b/config/firewall/rules.pl index d8adb156b..2589ac62b 100755 --- a/config/firewall/rules.pl +++ b/config/firewall/rules.pl @@ -258,6 +258,10 @@ sub buildrules $PROT="-p $PROT" if ($PROT ne '' && $PROT ne ' '); foreach my $a (sort keys %sourcehash){ foreach my $b (sort keys %targethash){ + if(! $sourcehash{$a}[0] || ! $targethash{$b}[0] || ($natip eq '-d ' && $$hash{$key}[28] eq 'ON') || (!$natip && $$hash{$key}[28] eq 'ON')){ + #Skip rules when no RED IP is set (DHCP,DSL) + next; + } next if ($targethash{$b}[0] eq 'none'); $STAG=''; if ($sourcehash{$a}[0] ne $targethash{$b}[0] && $targethash{$b}[0] ne 'none' || $sourcehash{$a}[0] eq '0.0.0.0/0.0.0.0'){ @@ -342,6 +346,10 @@ sub buildrules } foreach my $a (sort keys %sourcehash){ foreach my $b (sort keys %targethash){ + if(! $sourcehash{$a}[0] || ! $targethash{$b}[0] || $natip eq '-d ' || !$natip){ + #Skip rules when no RED IP is set (DHCP,DSL) + next; + } next if ($targethash{$b}[0] eq 'none'); $STAG=''; if ($sourcehash{$a}[0] ne $targethash{$b}[0] && $targethash{$b}[0] ne 'none' || $sourcehash{$a}[0] eq '0.0.0.0/0.0.0.0'){ @@ -557,7 +565,7 @@ sub get_address $$hash{$key}[0]='0.0.0.0/0'; } if($base2 eq 'RED' || $base2 eq 'RED1'){ - open(FILE, "/var/ipfire/red/local-ipaddress")or die "Couldn't open local-ipaddress"; + open(FILE, "/var/ipfire/red/local-ipaddress"); $$hash{$key}[0]= ; close(FILE); }else{ -- 2.39.2