diff options
author | Phil Davis <phil.davis@inf.org> | 2017-04-16 14:59:53 +0545 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2017-04-20 14:03:23 -0300 |
commit | 9dfd90079148fff51a32666b460e716305a9f258 (patch) | |
tree | 3454ab59e05cfa579cc506522af7816c40c42fe6 | |
parent | 2733475fb774251133d8c80003642661b7c2ad08 (diff) | |
download | pfsense-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.inc | 31 | ||||
-rw-r--r-- | src/usr/local/www/diag_backup.php | 11 | ||||
-rw-r--r-- | src/usr/local/www/firewall_aliases_edit.php | 25 |
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"); |