Commit 72cf2e19 authored by Franco Fichtner's avatar Franco Fichtner

filter: convert nat reflection (kung) foo

parent 10a148ff
...@@ -1042,26 +1042,27 @@ function filter_generate_optcfg_array() ...@@ -1042,26 +1042,27 @@ function filter_generate_optcfg_array()
} }
function filter_get_reflection_interfaces($natif = "") { function filter_get_reflection_interfaces(&$FilterIflist, $natif = '')
$FilterIflist = filter_generate_optcfg_array() ; {
$nat_if_list = array(); $nat_if_list = array();
foreach ($FilterIflist as $ifent => $ifname) { foreach ($FilterIflist as $ifent => $ifname) {
if($ifname['if'] == $natif) if ($ifname['if'] == $natif) {
continue; continue;
}
/* Do not add reflection redirects for interfaces with gateways */ /* Do not add reflection redirects for interfaces with gateways */
if(interface_has_gateway($ifent)) if (interface_has_gateway($ifent)) {
continue; continue;
}
$nat_if_list[] = $ifname['if']; $nat_if_list[] = $ifname['if'];
} }
return $nat_if_list; return $nat_if_list;
} }
function filter_generate_reflection_nat($rule, &$route_table, $nat_ifs, $protocol, $target, $target_ip, $target_subnet = "") { function filter_generate_reflection_nat($rule, &$route_table, $nat_ifs, $protocol, $target, $target_ip, $target_subnet = "") {
global $config; global $config;
$FilterIflist = filter_generate_optcfg_array() ; $FilterIflist = filter_generate_optcfg_array() ;
...@@ -1687,7 +1688,7 @@ function filter_nat_rules_generate(&$FilterIflist) ...@@ -1687,7 +1688,7 @@ function filter_nat_rules_generate(&$FilterIflist)
*/ */
if ((isset($config['system']['enablebinatreflection']) || $rule['natreflection'] == "enable") if ((isset($config['system']['enablebinatreflection']) || $rule['natreflection'] == "enable")
&& $rule['natreflection'] != "disable") { && $rule['natreflection'] != "disable") {
$nat_if_list = filter_get_reflection_interfaces($natif); $nat_if_list = filter_get_reflection_interfaces($FilterIflist, $natif);
} else { } else {
$nat_if_list = array(); $nat_if_list = array();
} }
...@@ -2042,7 +2043,7 @@ function filter_nat_rules_generate(&$FilterIflist) ...@@ -2042,7 +2043,7 @@ function filter_nat_rules_generate(&$FilterIflist)
} }
if($reflection_type != "none") { if($reflection_type != "none") {
$nat_if_list = filter_get_reflection_interfaces($natif); $nat_if_list = filter_get_reflection_interfaces($FilterIflist, $natif);
} else { } else {
$nat_if_list = array(); $nat_if_list = array();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment