summaryrefslogtreecommitdiffstats
path: root/etc/inc/pfsense-utils.inc
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2005-12-05 17:44:12 +0000
committerScott Ullrich <sullrich@pfsense.org>2005-12-05 17:44:12 +0000
commita18b6b97eb54c8aa42cc15408cd0ccb12c287ea9 (patch)
treed940febeda450a94a9d4d73ad766826ffcb0c401 /etc/inc/pfsense-utils.inc
parent4376f919ee3cb406d69db33df26bb18f91045fe9 (diff)
downloadpfsense-a18b6b97eb54c8aa42cc15408cd0ccb12c287ea9.zip
pfsense-a18b6b97eb54c8aa42cc15408cd0ccb12c287ea9.tar.gz
Do not allow an alias name to be edited if the item is in use.
Ticket #720
Diffstat (limited to 'etc/inc/pfsense-utils.inc')
-rw-r--r--etc/inc/pfsense-utils.inc29
1 files changed, 29 insertions, 0 deletions
diff --git a/etc/inc/pfsense-utils.inc b/etc/inc/pfsense-utils.inc
index b61b39e..43f8bd6 100644
--- a/etc/inc/pfsense-utils.inc
+++ b/etc/inc/pfsense-utils.inc
@@ -145,6 +145,35 @@ function enable_hardware_offloading($interface) {
return;
}
+/****f* pfsense-utils/is_alias_inuse
+ * NAME
+ * checks to see if an alias is currently in use by a rule
+ * INPUTS
+ *
+ * RESULT
+ * true or false
+ * NOTES
+ *
+ ******/
+function is_alias_inuse($alias) {
+ global $g, $config;
+ /* loop through firewall rules looking for alias in use */
+ foreach($config['filter']['rule'] as $rule) {
+ if($rule['source']['address'] == $alias)
+ return true;
+ if($rule['destination']['address'] == $alias)
+ return true;
+ }
+ /* loop through nat rules looking for alias in use */
+ foreach($config['nat']['rule'] as $rule) {
+ if($rule['source']['address'] == $alias)
+ return true;
+ if($rule['destination']['address'] == $alias)
+ return true;
+ }
+ return false;
+}
+
/****f* pfsense-utils/setup_polling_defaults
* NAME
* sets up sysctls for pollingS
OpenPOWER on IntegriCloud