X-Git-Url: http://git.ipfire.org/?p=people%2Fteissler%2Fipfire-2.x.git;a=blobdiff_plain;f=config%2Ffirewall%2Frules.pl;h=a0bc32c9665da8e34d5af3c37ef82b50c3d02ca8;hp=f25983ce5400460ac6b107e1185c04b935e6d7a3;hb=025741919a54ceb2ce96961e74f3afd1ad10706b;hpb=c5fb845c4eb6fdc4ef7d1e10495566a7689bf451 diff --git a/config/firewall/rules.pl b/config/firewall/rules.pl index f25983ce5..a0bc32c96 100755 --- a/config/firewall/rules.pl +++ b/config/firewall/rules.pl @@ -254,17 +254,22 @@ sub buildrules { # Check if this protocol knows ports. my $protocol_has_ports = ($protocol ~~ @PROTOCOLS_WITH_PORTS); - foreach my $source (@sources) { - foreach my $destination (@destinations) { - # Skip invalid rules. - next if (!$source || !$destination || ($destination eq "none")); + foreach my $src (@sources) { + # Skip invalid source. + next unless ($src); + + # Sanitize source. + my $source = $src; + if ($source ~~ @ANY_ADDRESSES) { + $source = ""; + } - # Sanitize source. - if ($source ~~ @ANY_ADDRESSES) { - $source = ""; - } + foreach my $dst (@destinations) { + # Skip invalid rules. + next if (!$dst || ($dst eq "none")); # Sanitize destination. + my $destination = $dst; if ($destination ~~ @ANY_ADDRESSES) { $destination = ""; }