mirror of
https://github.com/pfsense/pfsense.git
synced 2025-10-26 11:38:35 +00:00
Fixes #862. Check if we have filter rules or nat rules.
This commit is contained in:
parent
e91e23b99f
commit
4d3c8697b1
@ -97,26 +97,30 @@ if ($_POST) {
|
||||
|
||||
if (isset($id) && $a_ifgroups[$id] && $_POST['ifname'] != $a_ifgroups[$id]['ifname']) {
|
||||
|
||||
foreach ($config['filter']['rule'] as $ridx => $rule) {
|
||||
if (isset($rule['floating'])) {
|
||||
$rule_ifs = explode(",", $rule['interface']);
|
||||
$rule_changed = false;
|
||||
foreach ($rule_ifs as $rule_if_id => $rule_if) {
|
||||
if ($rule_if == $a_ifgroups[$id]['ifname']) {
|
||||
$rule_ifs[$rule_if_id] = $_POST['ifname'];
|
||||
$rule_changed = true;
|
||||
if (!empty($config['filter']) && is_array($config['filter']['rule'])) {
|
||||
foreach ($config['filter']['rule'] as $ridx => $rule) {
|
||||
if (isset($rule['floating'])) {
|
||||
$rule_ifs = explode(",", $rule['interface']);
|
||||
$rule_changed = false;
|
||||
foreach ($rule_ifs as $rule_if_id => $rule_if) {
|
||||
if ($rule_if == $a_ifgroups[$id]['ifname']) {
|
||||
$rule_ifs[$rule_if_id] = $_POST['ifname'];
|
||||
$rule_changed = true;
|
||||
}
|
||||
}
|
||||
if ($rule_changed)
|
||||
$config['filter']['rule'][$ridx]['interface'] = implode(",", $rule_ifs);
|
||||
} else {
|
||||
if ($rule['interface'] == $a_ifgroups[$id]['ifname'])
|
||||
$config['filter']['rule'][$ridx]['interface'] = $_POST['ifname'];
|
||||
}
|
||||
if ($rule_changed)
|
||||
$config['filter']['rule'][$ridx]['interface'] = implode(",", $rule_ifs);
|
||||
} else {
|
||||
if ($rule['interface'] == $a_ifgroups[$id]['ifname'])
|
||||
$config['filter']['rule'][$ridx]['interface'] = $_POST['ifname'];
|
||||
}
|
||||
}
|
||||
foreach ($config['nat']['rule'] as $ridx => $rule) {
|
||||
if ($rule['interface'] == $a_ifgroups[$id]['ifname'])
|
||||
$config['nat']['rule'][$ridx]['interface'] = $_POST['ifname'];
|
||||
if (!empty($config['nat']) && is_array($config['nat']['rule'])) {
|
||||
foreach ($config['nat']['rule'] as $ridx => $rule) {
|
||||
if ($rule['interface'] == $a_ifgroups[$id]['ifname'])
|
||||
$config['nat']['rule'][$ridx]['interface'] = $_POST['ifname'];
|
||||
}
|
||||
}
|
||||
$omembers = explode(" ", $a_ifgroups[$id]['members']);
|
||||
if (count($omembers) > 0) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user