summaryrefslogtreecommitdiffstats
path: root/usr/local
diff options
context:
space:
mode:
authorsullrich <sullrich@pfsense.org>2009-09-21 11:33:14 -0400
committersullrich <sullrich@pfsense.org>2009-09-21 11:33:14 -0400
commitbca2d8ad649027f80aa5fb6e3d4b06b2f9e93f08 (patch)
tree2737fec3bdc87d558414886d844beda89dfecad9 /usr/local
parent09be0c7611a0ba5b594324a943659e467d757a52 (diff)
downloadpfsense-bca2d8ad649027f80aa5fb6e3d4b06b2f9e93f08.zip
pfsense-bca2d8ad649027f80aa5fb6e3d4b06b2f9e93f08.tar.gz
Check for interfaces with same name as alias. Ticket #92
Diffstat (limited to 'usr/local')
-rwxr-xr-xusr/local/www/diag_backup.php18
1 files changed, 18 insertions, 0 deletions
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();
OpenPOWER on IntegriCloud