Exercise care when merging rules including -m multiport

Signed-off-by: Tom Eastep <teastep@shorewall.net>
This commit is contained in:
Tom Eastep 2016-12-18 18:39:19 -08:00
parent e3951cb5a3
commit c2c2dc0b22
No known key found for this signature in database
GPG Key ID: 96E6B3F2423A4D10

View File

@ -1195,9 +1195,13 @@ sub compatible( $$ ) {
}
}
#
# Don't combine chains where each specifies '-m policy'
# Don't combine chains where each specifies
# '-m policy'
# ( --dport or --sport or -m multiport )
#
return ! ( $ref1->{policy} && $ref2->{policy} );
return ! ( $ref1->{policy} && $ref2->{policy} ||
( ( $ref1->{multiport} && ( $ref2->{dport} || $ref2->{sport} || $ref2->{multiport} ) ) ||
( $ref2->{multiport} && ( $ref1->{dport} || $ref1->{sport} || $ref1->{multiport} ) ) ) );
}
#