mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-19 15:32:59 +02:00
Firewall: Bugfix: WHen using servicegroup with only ICMP services, the ruletable was broken. Also fixed another useless if clause in rules.pl
This commit is contained in:
@@ -252,7 +252,7 @@ sub buildrules
|
||||
foreach my $DPROT (@DPROT){
|
||||
$DPORT = &get_port($hash,$key,$DPROT);
|
||||
$PROT=$DPROT;
|
||||
$PROT="-p $PROT" if ($PROT ne '' && $PROT ne ' ');
|
||||
$PROT="-p $PROT" if ($PROT ne '');
|
||||
foreach my $a (sort keys %sourcehash){
|
||||
foreach my $b (sort keys %targethash){
|
||||
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'){
|
||||
@@ -311,7 +311,7 @@ sub buildrules
|
||||
foreach my $DPROT (@DPROT){
|
||||
$DPORT = &get_port($hash,$key,$DPROT);
|
||||
$PROT=$DPROT;
|
||||
$PROT="-p $PROT" if ($PROT ne '' && $PROT ne ' ');
|
||||
$PROT="-p $PROT" if ($PROT ne '');
|
||||
foreach my $a (sort keys %sourcehash){
|
||||
foreach my $b (sort keys %targethash){
|
||||
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'){
|
||||
|
||||
@@ -2254,7 +2254,7 @@ END
|
||||
push (@protocols,$Lang::tr{'all'});
|
||||
}
|
||||
my $protz=join(",",@protocols);
|
||||
if($protz eq 'ICMP' && $$hash{$key}[9] ne 'All ICMP-Types'){
|
||||
if($protz eq 'ICMP' && $$hash{$key}[9] ne 'All ICMP-Types' && $$hash{$key}[14] ne 'cust_srvgrp'){
|
||||
&General::readhasharray("${General::swroot}/fwhosts/icmp-types", \%icmptypes);
|
||||
foreach my $keyicmp (sort { ncmp($icmptypes{$a}[0],$icmptypes{$b}[0]) }keys %icmptypes){
|
||||
if($$hash{$key}[9] eq "$icmptypes{$keyicmp}[0]"){
|
||||
|
||||
Reference in New Issue
Block a user