diff options
author | Chris Buechler <cmb@pfsense.org> | 2015-07-30 00:37:48 -0500 |
---|---|---|
committer | Chris Buechler <cmb@pfsense.org> | 2015-07-30 00:38:22 -0500 |
commit | c7ea65c25a32406296d60c9e20b355abe2cb6101 (patch) | |
tree | 12dfcd1466e9da3b32a1c59da2ee6013f9d78899 /usr | |
parent | 324ce0b9130e728cc69007a99e0e7ebc1684205a (diff) | |
download | pfsense-c7ea65c25a32406296d60c9e20b355abe2cb6101.zip pfsense-c7ea65c25a32406296d60c9e20b355abe2cb6101.tar.gz |
Fix killing of individual states for IPv6. Ticket #4906
Diffstat (limited to 'usr')
-rwxr-xr-x | usr/local/www/diag_dump_states.php | 38 |
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> |