Commit 2af63a13 authored by Ad Schellevis's avatar Ad Schellevis

whitespace

parent acbedcf1
...@@ -32,46 +32,46 @@ require_once("guiconfig.inc"); ...@@ -32,46 +32,46 @@ require_once("guiconfig.inc");
require_once("filter.inc"); require_once("filter.inc");
function find_alias_reference($section, $field, $origname, &$is_alias_referenced, &$referenced_by) { function find_alias_reference($section, $field, $origname, &$is_alias_referenced, &$referenced_by) {
global $config; global $config;
if(!$origname || $is_alias_referenced) if(!$origname || $is_alias_referenced)
return; return;
$sectionref = &$config; $sectionref = &$config;
foreach($section as $sectionname) { foreach($section as $sectionname) {
if(is_array($sectionref) && isset($sectionref[$sectionname])) if(is_array($sectionref) && isset($sectionref[$sectionname]))
$sectionref = &$sectionref[$sectionname]; $sectionref = &$sectionref[$sectionname];
else else
return; return;
} }
if(is_array($sectionref)) { if(is_array($sectionref)) {
foreach($sectionref as $itemkey => $item) { foreach($sectionref as $itemkey => $item) {
$fieldfound = true; $fieldfound = true;
$fieldref = &$sectionref[$itemkey]; $fieldref = &$sectionref[$itemkey];
foreach($field as $fieldname) { foreach($field as $fieldname) {
if(is_array($fieldref) && isset($fieldref[$fieldname])) if(is_array($fieldref) && isset($fieldref[$fieldname]))
$fieldref = &$fieldref[$fieldname]; $fieldref = &$fieldref[$fieldname];
else { else {
$fieldfound = false; $fieldfound = false;
break; break;
}
}
if($fieldfound && $fieldref == $origname) {
$is_alias_referenced = true;
if(is_array($item))
$referenced_by = $item['descr'];
break;
} }
}
if($fieldfound && $fieldref == $origname) {
$is_alias_referenced = true;
if(is_array($item))
$referenced_by = $item['descr'];
break;
} }
} }
}
} }
if (!isset($config['aliases'])) { if (!isset($config['aliases'])) {
$config['aliases'] = array(); $config['aliases'] = array();
} }
if (!isset($config['aliases']['alias'])) { if (!isset($config['aliases']['alias'])) {
$config['aliases']['alias'] = array(); $config['aliases']['alias'] = array();
} }
$a_aliases = &$config['aliases']['alias']; $a_aliases = &$config['aliases']['alias'];
...@@ -79,60 +79,60 @@ $a_aliases = &$config['aliases']['alias']; ...@@ -79,60 +79,60 @@ $a_aliases = &$config['aliases']['alias'];
$selected_tab = htmlspecialchars(($_REQUEST['tab'] == "" ? "ip" : preg_replace("/\W/","",$_REQUEST['tab']))); $selected_tab = htmlspecialchars(($_REQUEST['tab'] == "" ? "ip" : preg_replace("/\W/","",$_REQUEST['tab'])));
if ($_SERVER['REQUEST_METHOD'] === 'POST') { if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['apply'])) { if (isset($_POST['apply'])) {
/* reload all components that use aliases */ /* reload all components that use aliases */
filter_configure();
$savemsg = get_std_save_message();
clear_subsystem_dirty('aliases');
} elseif (isset($_POST['act']) && $_POST['act'] == "del") {
if (isset($_POST['id']) && isset($a_aliases[$_POST['id']])) {
// perform validation
/* make sure rule is not being referenced by any nat or filter rules */
$is_alias_referenced = false;
$referenced_by = false;
$alias_name = $a_aliases[$_POST['id']]['name'];
// Firewall rules
find_alias_reference(array('filter', 'rule'), array('source', 'address'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('filter', 'rule'), array('destination', 'address'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('filter', 'rule'), array('source', 'port'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('filter', 'rule'), array('destination', 'port'), $alias_name, $is_alias_referenced, $referenced_by);
// NAT Rules
find_alias_reference(array('nat', 'rule'), array('source', 'address'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'rule'), array('source', 'port'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'rule'), array('destination', 'address'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'rule'), array('destination', 'port'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'rule'), array('target'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'rule'), array('local-port'), $alias_name, $is_alias_referenced, $referenced_by);
// NAT 1:1 Rules
//find_alias_reference(array('nat', 'onetoone'), array('external'), $alias_name, $is_alias_referenced, $referenced_by);
//find_alias_reference(array('nat', 'onetoone'), array('source', 'address'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'onetoone'), array('destination', 'address'), $alias_name, $is_alias_referenced, $referenced_by);
// NAT Outbound Rules
find_alias_reference(array('nat', 'advancedoutbound', 'rule'), array('source', 'network'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'advancedoutbound', 'rule'), array('sourceport'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'advancedoutbound', 'rule'), array('destination', 'address'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'advancedoutbound', 'rule'), array('dstport'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'advancedoutbound', 'rule'), array('target'), $alias_name, $is_alias_referenced, $referenced_by);
// Alias in an alias
find_alias_reference(array('aliases', 'alias'), array('address'), $alias_name, $is_alias_referenced, $referenced_by);
// Load Balancer
find_alias_reference(array('load_balancer', 'lbpool'), array('port'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('load_balancer', 'virtual_server'), array('port'), $alias_name, $is_alias_referenced, $referenced_by);
// Static routes
find_alias_reference(array('staticroutes', 'route'), array('network'), $alias_name, $is_alias_referenced, $referenced_by);
if($is_alias_referenced) {
$savemsg = sprintf(gettext("Cannot delete alias. Currently in use by %s"), $referenced_by);
} else {
unset($a_aliases[$_POST['id']]);
if (write_config()) {
filter_configure(); filter_configure();
mark_subsystem_dirty('aliases'); $savemsg = get_std_save_message();
} clear_subsystem_dirty('aliases');
header("Location: firewall_aliases.php?tab=" . $selected_tab); } elseif (isset($_POST['act']) && $_POST['act'] == "del") {
exit; if (isset($_POST['id']) && isset($a_aliases[$_POST['id']])) {
// perform validation
/* make sure rule is not being referenced by any nat or filter rules */
$is_alias_referenced = false;
$referenced_by = false;
$alias_name = $a_aliases[$_POST['id']]['name'];
// Firewall rules
find_alias_reference(array('filter', 'rule'), array('source', 'address'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('filter', 'rule'), array('destination', 'address'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('filter', 'rule'), array('source', 'port'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('filter', 'rule'), array('destination', 'port'), $alias_name, $is_alias_referenced, $referenced_by);
// NAT Rules
find_alias_reference(array('nat', 'rule'), array('source', 'address'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'rule'), array('source', 'port'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'rule'), array('destination', 'address'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'rule'), array('destination', 'port'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'rule'), array('target'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'rule'), array('local-port'), $alias_name, $is_alias_referenced, $referenced_by);
// NAT 1:1 Rules
//find_alias_reference(array('nat', 'onetoone'), array('external'), $alias_name, $is_alias_referenced, $referenced_by);
//find_alias_reference(array('nat', 'onetoone'), array('source', 'address'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'onetoone'), array('destination', 'address'), $alias_name, $is_alias_referenced, $referenced_by);
// NAT Outbound Rules
find_alias_reference(array('nat', 'advancedoutbound', 'rule'), array('source', 'network'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'advancedoutbound', 'rule'), array('sourceport'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'advancedoutbound', 'rule'), array('destination', 'address'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'advancedoutbound', 'rule'), array('dstport'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('nat', 'advancedoutbound', 'rule'), array('target'), $alias_name, $is_alias_referenced, $referenced_by);
// Alias in an alias
find_alias_reference(array('aliases', 'alias'), array('address'), $alias_name, $is_alias_referenced, $referenced_by);
// Load Balancer
find_alias_reference(array('load_balancer', 'lbpool'), array('port'), $alias_name, $is_alias_referenced, $referenced_by);
find_alias_reference(array('load_balancer', 'virtual_server'), array('port'), $alias_name, $is_alias_referenced, $referenced_by);
// Static routes
find_alias_reference(array('staticroutes', 'route'), array('network'), $alias_name, $is_alias_referenced, $referenced_by);
if($is_alias_referenced) {
$savemsg = sprintf(gettext("Cannot delete alias. Currently in use by %s"), $referenced_by);
} else {
unset($a_aliases[$_POST['id']]);
if (write_config()) {
filter_configure();
mark_subsystem_dirty('aliases');
}
header("Location: firewall_aliases.php?tab=" . $selected_tab);
exit;
}
}
} }
}
}
} }
...@@ -157,16 +157,16 @@ $( document ).ready(function() { ...@@ -157,16 +157,16 @@ $( document ).ready(function() {
title: "<?= gettext("Aliasses");?>", title: "<?= gettext("Aliasses");?>",
message: "<?=gettext("Do you really want to delete this alias? All elements that still use it will become invalid (e.g. filter rules)!");?>", message: "<?=gettext("Do you really want to delete this alias? All elements that still use it will become invalid (e.g. filter rules)!");?>",
buttons: [{ buttons: [{
label: "<?= gettext("No");?>", label: "<?= gettext("No");?>",
action: function(dialogRef) { action: function(dialogRef) {
dialogRef.close(); dialogRef.close();
}}, { }}, {
label: "<?= gettext("Yes");?>", label: "<?= gettext("Yes");?>",
action: function(dialogRef) { action: function(dialogRef) {
$("#delId").val(id); $("#delId").val(id);
$("#iform").submit() $("#iform").submit()
} }
}] }]
}); });
}); });
}); });
...@@ -189,12 +189,12 @@ $( document ).ready(function() { ...@@ -189,12 +189,12 @@ $( document ).ready(function() {
display_top_tabs($tab_array); display_top_tabs($tab_array);
?> ?>
<div class="tab-content content-box col-xs-12"> <div class="tab-content content-box col-xs-12">
<form action="firewall_aliases.php" method="post" name="iform" id="iform"> <form action="firewall_aliases.php" method="post" name="iform" id="iform">
<input type="hidden" name="tab" value="<?=$selected_tab;?>" /> <input type="hidden" name="tab" value="<?=$selected_tab;?>" />
<input type="hidden" name="id" value="" id="delId"/> <input type="hidden" name="id" value="" id="delId"/>
<input type="hidden" name="act" value="del"/> <input type="hidden" name="act" value="del"/>
<div class="table-responsive"> <div class="table-responsive">
<table class="table table-striped"> <table class="table table-striped">
<tr> <tr>
<td><?=gettext("Name"); ?></td> <td><?=gettext("Name"); ?></td>
<td><?=gettext("Values"); ?></td> <td><?=gettext("Values"); ?></td>
...@@ -246,33 +246,33 @@ $( document ).ready(function() { ...@@ -246,33 +246,33 @@ $( document ).ready(function() {
} }
} }
?> ?>
<td ondblclick="document.location='firewall_aliases_edit.php?id=<?=$i;?>';"> <td ondblclick="document.location='firewall_aliases_edit.php?id=<?=$i;?>';">
<?= htmlspecialchars($alias_values); ?> <?= htmlspecialchars($alias_values); ?>
</td> </td>
<td ondblclick="document.location='firewall_aliases_edit.php?id=<?=$i;?>';"> <td ondblclick="document.location='firewall_aliases_edit.php?id=<?=$i;?>';">
<?=htmlspecialchars($alias['descr']);?> <?=htmlspecialchars($alias['descr']);?>
</td> </td>
<td> <td>
<a href="firewall_aliases_edit.php?id=<?=$i;?>" title="<?=gettext("Edit alias"); ?>" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-pencil"></span></a> <a href="firewall_aliases_edit.php?id=<?=$i;?>" title="<?=gettext("Edit alias"); ?>" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-pencil"></span></a>
<a id="del_<?=$i;?>" title="<?=gettext("delete alias"); ?>" class="act_delete btn btn-default btn-xs"><span class="glyphicon glyphicon-remove"></span></a> <a id="del_<?=$i;?>" title="<?=gettext("delete alias"); ?>" class="act_delete btn btn-default btn-xs"><span class="glyphicon glyphicon-remove"></span></a>
</td> </td>
</tr> </tr>
<?php <?php
} // if ($show_alias) } // if ($show_alias)
} // foreach } // foreach
?> ?>
</table> </table>
<div class="container-fluid"> <div class="container-fluid">
<span class="text-danger"> <span class="text-danger">
<strong><?=gettext("Note:"); ?><br /> <strong><?=gettext("Note:"); ?><br />
</strong></span> </strong></span>
</span> </span>
<?=gettext("Aliases act as placeholders for real hosts, networks or ports. They can be used to minimize the number of changes that have to be made if a host, network or port changes. You can enter the name of an alias instead of the host, network or port in all fields that have a red background. The alias will be resolved according to the list above. If an alias cannot be resolved (e.g. because you deleted it), the corresponding element (e.g. filter/NAT/shaper rule) will be considered invalid and skipped."); ?> <?=gettext("Aliases act as placeholders for real hosts, networks or ports. They can be used to minimize the number of changes that have to be made if a host, network or port changes. You can enter the name of an alias instead of the host, network or port in all fields that have a red background. The alias will be resolved according to the list above. If an alias cannot be resolved (e.g. because you deleted it), the corresponding element (e.g. filter/NAT/shaper rule) will be considered invalid and skipped."); ?>
</div> </div>
</form> </form>
</div> </div>
</section> </section>
</div> </div>
</div> </div>
</section> </section>
<?php include("foot.inc"); ?> <?php include("foot.inc"); ?>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment