From bca2d8ad649027f80aa5fb6e3d4b06b2f9e93f08 Mon Sep 17 00:00:00 2001 From: sullrich Date: Mon, 21 Sep 2009 11:33:14 -0400 Subject: Check for interfaces with same name as alias. Ticket #92 --- usr/local/www/diag_backup.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'usr') diff --git a/usr/local/www/diag_backup.php b/usr/local/www/diag_backup.php index 4d63e55..88fdeea 100755 --- a/usr/local/www/diag_backup.php +++ b/usr/local/www/diag_backup.php @@ -204,6 +204,24 @@ if ($_POST) { if(is_array($ifdescrs)) foreach($ifdescrs as $iface) $config['interfaces'][$iface]['descr'] = remove_bad_chars($config['interfaces'][$iface]['descr']); + /* check for interface names with an alias */ + if(is_array($ifdescrs)) { + foreach($ifdescrs as $iface) { + if(is_alias($config['interfaces'][$iface]['descr'])) { + // Firewall rules + $origname = $config['interfaces'][$iface]['descr']; + $newname = $config['interfaces'][$iface]['descr'] . "Alias"; + update_alias_names_upon_change('filter', 'rule', 'source', 'address', $newname); + update_alias_names_upon_change('filter', 'rule', 'destination', 'address', $newname); + // NAT Rules + update_alias_names_upon_change('nat', 'rule', 'target', '', $newname); + update_alias_names_upon_change('nat', 'rule', 'external-port', '', $newname); + update_alias_names_upon_change('nat', 'rule', 'local-port', '', $newname); + // Alias in an alias + update_alias_names_upon_change('aliases', 'alias', 'address', '', $newname); + } + } + } unlink_if_exists("/tmp/config.cache"); write_config(); add_base_packages_menu_items(); -- cgit v1.1