diff --git a/Shorewall/Perl/Shorewall/Proxyarp.pm b/Shorewall/Perl/Shorewall/Proxyarp.pm index cac1a2e76..4daa53cd2 100644 --- a/Shorewall/Perl/Shorewall/Proxyarp.pm +++ b/Shorewall/Perl/Shorewall/Proxyarp.pm @@ -125,15 +125,15 @@ sub setup_proxy_arp() { $first_entry = 0; } - fatal_error "Unknown interface ($external)" unless known_interface $external; + fatal_error "Unknown interface ($external)" unless known_interface $external, 1; fatal_error "Wildcard interface ($external) not allowed" if $external =~ /\+$/; $reset{$external} = 1 unless $set{$external}; - my $extphy = physical_name $external; + my $extphy = get_physical $external; my $physical = '-'; if ( $interface ne '-' ) { - fatal_error "Unknown interface ($interface)" unless known_interface $interface; + fatal_error "Unknown interface ($interface)" unless known_interface $interface, 1; fatal_error "Wildcard interface ($interface) not allowed" if $interface =~ /\+$/; $physical = physical_name $interface; $set{$interface} = 1; diff --git a/Shorewall/Perl/Shorewall/Zones.pm b/Shorewall/Perl/Shorewall/Zones.pm index 46745d6c7..2fd980bb4 100644 --- a/Shorewall/Perl/Shorewall/Zones.pm +++ b/Shorewall/Perl/Shorewall/Zones.pm @@ -1334,7 +1334,7 @@ sub find_interfaces_by_option1( $ ) { my $wild = 0; for my $interface ( sort { $interfaces{$a}->{number} <=> $interfaces{$b}->{number} } - keys %interfaces ) { + ( grep $interfaces{$_}{root}, keys %interfaces ) ) { my $interfaceref = $interfaces{$interface}; next unless defined $interfaceref->{physical};