diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2005-12-05 17:44:12 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2005-12-05 17:44:12 +0000 |
commit | a18b6b97eb54c8aa42cc15408cd0ccb12c287ea9 (patch) | |
tree | d940febeda450a94a9d4d73ad766826ffcb0c401 /etc/inc/pfsense-utils.inc | |
parent | 4376f919ee3cb406d69db33df26bb18f91045fe9 (diff) | |
download | pfsense-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.inc | 29 |
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 |