summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/inc/filter.inc49
-rw-r--r--etc/inc/interfaces.inc12
-rw-r--r--etc/inc/rrd.inc2
-rwxr-xr-xusr/local/www/diag_dump_states.php2
-rwxr-xr-xusr/local/www/firewall_nat_edit.php6
-rwxr-xr-xusr/local/www/firewall_rules_edit.php29
-rwxr-xr-xusr/local/www/guiconfig.inc2
-rwxr-xr-xusr/local/www/interfaces.php12
-rw-r--r--usr/local/www/javascript/firewall_nat_edit/firewall_nat_edit.js6
-rw-r--r--usr/local/www/themes/pfsense_ng_fs/rrdcolors.inc.php71
10 files changed, 129 insertions, 62 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc
index ba2dfa0..274d0bb 100644
--- a/etc/inc/filter.inc
+++ b/etc/inc/filter.inc
@@ -296,7 +296,7 @@ function filter_configure_sync($delete_states_if_needed = true) {
$rules .= discover_pkg_rules("filter");
@file_put_contents("{$g['tmp_path']}/rules.limits", $limitrules);
- mwexec("/sbin/pfctl -o basic -f {$g['tmp_path']}/rules.limits");
+ mwexec("/sbin/pfctl -f {$g['tmp_path']}/rules.limits");
if (!@file_put_contents("{$g['tmp_path']}/rules.debug", $rules, LOCK_EX)) {
log_error("WARNING: Could not write new rules!");
@@ -1180,11 +1180,12 @@ function filter_generate_reflection_proxy($rule, $nordr, $rdr_ifs, $srcaddr, $ds
}
$dstaddr = explode(" ", $dstaddr_port);
- if($dstaddr[2])
- $rflctintrange = $dstaddr[2];
- else
+ if($dstaddr[2]) {
+ $rflctintrange = array_pop($dstaddr);
+ array_pop($dstaddr);
+ } else
return "";
- $dstaddr = $dstaddr[0];
+ $dstaddr = implode(" ", $dstaddr);
if(empty($dstaddr) || trim($dstaddr) == "0.0.0.0" || strtolower(trim($dstaddr)) == "port")
return "";
@@ -2328,7 +2329,7 @@ function filter_generate_user_rule($rule) {
$aline['flags'] = "flags S/SA ";
}
}
- if (($rule['protocol'] == "tcp") && ($type == "pass")) {
+ if (in_array($rule['protocol'], array("icmp","udp","tcp","tcp/udp")) && ($type == "pass")) {
/*
* # keep state
* works with TCP, UDP, and ICMP.
@@ -2343,7 +2344,7 @@ function filter_generate_user_rule($rule) {
* queueing in certain situations. please check the faq.
*/
$noadvoptions = false;
- if(isset($rule['statetype']) && $rule['statetype'] <> "") {
+ if (isset($rule['statetype']) && $rule['statetype'] <> "") {
switch($rule['statetype']) {
case "none":
$noadvoptions = true;
@@ -2351,7 +2352,7 @@ function filter_generate_user_rule($rule) {
break;
case "modulate state":
case "synproxy state":
- if($rule['protocol'] == "tcp")
+ if ($rule['protocol'] == "tcp")
$aline['flags'] .= "{$rule['statetype']} ";
break;
case "sloppy state":
@@ -2365,32 +2366,38 @@ function filter_generate_user_rule($rule) {
} else
$aline['flags'] .= "keep state ";
- if($noadvoptions == false || $l7_present)
- if( (isset($rule['source-track']) and $rule['source-track'] <> "") or
+ if ($noadvoptions == false || $l7_present)
+ if ((isset($rule['source-track']) and $rule['source-track'] <> "") or
(isset($rule['max']) and $rule['max'] <> "") or
(isset($rule['max-src-nodes']) and $rule['max-src-nodes'] <> "") or
- (isset($rule['max-src-conn']) and $rule['max-src-conn'] <> "") or
- (isset($rule['max-src-conn-rate']) and $rule['max-src-conn-rate'] <> "") or
- (isset($rule['max-src-conn-rates']) and $rule['max-src-conn-rates'] <> "") or
(isset($rule['max-src-states']) and $rule['max-src-states'] <> "") or
- (isset($rule['statetimeout']) and $rule['statetimeout'] <> "") or
+ ((in_array($rule['protocol'], array("tcp","tcp/udp"))) and
+ ((isset($rule['statetimeout']) and $rule['statetimeout'] <> "") or
+ (isset($rule['max-src-conn']) and $rule['max-src-conn'] <> "") or
+ (isset($rule['max-src-conn-rate']) and $rule['max-src-conn-rate'] <> "") or
+ (isset($rule['max-src-conn-rates']) and $rule['max-src-conn-rates'] <> ""))) or
isset($rule['sloppy']) or $l7_present) {
$aline['flags'] .= "( ";
if (isset($rule['sloppy']))
$aline['flags'] .= "sloppy ";
- if(isset($rule['source-track']) and $rule['source-track'] <> "")
+ if (isset($rule['source-track']) and $rule['source-track'] <> "")
$aline['flags'] .= "source-track rule ";
- if(isset($rule['max']) and $rule['max'] <> "")
+ if (isset($rule['max']) and $rule['max'] <> "")
$aline['flags'] .= "max " . $rule['max'] . " ";
- if(isset($rule['max-src-nodes']) and $rule['max-src-nodes'] <> "")
+ if (isset($rule['max-src-nodes']) and $rule['max-src-nodes'] <> "")
$aline['flags'] .= "max-src-nodes " . $rule['max-src-nodes'] . " ";
- if(isset($rule['max-src-conn']) and $rule['max-src-conn'] <> "")
+ if ((in_array($rule['protocol'], array("tcp","tcp/udp")))
+ and isset($rule['max-src-conn'])
+ and $rule['max-src-conn'] <> "")
$aline['flags'] .= "max-src-conn " . $rule['max-src-conn'] . " ";
- if(isset($rule['max-src-states']) and $rule['max-src-states'] <> "")
+ if (isset($rule['max-src-states']) and $rule['max-src-states'] <> "")
$aline['flags'] .= "max-src-states " . $rule['max-src-states'] . " ";
- if(isset($rule['statetimeout']) and $rule['statetimeout'] <> "")
+ if ((in_array($rule['protocol'], array("tcp","tcp/udp")))
+ and isset($rule['statetimeout'])
+ and $rule['statetimeout'] <> "")
$aline['flags'] .= "tcp.established " . $rule['statetimeout'] . " ";
- if(isset($rule['max-src-conn-rate'])
+ if ((in_array($rule['protocol'], array("tcp","tcp/udp")))
+ and isset($rule['max-src-conn-rate'])
and $rule['max-src-conn-rate'] <> ""
and isset($rule['max-src-conn-rates'])
and $rule['max-src-conn-rates'] <> "") {
diff --git a/etc/inc/interfaces.inc b/etc/inc/interfaces.inc
index a8e272b..dce51cc 100644
--- a/etc/inc/interfaces.inc
+++ b/etc/inc/interfaces.inc
@@ -4216,11 +4216,15 @@ function get_real_interface($interface = "wan", $family = "all") {
case 'ppp':
case 'l2tp':
case 'pptp':
- $parents = get_parent_interface($interface);
- if (!empty($parents[0]))
- $wanif = $parents[0];
- else
+ if (isset($cfg['dhcp6usev4iface']))
$wanif = $cfg['if'];
+ else {
+ $parents = get_parent_interface($interface);
+ if (!empty($parents[0]))
+ $wanif = $parents[0];
+ else
+ $wanif = $cfg['if'];
+ }
break;
default:
if( is_array($cfg['wireless']) || preg_match($g['wireless_regex'], $cfg['if']))
diff --git a/etc/inc/rrd.inc b/etc/inc/rrd.inc
index 65f4db4..af1908b 100644
--- a/etc/inc/rrd.inc
+++ b/etc/inc/rrd.inc
@@ -717,7 +717,7 @@ function enable_rrd_graphing() {
/* enter UNKNOWN values in the RRD so it knows we rebooted. */
if($g['booting']) {
- mwexec("$rrdtool update $rrddbpath$ifname$mbuf N:U:U:U:U:U");
+ mwexec("$rrdtool update $rrddbpath$ifname$mbuf N:U:U:U:U");
}
/* the mbuf stats gathering function. */
diff --git a/usr/local/www/diag_dump_states.php b/usr/local/www/diag_dump_states.php
index ce48762..a282fdc 100755
--- a/usr/local/www/diag_dump_states.php
+++ b/usr/local/www/diag_dump_states.php
@@ -142,7 +142,7 @@ include("head.inc");
<?php if (is_ipaddr($_GET['filter']) || is_subnet($_GET['filter'])): ?>
<input type="submit" class="formbtn" name="killfilter" value="<?=gettext("Kill");?>" />
<?php endif; ?>
- <td>
+ </td>
</tr>
</table>
</form>
diff --git a/usr/local/www/firewall_nat_edit.php b/usr/local/www/firewall_nat_edit.php
index a9399f8..42da1ba 100755
--- a/usr/local/www/firewall_nat_edit.php
+++ b/usr/local/www/firewall_nat_edit.php
@@ -718,7 +718,7 @@ include("fbegin.inc"); ?>
<tr>
<td><?=gettext("from:"); ?>&nbsp;&nbsp;</td>
<td>
- <select name="dstbeginport" class="formselect" onchange="dst_rep_change();ext_change()">
+ <select name="dstbeginport" id="dstbeginport" class="formselect" onchange="dst_rep_change();ext_change()">
<option value="">(<?=gettext("other"); ?>)</option>
<?php $bfound = 0;
foreach ($wkports as $wkport => $wkportdesc): ?>
@@ -731,7 +731,7 @@ include("fbegin.inc"); ?>
<tr>
<td><?=gettext("to:"); ?></td>
<td>
- <select name="dstendport" class="formselect" onchange="ext_change()">
+ <select name="dstendport" id="dstendport" class="formselect" onchange="ext_change()">
<option value="">(<?=gettext("other"); ?>)</option>
<?php $bfound = 0;
foreach ($wkports as $wkport => $wkportdesc): ?>
@@ -761,7 +761,7 @@ include("fbegin.inc"); ?>
<tr name="lprtr" id="lprtr">
<td width="22%" valign="top" class="vncellreq"><?=gettext("Redirect target port"); ?></td>
<td width="78%" class="vtable">
- <select name="localbeginport" class="formselect" onchange="ext_change();check_for_aliases();">
+ <select name="localbeginport" id="localbeginport" class="formselect" onchange="ext_change();check_for_aliases();">
<option value="">(<?=gettext("other"); ?>)</option>
<?php $bfound = 0; foreach ($wkports as $wkport => $wkportdesc): ?>
<option value="<?=$wkport;?>" <?php if ($wkport == $pconfig['localbeginport']) {
diff --git a/usr/local/www/firewall_rules_edit.php b/usr/local/www/firewall_rules_edit.php
index 13e7b2a..d8c70e8 100755
--- a/usr/local/www/firewall_rules_edit.php
+++ b/usr/local/www/firewall_rules_edit.php
@@ -472,21 +472,24 @@ if ($_POST) {
$input_errors[] = gettext("You can only select a layer7 container for Pass type rules.");
}
- if ($_POST['proto'] <> "tcp") {
- if (!empty($_POST['max']))
- $input_errors[] = gettext("You can only specify the maximum state entries (advanced option) for TCP protocol.");
- if (!empty($_POST['max-src-nodes']))
- $input_errors[] = gettext("You can only specify the maximum number of unique source hosts (advanced option) for TCP protocol.");
+ if (!in_array($_POST['proto'], array("tcp","tcp/udp"))) {
if (!empty($_POST['max-src-conn']))
$input_errors[] = gettext("You can only specify the maximum number of established connections per host (advanced option) for TCP protocol.");
- if (!empty($_POST['max-src-states']))
- $input_errors[] = gettext("You can only specify the maximum state entries per host (advanced option) for TCP protocol.");
if (!empty($_POST['max-src-conn-rate']) || !empty($_POST['max-src-conn-rates']))
$input_errors[] = gettext("You can only specify the maximum new connections / per second(s) (advanced option) for TCP protocol.");
if (!empty($_POST['statetimeout']))
$input_errors[] = gettext("You can only specify the state timeout (advanced option) for TCP protocol.");
}
+ if (!in_array($_POST['proto'], array("icmp","udp","tcp","tcp/udp"))) {
+ if (!empty($_POST['max']))
+ $input_errors[] = gettext("You can only specify the maximum state entries (advanced option) for ICMP/TCP/UDP protocols.");
+ if (!empty($_POST['max-src-nodes']))
+ $input_errors[] = gettext("You can only specify the maximum number of unique source hosts (advanced option) for ICMP/TCP/UDP protocols.");
+ if (!empty($_POST['max-src-states']))
+ $input_errors[] = gettext("You can only specify the maximum state entries per host (advanced option) for ICMP/TCP/UDP protocols.");
+ }
+
if ($_POST['type'] <> "pass") {
if (!empty($_POST['max']))
$input_errors[] = gettext("You can only specify the maximum state entries (advanced option) for Pass type rules.");
@@ -1252,10 +1255,10 @@ $i--): ?>
<input name="tagged" id="tagged" value="<?=htmlspecialchars($pconfig['tagged']);?>" />
<br /><span class="vexpl"><?=gettext("You can match packet on a mark placed before on another rule.")?>
</span></p><p>
- <input name="max" id="max" value="<?php echo htmlspecialchars($pconfig['max']) ?>" /><br/><?=gettext(" Maximum state entries this rule can create");?></p><p>
- <input name="max-src-nodes" id="max-src-nodes" value="<?php echo htmlspecialchars($pconfig['max-src-nodes']) ?>" /><br/><?=gettext(" Maximum number of unique source hosts");?></p><p>
- <input name="max-src-conn" id="max-src-conn" value="<?php echo htmlspecialchars($pconfig['max-src-conn']) ?>" /><br/><?=gettext(" Maximum number of established connections per host");?></p><p>
- <input name="max-src-states" id="max-src-states" value="<?php echo htmlspecialchars($pconfig['max-src-states']) ?>" /><br/><?=gettext(" Maximum state entries per host");?></p><p>
+ <input name="max" id="max" value="<?php echo htmlspecialchars($pconfig['max']) ?>" /><br/><?=gettext(" Maximum state entries this rule can create (TCP/UDP/ICMP)");?></p><p>
+ <input name="max-src-nodes" id="max-src-nodes" value="<?php echo htmlspecialchars($pconfig['max-src-nodes']) ?>" /><br/><?=gettext(" Maximum number of unique source hosts (TCP/UDP/ICMP)");?></p><p>
+ <input name="max-src-conn" id="max-src-conn" value="<?php echo htmlspecialchars($pconfig['max-src-conn']) ?>" /><br/><?=gettext(" Maximum number of established connections per host (TCP only)");?></p><p>
+ <input name="max-src-states" id="max-src-states" value="<?php echo htmlspecialchars($pconfig['max-src-states']) ?>" /><br/><?=gettext(" Maximum state entries per host (TCP/UDP/ICMP)");?></p><p>
<input name="max-src-conn-rate" id="max-src-conn-rate" value="<?php echo htmlspecialchars($pconfig['max-src-conn-rate']) ?>" /> /
<select name="max-src-conn-rates" id="max-src-conn-rates">
<option value=""<?php if(intval($pconfig['max-src-conn-rates']) < 1) echo " selected=\"selected\""; ?>></option>
@@ -1264,10 +1267,10 @@ $i--): ?>
echo "<option value=\"{$x}\"{$selected}>{$x}</option>\n";
} ?>
</select><br />
- <?=gettext("Maximum new connections / per second(s)");?>
+ <?=gettext("Maximum new connections / per second(s) (TCP only)");?>
</p><p>
<input name="statetimeout" value="<?php echo htmlspecialchars($pconfig['statetimeout']) ?>" /><br/>
- <?=gettext("State Timeout in seconds");?>
+ <?=gettext("State Timeout in seconds (TCP only)");?>
</p>
<p><strong><?=gettext("Note: Leave fields blank to disable that feature.");?></strong></p>
</div>
diff --git a/usr/local/www/guiconfig.inc b/usr/local/www/guiconfig.inc
index f88572b..3579767 100755
--- a/usr/local/www/guiconfig.inc
+++ b/usr/local/www/guiconfig.inc
@@ -235,7 +235,7 @@ $wlan_modes = array("bss" => "Infrastructure (BSS)", "adhoc" => "Ad-hoc (IBSS)",
/* platforms that support firmware updating */
$fwupplatforms = array('pfSense', 'net45xx', 'net48xx', 'generic-pc', 'embedded', 'wrap', 'nanobsd');
-function do_input_validation($postdata, $reqdfields, $reqdfieldsn, $input_errors) {
+function do_input_validation($postdata, $reqdfields, $reqdfieldsn, &$input_errors) {
/* check for bad control characters */
foreach ($postdata as $pn => $pd) {
diff --git a/usr/local/www/interfaces.php b/usr/local/www/interfaces.php
index 3805c30..19ed709 100755
--- a/usr/local/www/interfaces.php
+++ b/usr/local/www/interfaces.php
@@ -274,6 +274,7 @@ switch($wancfg['ipaddrv6']) {
$pconfig['dhcp6-ia-pd-len'] = $wancfg['dhcp6-ia-pd-len'];
$pconfig['type6'] = "dhcp6";
$pconfig['dhcp6prefixonly'] = isset($wancfg['dhcp6prefixonly']);
+ $pconfig['dhcp6usev4iface'] = isset($wancfg['dhcp6usev4iface']);
break;
case "6to4":
$pconfig['type6'] = "6to4";
@@ -802,6 +803,7 @@ if ($_POST['apply']) {
unset($wancfg['dhcp6-duid']);
unset($wancfg['dhcp6-ia-pd-len']);
unset($wancfg['dhcp6prefixonly']);
+ unset($wancfg['dhcp6usev4iface']);
unset($wancfg['track6-interface']);
unset($wancfg['track6-prefix-id']);
unset($wancfg['prefix-6rd']);
@@ -1013,6 +1015,8 @@ if ($_POST['apply']) {
$wancfg['dhcp6-ia-pd-len'] = $_POST['dhcp6-ia-pd-len'];
if($_POST['dhcp6prefixonly'] == "yes")
$wancfg['dhcp6prefixonly'] = true;
+ if($_POST['dhcp6usev4iface'] == "yes")
+ $wancfg['dhcp6usev4iface'] = true;
$wancfg['adv_dhcp6_interface_statement_send_options'] = $_POST['adv_dhcp6_interface_statement_send_options'];
$wancfg['adv_dhcp6_interface_statement_request_options'] = $_POST['adv_dhcp6_interface_statement_request_options'];
@@ -2114,6 +2118,13 @@ $types6 = array("none" => gettext("None"), "staticv6" => gettext("Static IPv6"),
</td>
</tr>
-->
+ <tr style='display:none' name="basicdhcp6_use_pppoeinterface" id="basicdhcp6_use_pppoeinterface">
+ <td width="22%" valign="top" class="vncell"><?=gettext("Use IPv4 connectivity as parent interface"); ?></td>
+ <td width="78%" class="vtable">
+ <input name="dhcp6usev4iface" type="checkbox" id="dhcp6usev4iface" value="yes" <?php if ($pconfig['dhcp6usev4iface'] == true) echo "checked=\"checked\""; ?> />
+ <?=gettext("Request a IPv6 prefix/information through the IPv4 connectivity link"); ?>
+ </td>
+ </tr>
<tr style='display:none' name="basicdhcp6_show_dhcp6_prefix_only" id="basicdhcp6_show_dhcp6_prefix_only">
<td width="22%" valign="top" class="vncell"><?=gettext("Request only a IPv6 prefix"); ?></td>
<td width="78%" class="vtable">
@@ -2291,6 +2302,7 @@ $types6 = array("none" => gettext("None"), "staticv6" => gettext("Static IPv6"),
function show_hide_adv_dhcp6(basic, advanced, override) {
+ document.getElementById("basicdhcp6_use_pppoeinterface").style.display = basic;
document.getElementById("basicdhcp6_show_dhcp6_prefix_delegation_size").style.display = basic;
document.getElementById("basicdhcp6_show_dhcp6_prefix_only").style.display = basic;
diff --git a/usr/local/www/javascript/firewall_nat_edit/firewall_nat_edit.js b/usr/local/www/javascript/firewall_nat_edit/firewall_nat_edit.js
index bd88145..501481d 100644
--- a/usr/local/www/javascript/firewall_nat_edit/firewall_nat_edit.js
+++ b/usr/local/www/javascript/firewall_nat_edit/firewall_nat_edit.js
@@ -138,6 +138,12 @@ function proto_change() {
document.getElementById("sprtable").style.display = 'none';
document.getElementById("dprtr").style.display = 'none';
document.getElementById("lprtr").style.display = 'none';
+ document.getElementById("dstbeginport").selectedIndex = 0;
+ document.getElementById("dstbeginport_cust").value = "";
+ document.getElementById("dstendport").selectedIndex = 0;
+ document.getElementById("dstendport_cust").value = "";
+ document.getElementById("localbeginport").selectedIndex = 0;
+ document.getElementById("localbeginport_cust").value = "";
}
}
diff --git a/usr/local/www/themes/pfsense_ng_fs/rrdcolors.inc.php b/usr/local/www/themes/pfsense_ng_fs/rrdcolors.inc.php
index 1ed3027..52337b9 100644
--- a/usr/local/www/themes/pfsense_ng_fs/rrdcolors.inc.php
+++ b/usr/local/www/themes/pfsense_ng_fs/rrdcolors.inc.php
@@ -30,24 +30,59 @@
/* This file is included by the RRD graphing page and sets the colors */
-$colortrafficup = array("666666", "CCCCCC", "b36666", "bd9090");
-$colortrafficdown = array("990000", "CC0000", "b36666", "bd9090");
-$colorpacketsup = array("666666", "CCCCCC", "b36666", "bd9090");
-$colorpacketsdown = array("990000", "CC0000", "b36666", "bd9090");
-$colortraffic95 = array("660000", "FF0000");
-$colorstates = array('990000','a83c3c','b36666','bd9090','cccccc','000000');
-$colorprocessor = array('990000','a83c3c','b36666','bd9090','cccccc','000000');
-$colormemory = array('990000','a83c3c','b36666','bd9090','cccccc','000000');
-$colorqueuesup = array('000000','7B0000','990000','BB0000','CC0000','D90000','EE0000','FF0000','CC0000');
-$colorqueuesdown = array('000000','7B7B7B','999999','BBBBBB','CCCCCC','D9D9D9','EEEEEE','FFFFFF','CCCCCC');
-$colorqueuesdropup = array('000000','7B0000','990000','BB0000','CC0000','D90000','EE0000','FF0000','CC0000');
-$colorqueuesdropdown = array('000000','7B7B7B','999999','BBBBBB','CCCCCC','D9D9D9','EEEEEE','FFFFFF','CCCCCC');
-$colorqualityrtt = array('990000','a83c3c','b36666','bd9090','cccccc','000000');
-$colorqualityloss = "ee0000";
-$colorwireless = array('333333','a83c3c','999999');
-$colorspamdtime = array('DDDDFF', 'AAAAFF', 'DDDDFF', '000066');
-$colorspamdconn = array('00AA00BB', 'FFFFFFFF', '00660088', 'FFFFFF88', '006600');
-$colorvpnusers = array('990000');
+/* Traffic Outbound Out-P-4, Out-B-4, Out-P-6, Out-B-6 */
+$colortrafficup = array('666666', 'CCCCCC', '2217AA', '625AE7');
+
+/* Traffic Inbound In-P-4, In-B-4, In-P-6, In-B-6 */
+$colortrafficdown = array('990000', 'CC0000', 'FFC875', 'FF9900');
+
+/* Packets Outbound Out-P-4, Out-B-4, Out-P-6, Out-B-6 */
+$colorpacketsup = array('666666', 'CCCCCC', '2217AA', '625AE7');
+
+/* Packets Inbound In-P-4, In-B-4, In-P-6, In-B-6 */
+$colorpacketsdown = array('990000', 'CC0000', 'FFC875', 'FF9900');
+
+/* 95th Percentile Lines Out, In */
+$colortraffic95 = array('660000', 'FF0000');
+
+/* State Table pfrate, pfstates, pfnat, srcip, dstip */
+$colorstates = array('00AA00','990000','0000FF','000000','DD9B00');
+
+/* Processor Usage user, nice, system, int, processes */
+$colorprocessor = array('00AA00','990000','0000FF','DD9B00','000000');
+
+/* Memory Usage active, inact, free, cache, wire */
+$colormemory = array('00AA00','990000','0000FF','666666','DD9B00');
+
+/* MBUF Usage current, cache, total, max */
+$colormbuf = array('0080FF','00E344','FF0000','000000');
+
+/* Traffic Shaper Queues q1, q2, q3, q4, q5, q6, q7, q8, q9 */
+$colorqueuesup = array('000000','7B0000','0080FF','00E344','FF0000','2217AA','FFC875','FF9900','CC0000');
+$colorqueuesdown = array('000000','7B7B7B','999999','BBBBBB','CCCCCC','D9D9D9','EEEEEE','FFFFFF','CCCCCC');
+
+$colorqueuesdropup = array('000000','7B0000','0080FF','00E344','FF0000','2217AA','FFC875','FF9900','CC0000');
+$colorqueuesdropdown = array('000000','7B7B7B','999999','BBBBBB','CCCCCC','D9D9D9','EEEEEE','FFFFFF','CCCCCC');
+
+/* Quality Graph Delay >420, 180-420, 60-180, 20-60, <20, Delay Avg */
+$colorqualityrtt = array('990000','a83c3c','b36666','bd9090','cccccc','000000');
+/* Quality Graph Loss */
+$colorqualityloss = 'ee0000';
+
+/* Wireless Graph SNR, Rate, Channel*/
+/* Cellular Graph RSSI, */
+$colorwireless = array('333333','a83c3c','999999');
+
+/* SPAMD Times min area, avg area, max area, Time line */
+$colorspamdtime = array('DDDDFF', 'AAAAFF', 'DDDDFF', '000066');
+/* SPAMD Connections max area, min area, min line, max line, avg line */
+$colorspamdconn = array('AA00BB', 'FFFFFF', '660088', 'FFFF88', '006600');
+
+/* OpenVPN Users Online Users */
+$colorvpnusers = array('990000');
+
+/* Captive Portal Total Users Total Users */
+/* Captive Portal Concurrent Concurrent Users */
$colorcaptiveportalusers = array('990000');
?>
OpenPOWER on IntegriCloud