Use mac_match() for all MAC matches

git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@8469 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
teastep 2008-04-20 22:38:22 +00:00
parent 41633b4fac
commit 9adb6d57f5

View File

@ -1427,10 +1427,7 @@ sub match_source_net( $;$ ) {
validate_range $addr1, $addr2;
iprange_match . "${invert}--src-range $net ";
} elsif ( $net =~ /^(!?)~(.*)$/ ) {
( $net = $2 ) =~ tr/-/:/;
my $invert = $1 ? '! ' : '';
fatal_error "MAC address cannot be used in this context" if $restriction >= OUTPUT_RESTRICT;
"-m mac --mac-source ${invert}$net ";
mac_match $net;
} elsif ( $net =~ /^(!?)\+/ ) {
require_capability( 'IPSET_MATCH' , 'ipset names in Shorewall configuration files' , '' );
join( '', '-m set ', $1 ? '! ' : '', get_set_flags( $net, 'src' ) );