mirror of
https://gitlab.com/shorewall/code.git
synced 2024-11-15 04:04:10 +01:00
Try to handle multiport sport/dport correctly
git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@6172 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
parent
278ab3bc8d
commit
d1d8a11858
@ -784,12 +784,15 @@ sub do_proto( $$$ )
|
||||
$output = "-p $proto ";
|
||||
}
|
||||
|
||||
my $dismultiport = 0;
|
||||
|
||||
if ( $ports ne '' ) {
|
||||
if ( $ports =~ tr/,/,/ > 0 ) {
|
||||
fatal_error "Port list requires Multiport support in your kernel/iptables: $ports" unless $capabilities{MULTIPORT};
|
||||
fatal_error "Too many entries in port list: $ports" if port_count( $ports ) > 15;
|
||||
$ports = validate_port_list $ports;
|
||||
$output .= "-m multiport --dports $ports ";
|
||||
$dismultiport = 0;
|
||||
} else {
|
||||
$ports = validate_portpair $ports;
|
||||
$output .= "--dport $ports ";
|
||||
@ -797,7 +800,7 @@ sub do_proto( $$$ )
|
||||
}
|
||||
|
||||
if ( $sports ne '' ) {
|
||||
if ( $sports =~ tr/,/,/ > 0 ) {
|
||||
if ( $sports =~ tr/,/,/ > 0 || $dismultiport ) {
|
||||
fatal_error "Port list requires Multiport support in your kernel/iptables: $sports" unless $capabilities{MULTIPORT};
|
||||
fatal_error "Too many entries in port list: $sports" if port_count( $sports ) > 15;
|
||||
$sports = validate_port_list $sports;
|
||||
|
Loading…
Reference in New Issue
Block a user