summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2006-05-27 16:34:39 +0000
committerScott Ullrich <sullrich@pfsense.org>2006-05-27 16:34:39 +0000
commit0bb1ad724ba2a82310e95ae38a373bcb25f3a22b (patch)
tree25b7470df2eef59796840847818794c138c8872b /etc
parentb5317d079402fb270bd18bec65ad62c52c8e339f (diff)
downloadpfsense-0bb1ad724ba2a82310e95ae38a373bcb25f3a22b.zip
pfsense-0bb1ad724ba2a82310e95ae38a373bcb25f3a22b.tar.gz
MFM0N0WALL
do not generate anti-spoof rules for optional interfaces that have other interfaces bridged to them (as opposed to being bridged to another interface, which was already handled properly) when the filtering bridge is on.
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/filter.inc14
1 files changed, 11 insertions, 3 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc
index 8755e84..0fb53ce 100644
--- a/etc/inc/filter.inc
+++ b/etc/inc/filter.inc
@@ -1943,10 +1943,18 @@ EOD;
$ipfrules .= filter_rules_spoofcheck_generate('lan', $lanif, $lansa, $lansn, $log);
/* OPT spoof check */
- foreach ($optcfg as $on => $oc)
- if ($oc['ip'] && (!$oc['bridge'] || !isset($config['bridge']['filteringbridge'])))
+ foreach ($optcfg as $on => $oc) {
+ $isbridged = false;
+ foreach ($optcfg as $on2 => $oc2) {
+ if ($oc2['bridge'] && $oc2['bridge_if'] == $on) {
+ $isbridged = true;
+ break;
+ }
+ }
+ if ($oc['ip'] && !(($oc['bridge'] || $isbridged) && isset($config['bridge']['filteringbridge'])))
$ipfrules .= filter_rules_spoofcheck_generate($on, $oc['if'], $oc['sa'], $oc['sn'], $log);
-
+ }
+
/* block private networks on WAN? */
if (isset($config['interfaces']['wan']['blockpriv'])) {
$ipfrules .= <<<EOD
OpenPOWER on IntegriCloud