diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2006-08-16 17:12:16 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2006-08-16 17:12:16 +0000 |
commit | 3e3e9beefd4eb8013ad18395604f88e176c8a97a (patch) | |
tree | 8792a1f0dea403239dcb287d0a39719233692261 /usr/local/www/firewall_aliases.php | |
parent | 598f3f30850365c79e74bf3811f45e7bae8019df (diff) | |
download | pfsense-3e3e9beefd4eb8013ad18395604f88e176c8a97a.zip pfsense-3e3e9beefd4eb8013ad18395604f88e176c8a97a.tar.gz |
Do not delete a NAT item if its being referenced by an ALIAS.
Diffstat (limited to 'usr/local/www/firewall_aliases.php')
-rwxr-xr-x | usr/local/www/firewall_aliases.php | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/usr/local/www/firewall_aliases.php b/usr/local/www/firewall_aliases.php index fbc3ac9..8c51eaf 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 { |