summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2009-09-16 14:38:58 -0400
committerScott Ullrich <sullrich@pfsense.org>2009-09-16 14:38:58 -0400
commite3ddfc617db768484a29e35d05791f6e535b39d0 (patch)
tree9477ca29dedae5f1f7f3f7d72a4c35d6ea045712 /etc
parent4e7d16657607583500f9c05aa5b8b6fdfa859e1c (diff)
parent2afbe080414578d9cd0fba7efd9c6b38f7750a9f (diff)
downloadpfsense-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.inc21
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"
OpenPOWER on IntegriCloud