summaryrefslogtreecommitdiffstats
path: root/usr/local/www/firewall_aliases.php
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2006-08-16 17:12:16 +0000
committerScott Ullrich <sullrich@pfsense.org>2006-08-16 17:12:16 +0000
commit3e3e9beefd4eb8013ad18395604f88e176c8a97a (patch)
tree8792a1f0dea403239dcb287d0a39719233692261 /usr/local/www/firewall_aliases.php
parent598f3f30850365c79e74bf3811f45e7bae8019df (diff)
downloadpfsense-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-xusr/local/www/firewall_aliases.php24
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 {
OpenPOWER on IntegriCloud