diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2009-09-16 14:38:58 -0400 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2009-09-16 14:38:58 -0400 |
commit | e3ddfc617db768484a29e35d05791f6e535b39d0 (patch) | |
tree | 9477ca29dedae5f1f7f3f7d72a4c35d6ea045712 /etc | |
parent | 4e7d16657607583500f9c05aa5b8b6fdfa859e1c (diff) | |
parent | 2afbe080414578d9cd0fba7efd9c6b38f7750a9f (diff) | |
download | pfsense-e3ddfc617db768484a29e35d05791f6e535b39d0.zip pfsense-e3ddfc617db768484a29e35d05791f6e535b39d0.tar.gz |
Merge branch 'master' of git://rcs.pfsense.org/pfsense/Eugene-igmpproxy into review/master
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/filter.inc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc index c09399a..a472c97 100644 --- a/etc/inc/filter.inc +++ b/etc/inc/filter.inc @@ -1737,6 +1737,27 @@ pass in on \$loopback all label "pass loopback" pass out on \$loopback all label "pass loopback" anchor "firewallout" + +EOD; + + /* find out igmpproxy upstream interface name if igmpproxy installed/configured */ + if (is_array($config['installedpackages']['igmpproxy']['config'])){ + $igmp_upstr_int_real_name = ""; + $igmp_cfg =& $config['installedpackages']['igmpproxy']['config']; + foreach($igmp_cfg as $igmp_int){ + if ($igmp_int['igmptype'] == 'upstream') + $igmp_upstr_int_real_name = $config['interfaces'][$igmp_int['igmpname']]['if']; + } + if ($igmp_upstr_int_real_name != ""){ + $ipfrules .= <<<EOD +# let out IGMP with IP-options +pass out on $igmp_upstr_int_real_name all allow-opts keep state label "let out with IP-options on IGMP Upstream interface" + +EOD; + + } + } + $ipfrules .= <<<EOD # let out anything from the firewall host itself and decrypted IPsec traffic pass out all keep state label "let out anything from firewall host itself" |