summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhil Davis <phil.davis@inf.org>2017-04-16 14:59:53 +0545
committerRenato Botelho <renato@netgate.com>2017-04-20 14:03:23 -0300
commit9dfd90079148fff51a32666b460e716305a9f258 (patch)
tree3454ab59e05cfa579cc506522af7816c40c42fe6
parent2733475fb774251133d8c80003642661b7c2ad08 (diff)
downloadpfsense-9dfd90079148fff51a32666b460e716305a9f258.zip
pfsense-9dfd90079148fff51a32666b460e716305a9f258.tar.gz
Refactor update_alias_names_upon_change
(cherry picked from commit 24807bfeaec218948937a1fdc2b4e863319e41a0)
-rw-r--r--src/etc/inc/pfsense-utils.inc31
-rw-r--r--src/usr/local/www/diag_backup.php11
-rw-r--r--src/usr/local/www/firewall_aliases_edit.php25
3 files changed, 33 insertions, 34 deletions
diff --git a/src/etc/inc/pfsense-utils.inc b/src/etc/inc/pfsense-utils.inc
index 0eeb25a..3e71475 100644
--- a/src/etc/inc/pfsense-utils.inc
+++ b/src/etc/inc/pfsense-utils.inc
@@ -2146,6 +2146,37 @@ if (!function_exists("split")) {
}
}
+function update_alias_name($new_alias_name, $orig_alias_name) {
+ if (!$orig_alias_name) {
+ return;
+ }
+
+ // Firewall rules
+ update_alias_names_upon_change(array('filter', 'rule'), array('source', 'address'), $new_alias_name, $orig_alias_name);
+ update_alias_names_upon_change(array('filter', 'rule'), array('destination', 'address'), $new_alias_name, $orig_alias_name);
+ update_alias_names_upon_change(array('filter', 'rule'), array('source', 'port'), $new_alias_name, $orig_alias_name);
+ update_alias_names_upon_change(array('filter', 'rule'), array('destination', 'port'), $new_alias_name, $orig_alias_name);
+ // NAT Rules
+ update_alias_names_upon_change(array('nat', 'rule'), array('source', 'address'), $new_alias_name, $orig_alias_name);
+ update_alias_names_upon_change(array('nat', 'rule'), array('source', 'port'), $new_alias_name, $orig_alias_name);
+ update_alias_names_upon_change(array('nat', 'rule'), array('destination', 'address'), $new_alias_name, $orig_alias_name);
+ update_alias_names_upon_change(array('nat', 'rule'), array('destination', 'port'), $new_alias_name, $orig_alias_name);
+ update_alias_names_upon_change(array('nat', 'rule'), array('target'), $new_alias_name, $orig_alias_name);
+ update_alias_names_upon_change(array('nat', 'rule'), array('local-port'), $new_alias_name, $orig_alias_name);
+ // NAT 1:1 Rules
+ //update_alias_names_upon_change(array('nat', 'onetoone'), array('external'), $new_alias_name, $orig_alias_name);
+ //update_alias_names_upon_change(array('nat', 'onetoone'), array('source', 'address'), $new_alias_name, $orig_alias_name);
+ update_alias_names_upon_change(array('nat', 'onetoone'), array('destination', 'address'), $new_alias_name, $orig_alias_name);
+ // NAT Outbound Rules
+ update_alias_names_upon_change(array('nat', 'outbound', 'rule'), array('source', 'network'), $new_alias_name, $orig_alias_name);
+ update_alias_names_upon_change(array('nat', 'outbound', 'rule'), array('sourceport'), $new_alias_name, $orig_alias_name);
+ update_alias_names_upon_change(array('nat', 'outbound', 'rule'), array('destination', 'address'), $new_alias_name, $orig_alias_name);
+ update_alias_names_upon_change(array('nat', 'outbound', 'rule'), array('dstport'), $new_alias_name, $orig_alias_name);
+ update_alias_names_upon_change(array('nat', 'outbound', 'rule'), array('target'), $new_alias_name, $orig_alias_name);
+ // Alias in an alias
+ update_alias_names_upon_change(array('aliases', 'alias'), array('address'), $new_alias_name, $orig_alias_name);
+}
+
function update_alias_names_upon_change($section, $field, $new_alias_name, $origname) {
global $g, $config, $pconfig, $debug;
if (!$origname) {
diff --git a/src/usr/local/www/diag_backup.php b/src/usr/local/www/diag_backup.php
index 394f79e..17524d7 100644
--- a/src/usr/local/www/diag_backup.php
+++ b/src/usr/local/www/diag_backup.php
@@ -366,17 +366,8 @@ if ($_POST) {
if (is_array($ifdescrs)) {
foreach ($ifdescrs as $iface) {
if (is_alias($config['interfaces'][$iface]['descr'])) {
- // Firewall rules
$origname = $config['interfaces'][$iface]['descr'];
- $newname = $config['interfaces'][$iface]['descr'] . "Alias";
- update_alias_names_upon_change(array('filter', 'rule'), array('source', 'address'), $newname, $origname);
- update_alias_names_upon_change(array('filter', 'rule'), array('destination', 'address'), $newname, $origname);
- // NAT Rules
- update_alias_names_upon_change(array('nat', 'rule'), array('source', 'address'), $newname, $origname);
- update_alias_names_upon_change(array('nat', 'rule'), array('destination', 'address'), $newname, $origname);
- update_alias_names_upon_change(array('nat', 'rule'), array('target'), $newname, $origname);
- // Alias in an alias
- update_alias_names_upon_change(array('aliases', 'alias'), array('address'), $newname, $origname);
+ update_alias_name($origname . "Alias", $origname);
}
}
}
diff --git a/src/usr/local/www/firewall_aliases_edit.php b/src/usr/local/www/firewall_aliases_edit.php
index 64879e5..446c1d0 100644
--- a/src/usr/local/www/firewall_aliases_edit.php
+++ b/src/usr/local/www/firewall_aliases_edit.php
@@ -503,30 +503,7 @@ if ($_POST) {
* renamed on referenced rules and such
*/
if ($_POST['name'] <> $_POST['origname']) {
- // Firewall rules
- update_alias_names_upon_change(array('filter', 'rule'), array('source', 'address'), $_POST['name'], $origname);
- update_alias_names_upon_change(array('filter', 'rule'), array('destination', 'address'), $_POST['name'], $origname);
- update_alias_names_upon_change(array('filter', 'rule'), array('source', 'port'), $_POST['name'], $origname);
- update_alias_names_upon_change(array('filter', 'rule'), array('destination', 'port'), $_POST['name'], $origname);
- // NAT Rules
- update_alias_names_upon_change(array('nat', 'rule'), array('source', 'address'), $_POST['name'], $origname);
- update_alias_names_upon_change(array('nat', 'rule'), array('source', 'port'), $_POST['name'], $origname);
- update_alias_names_upon_change(array('nat', 'rule'), array('destination', 'address'), $_POST['name'], $origname);
- update_alias_names_upon_change(array('nat', 'rule'), array('destination', 'port'), $_POST['name'], $origname);
- update_alias_names_upon_change(array('nat', 'rule'), array('target'), $_POST['name'], $origname);
- update_alias_names_upon_change(array('nat', 'rule'), array('local-port'), $_POST['name'], $origname);
- // NAT 1:1 Rules
- //update_alias_names_upon_change(array('nat', 'onetoone'), array('external'), $_POST['name'], $origname);
- //update_alias_names_upon_change(array('nat', 'onetoone'), array('source', 'address'), $_POST['name'], $origname);
- update_alias_names_upon_change(array('nat', 'onetoone'), array('destination', 'address'), $_POST['name'], $origname);
- // NAT Outbound Rules
- update_alias_names_upon_change(array('nat', 'outbound', 'rule'), array('source', 'network'), $_POST['name'], $origname);
- update_alias_names_upon_change(array('nat', 'outbound', 'rule'), array('sourceport'), $_POST['name'], $origname);
- update_alias_names_upon_change(array('nat', 'outbound', 'rule'), array('destination', 'address'), $_POST['name'], $origname);
- update_alias_names_upon_change(array('nat', 'outbound', 'rule'), array('dstport'), $_POST['name'], $origname);
- update_alias_names_upon_change(array('nat', 'outbound', 'rule'), array('target'), $_POST['name'], $origname);
- // Alias in an alias
- update_alias_names_upon_change(array('aliases', 'alias'), array('address'), $_POST['name'], $origname);
+ update_alias_name($_POST['name'], $origname);
}
pfSense_handle_custom_code("/usr/local/pkg/firewall_aliases_edit/pre_write_config");
OpenPOWER on IntegriCloud