From 3e3e9beefd4eb8013ad18395604f88e176c8a97a Mon Sep 17 00:00:00 2001 From: Scott Ullrich Date: Wed, 16 Aug 2006 17:12:16 +0000 Subject: [PATCH] Do not delete a NAT item if its being referenced by an ALIAS. --- usr/local/www/firewall_aliases.php | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/usr/local/www/firewall_aliases.php b/usr/local/www/firewall_aliases.php index fbc3ac9fdf..8c51eafa1a 100755 --- a/usr/local/www/firewall_aliases.php +++ b/usr/local/www/firewall_aliases.php @@ -99,6 +99,30 @@ if ($_GET['act'] == "del") { } } } + if($is_alias_referenced == false) { + foreach($config['nat']['rule'] as $rule) { + 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']; + break; + } + } + } if($is_alias_referenced == true) { $savemsg = "Cannot delete rule. Currently in use by {$referenced_by}"; } else {