summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/inc/pfsense-utils.inc70
-rwxr-xr-xusr/local/www/firewall_nat.php36
-rwxr-xr-xusr/local/www/firewall_rules.php80
3 files changed, 114 insertions, 72 deletions
diff --git a/etc/inc/pfsense-utils.inc b/etc/inc/pfsense-utils.inc
index 2b47d8c..0eb3463 100644
--- a/etc/inc/pfsense-utils.inc
+++ b/etc/inc/pfsense-utils.inc
@@ -4095,5 +4095,75 @@ function safe_write_file($file, $content, $force_binary) {
return true;
}
+function rule_popup($src,$srcport,$dst,$dstport){
+global $config;
+$aliases_array = array();
+if($config['aliases']['alias'] <> "" and is_array($config['aliases']['alias']))
+{
+$span_begin = "";
+ $alias_src_span_begin = "";
+ $alias_src_span_end = "";
+ $alias_src_port_span_begin = "";
+ $alias_src_port_span_end = "";
+ $alias_dst_span_begin = "";
+ $alias_dst_span_end = "";
+ $alias_dst_port_span_begin = "";
+ $alias_dst_port_span_end = "";
+ $alias_content_text = "";
+ foreach($config['aliases']['alias'] as $alias_name)
+ {
+ $alias_addresses = explode (" ", $alias_name['address']);
+ $alias_details = explode ("||", $alias_name['detail']);
+ $alias_objects_with_details = "";
+ $counter = 0;
+ foreach($alias_addresses as $alias_ports_address)
+ {
+ $alias_objects_with_details .= $alias_addresses[$counter];
+ $alias_detail_default = strpos ($alias_details[$counter],"Entry added");
+ if ($alias_details[$counter] != "" && $alias_detail_default === False){
+ $alias_objects_with_details .=" - " . $alias_details[$counter];
+ }
+ $alias_objects_with_details .= "<br>";
+ $counter++;
+ }
+ //max character length for caption field
+ $maxlength = 60;
+
+ $alias_descr_substr = $alias_name['descr'];
+ $alias_content_text = htmlspecialchars($alias_objects_with_details);
+ $alias_caption = htmlspecialchars($alias_descr_substr . ":");
+ $strlength = strlen ($alias_caption);
+ if ($strlength >= $maxlength)
+ $alias_caption = substr($alias_caption, 0, $maxlength) . "...";
+
+ $span_begin = "<span style=\"cursor: help;\" onmouseover=\"domTT_activate(this, event, 'content', '<h1>$alias_caption</h1><p>$alias_content_text</p>', 'trail', true, 'delay', 0, 'fade', 'both', 'fadeMax', 93, 'styleClass', 'niceTitle');\" onmouseout=\"this.style.color = ''; domTT_mouseout(this, event);\"><U>";
+
+
+ if ($alias_name['name'] == $src)
+ {
+ $alias_src_span_begin = $span_begin;
+ }
+ if ($alias_name['name'] == $srcport)
+ {
+ $alias_src_port_span_begin = $span_begin;
+ }
+ if ($alias_name['name'] == $dst)
+ {
+ $alias_dst_span_begin = $span_begin;
+ }
+ if ($alias_name['name'] == $dstport)
+ {
+ $alias_dst_port_span_begin = $span_begin;
+ }
+
+ }
+ $descriptions = array ();
+ $descriptions['src'] = $alias_src_span_begin;
+ $descriptions['srcport'] = $alias_src_port_span_begin;
+ $descriptions['dst'] = $alias_dst_span_begin;
+ $descriptions['dstport'] = $alias_dst_port_span_begin;
+ return $descriptions;
+ }
+}
?>
diff --git a/usr/local/www/firewall_nat.php b/usr/local/www/firewall_nat.php
index 6991283..6f5f671 100755
--- a/usr/local/www/firewall_nat.php
+++ b/usr/local/www/firewall_nat.php
@@ -135,6 +135,11 @@ if (isset($_POST['del_x'])) {
$pgtitle = array("Firewall","NAT","Port Forward");
include("head.inc");
+echo "<script type=\"text/javascript\" language=\"javascript\" src=\"/javascript/domTT/domLib.js\"></script>";
+echo "<script type=\"text/javascript\" language=\"javascript\" src=\"/javascript/domTT/domTT.js\"></script>";
+echo "<script type=\"text/javascript\" language=\"javascript\" src=\"/javascript/domTT/behaviour.js\"></script>";
+echo "<script type=\"text/javascript\" language=\"javascript\" src=\"/javascript/domTT/fadomatic.js\"></script>";
+
?>
<body link="#000000" vlink="#000000" alink="#000000">
<?php include("fbegin.inc"); ?>
@@ -183,6 +188,29 @@ include("head.inc");
</tr>
<?php $nnats = $i = 0; foreach ($a_nat as $natent): ?>
<?php
+
+ //build Alias popup box
+ $span_begin = "";
+ $span_end = "";
+ $alias_src_port_span_begin = "";
+ $alias_dst_span_begin = "";
+ $alias_dst_port_span_begin = "";
+
+ list($beginport, $endport) = split("-", $natent['external-port']);
+
+ $alias_popup = rule_popup("",$beginport,$natent['target'],$natent['local-port']);
+ $span_end = "</U></span>";
+
+
+ $alias_src_port_span_begin = $alias_popup["srcport"];
+
+ $alias_dst_span_begin = $alias_popup["dst"];
+
+ $alias_dst_port_span_begin = $alias_popup["dstport"];
+
+
+
+
/* if user does not have access to edit an interface skip on to the next record */
if(!have_natpfruleint_access($natent['interface']))
continue;
@@ -207,17 +235,19 @@ include("head.inc");
<?php
list($beginport, $endport) = split("-", $natent['external-port']);
if ((!$endport) || ($beginport == $endport)) {
+ echo $alias_src_port_span_begin;
echo $beginport;
if ($wkports[$beginport])
echo " (" . $wkports[$beginport] . ")";
else
echo "&nbsp;";
+ echo $span_end;
} else
echo $beginport . " - " . $endport;
?>
</td>
<td class="listr" onClick="fr_toggle(<?=$nnats;?>)" id="frd<?=$nnats;?>" ondblclick="document.location='firewall_nat_edit.php?id=<?=$nnats;?>';">
- <?=$natent['target'];?>
+ <?php echo $alias_dst_span_begin;?><?=$natent['target'];?><?php echo $span_end;?>
<?php if ($natent['external-address'])
echo "<br>(ext.: " . $natent['external-address'] . ")";
else
@@ -226,11 +256,13 @@ include("head.inc");
</td>
<td class="listr" onClick="fr_toggle(<?=$nnats;?>)" id="frd<?=$nnats;?>" ondblclick="document.location='firewall_nat_edit.php?id=<?=$nnats;?>';">
<?php if ((!$endport) || ($beginport == $endport)) {
- echo $natent['local-port'];
+ echo $alias_dst_port_span_begin;
+ echo $natent['local-port'];
if ($wkports[$natent['local-port']])
echo " (" . $wkports[$natent['local-port']] . ")";
else
echo "&nbsp;";
+ echo $span_end;
} else
echo $natent['local-port'] . " - " .
($natent['local-port']+$endport-$beginport);
diff --git a/usr/local/www/firewall_rules.php b/usr/local/www/firewall_rules.php
index ecb0295..b9a5ebf 100755
--- a/usr/local/www/firewall_rules.php
+++ b/usr/local/www/firewall_rules.php
@@ -208,30 +208,6 @@ echo "<script type=\"text/javascript\" language=\"javascript\" src=\"/javascript
<?php if (file_exists($d_filterconfdirty_path)): ?><p>
<?php print_info_box_np("The firewall rule configuration has been changed.<br>You must apply the changes in order for them to take effect.");?><br>
<?php endif; ?>
-<?php
- $aliases_array = array();
- if($config['aliases']['alias'] <> "" and is_array($config['aliases']['alias']))
- {
- foreach($config['aliases']['alias'] as $alias_name)
- {
- $alias_addresses = explode (" ", $alias_name['address']);
- $alias_details = explode ("||", $alias_name['detail']);
- $alias_objects_with_details = "";
- $counter = 0;
- foreach($alias_addresses as $alias_ports_address)
- {
- $alias_objects_with_details .= $alias_addresses[$counter];
- $alias_detail_default = strpos ($alias_details[$counter],"Entry added");
- if ($alias_details[$counter] != "" && $alias_detail_default === False){
- $alias_objects_with_details .=" - " . $alias_details[$counter];
- }
- $alias_objects_with_details .= "<br>";
- $counter++;
- }
- $aliases_array[] = array($alias_name['name'], $alias_name['descr'], $alias_objects_with_details);
- }
- }
-?>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td class="tabnavtbl">
<?php
@@ -382,61 +358,25 @@ echo "<script type=\"text/javascript\" language=\"javascript\" src=\"/javascript
<?php endif; ?>
</td>
<?php
+
//build Alias popup box
- $span_begin = "";
$span_end = "";
$alias_src_span_begin = "";
- $alias_src_span_end = "";
$alias_src_port_span_begin = "";
- $alias_src_port_span_end = "";
$alias_dst_span_begin = "";
- $alias_dst_span_end = "";
$alias_dst_port_span_begin = "";
- $alias_dst_port_span_end = "";
- $alias_content_text = "";
- //max character length for caption field
- $maxlength = 60;
- foreach ($aliases_array as $alias)
- {
- $alias_id_substr = $alias[0];
- $alias_descr_substr = $alias[1];
- $alias_content_text = htmlspecialchars($alias[2]);
- $alias_caption = htmlspecialchars($alias_descr_substr . ":");
- $strlength = strlen ($alias_caption);
- if ($strlength >= $maxlength)
- $alias_caption = substr($alias_caption, 0, $maxlength) . "...";
-
- $alias_check_src = $filterent['source']['address'];
- $alias_check_srcport = pprint_port($filterent['source']['port']);
- $alias_check_dst = $filterent['destination']['address'];
- $alias_check_dstport = pprint_port($filterent['destination']['port']);
+ $alias_popup = rule_popup($filterent['source']['address'],pprint_port($filterent['source']['port']),$filterent['destination']['address'],pprint_port($filterent['destination']['port']));
+ $span_end = "</U></span>";
- $span_begin = "<span style=\"cursor: help;\" onmouseover=\"domTT_activate(this, event, 'content', '<h1>$alias_caption</h1><p>$alias_content_text</p>', 'trail', true, 'delay', 0, 'fade', 'both', 'fadeMax', 93, 'styleClass', 'niceTitle');\" onmouseout=\"this.style.color = ''; domTT_mouseout(this, event);\"><U>";
- $span_end = "</U></span>";
+ $alias_src_span_begin = $alias_popup["src"];
+
+ $alias_src_port_span_begin = $alias_popup["srcport"];
+
+ $alias_dst_span_begin = $alias_popup["dst"];
+
+ $alias_dst_port_span_begin = $alias_popup["dstport"];
- if ($alias_id_substr == $alias_check_src)
- {
- $alias_src_span_begin = $span_begin;
- $alias_src_span_end = $span_end;
- }
- if ($alias_id_substr == $alias_check_srcport)
- {
- $alias_src_port_span_begin = $span_begin;
- $alias_src_port_span_end = $span_end;
- }
- if ($alias_id_substr == $alias_check_dst)
- {
- $alias_dst_span_begin = $span_begin;
- $alias_dst_span_end = $span_end;
- }
- if ($alias_id_substr == $alias_check_dstport)
- {
- $alias_dst_port_span_begin = $span_begin;
- $alias_dst_port_span_end = $span_end;
- }
- }
-
//build Schedule popup box
$a_schedules = &$config['schedules']['schedule'];
$schedule_span_begin = "";
OpenPOWER on IntegriCloud