summaryrefslogtreecommitdiffstats
path: root/usr/local/www
diff options
context:
space:
mode:
authorChris Buechler <cmb@pfsense.org>2015-07-30 00:37:48 -0500
committerChris Buechler <cmb@pfsense.org>2015-07-30 00:38:22 -0500
commitc7ea65c25a32406296d60c9e20b355abe2cb6101 (patch)
tree12dfcd1466e9da3b32a1c59da2ee6013f9d78899 /usr/local/www
parent324ce0b9130e728cc69007a99e0e7ebc1684205a (diff)
downloadpfsense-c7ea65c25a32406296d60c9e20b355abe2cb6101.zip
pfsense-c7ea65c25a32406296d60c9e20b355abe2cb6101.tar.gz
Fix killing of individual states for IPv6. Ticket #4906
Diffstat (limited to 'usr/local/www')
-rwxr-xr-xusr/local/www/diag_dump_states.php38
1 files changed, 27 insertions, 11 deletions
diff --git a/usr/local/www/diag_dump_states.php b/usr/local/www/diag_dump_states.php
index 6cb3513..ebb3b06 100755
--- a/usr/local/www/diag_dump_states.php
+++ b/usr/local/www/diag_dump_states.php
@@ -197,19 +197,35 @@ while ($line = chop(fgets($fd))) {
/* break up info and extract $srcip and $dstip */
$ends = preg_split("/\<?-\>?/", $info);
- $parts = explode(":", $ends[0]);
- if (strstr($info, "->")) {
- $srcip = trim($parts[0]);
- } else {
- $dstip = trim($parts[0]);
- }
- $parts = explode(":", $ends[count($ends) - 1]);
- if (strstr($info, "->")) {
- $dstip = trim($parts[0]);
+ if (strstr($info, "[")) {
+ // IPv6
+ $parts = explode("[", $ends[0]);
+ if (strstr($info, "->")) {
+ $srcip = trim($parts[0]);
+ } else {
+ $dstip = trim($parts[0]);
+ }
+ $parts = explode("[", $ends[count($ends) - 1]);
+ if (strstr($info, "->")) {
+ $dstip = trim($parts[0]);
+ } else {
+ $srcip = trim($parts[0]);
+ }
} else {
- $srcip = trim($parts[0]);
+ // IPv4
+ $parts = explode(":", $ends[0]);
+ if (strstr($info, "->")) {
+ $srcip = trim($parts[0]);
+ } else {
+ $dstip = trim($parts[0]);
+ }
+ $parts = explode(":", $ends[count($ends) - 1]);
+ if (strstr($info, "->")) {
+ $dstip = trim($parts[0]);
+ } else {
+ $srcip = trim($parts[0]);
+ }
}
-
?>
<tr valign="top" id="r:<?= $srcip ?>:<?= $dstip ?>">
<td class="listlr"><?= $iface ?></td>
OpenPOWER on IntegriCloud