diff --git a/Shorewall-perl/Shorewall/Chains.pm b/Shorewall-perl/Shorewall/Chains.pm index e2ded9d3e..e79db8364 100644 --- a/Shorewall-perl/Shorewall/Chains.pm +++ b/Shorewall-perl/Shorewall/Chains.pm @@ -650,11 +650,11 @@ sub do_proto( $$$ ) if ( $count > 1 ) { fatal_error "Port list requires Multiport support in your kernel/iptables: $ports" unless $capabilities{MULTIPORT}; - for my $port ( @ports ) { - if ( $port =~ /:/ ) { - fatal_error "Port range in a list requires Extended Multiport Support in your kernel/iptables: $ports" unless $capabilities{XMULTIPORT}; - $count++; - } + my @ranges = grep /:/, @ports; + + if ( @ranges ) { + fatal_error "Port range in a list requires Extended Multiport Support in your kernel/iptables: $ports" unless $capabilities{XMULTIPORT}; + $count += @ranges; } fatal_error "Too many entries in port list: $ports" if $count > 15; @@ -671,11 +671,11 @@ sub do_proto( $$$ ) if ( $count > 1 ) { fatal_error "Port list requires Multiport support in your kernel/iptables: $sports" unless $capabilities{MULTIPORT}; - for my $port ( @ports ) { - if ( $port =~ /:/ ) { - fatal_error "Port range in a list requires Extended Multiport Support in your kernel/iptables: $sports" unless $capabilities{XMULTIPORT}; - $count++; - } + my @ranges = grep /:/, @ports; + + if ( @ranges ) { + fatal_error "Port range in a list requires Extended Multiport Support in your kernel/iptables: $ports" unless $capabilities{XMULTIPORT}; + $count += @ranges; } fatal_error "Too many entries in port list: $sports" if $count > 15; diff --git a/Shorewall-perl/Shorewall/Config.pm b/Shorewall-perl/Shorewall/Config.pm index 2421b3d7c..ab7f5aa9d 100644 --- a/Shorewall-perl/Shorewall/Config.pm +++ b/Shorewall-perl/Shorewall/Config.pm @@ -31,7 +31,7 @@ use File::Basename; our @ISA = qw(Exporter); our @EXPORT = qw( warning_message - fatal_error + fatal_error find_file split_line open_file