When renaming or removing aliases, deal with new NAT Port Forwarding fields

This commit is contained in:
Renato Botelho 2010-04-12 10:42:31 -03:00
parent db39842bbb
commit b52d3aa509
2 changed files with 24 additions and 11 deletions

View File

@ -113,21 +113,31 @@ if ($_GET['act'] == "del") {
if($is_alias_referenced == false) {
if(is_array($config['nat']['rule'])) {
foreach($config['nat']['rule'] as $rule) {
if($rule['source']['address'] == $alias_name) {
$is_alias_referenced = true;
$referenced_by = $rule['descr'];
break;
}
if($rule['source']['port'] == $alias_name) {
$is_alias_referenced = true;
$referenced_by = $rule['descr'];
break;
}
if($rule['destination']['address'] == $alias_name) {
$is_alias_referenced = true;
$referenced_by = $rule['descr'];
break;
}
if($rule['destination']['port'] == $alias_name) {
$is_alias_referenced = true;
$referenced_by = $rule['descr'];
break;
}
if($rule['target'] == $alias_name) {
$is_alias_referenced = true;
$referenced_by = $rule['descr'];
break;
}
if($rule['external-address'] == $alias_name) {
$is_alias_referenced = true;
$referenced_by = $rule['descr'];
break;
}
if($rule['external-port'] == $alias_name) {
$is_alias_referenced = true;
$referenced_by = $rule['descr'];
break;
}
if($rule['local-port'] == $alias_name) {
$is_alias_referenced = true;
$referenced_by = $rule['descr'];

View File

@ -268,8 +268,11 @@ if ($_POST) {
update_alias_names_upon_change('filter', 'rule', 'source', 'address', $_POST['name'], $origname);
update_alias_names_upon_change('filter', 'rule', 'destination', 'address', $_POST['name'], $origname);
// NAT Rules
update_alias_names_upon_change('nat', 'rule', 'source', 'address', $_POST['name'], $origname);
update_alias_names_upon_change('nat', 'rule', 'source', 'port', $_POST['name'], $origname);
update_alias_names_upon_change('nat', 'rule', 'destination', 'address', $_POST['name'], $origname);
update_alias_names_upon_change('nat', 'rule', 'destination', 'port', $_POST['name'], $origname);
update_alias_names_upon_change('nat', 'rule', 'target', '', $_POST['name'], $origname);
update_alias_names_upon_change('nat', 'rule', 'external-port', '', $_POST['name'], $origname);
update_alias_names_upon_change('nat', 'rule', 'local-port', '' , $_POST['name'], $origname);
// Alias in an alias
update_alias_names_upon_change('aliases', 'alias', 'address', '' , $_POST['name'], $origname);