diff options
author | jim-p <jimp@pfsense.org> | 2011-05-19 11:08:25 -0400 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2011-05-19 11:08:25 -0400 |
commit | c1f4af16f30196aa201e9695e2a64143d815312d (patch) | |
tree | 16efec8080876f05b0ac566762d9c0b3f1324db0 /usr/local/www | |
parent | bcb24b81f538adda46bc1c499f2ddd4c78dd50a9 (diff) | |
download | pfsense-c1f4af16f30196aa201e9695e2a64143d815312d.zip pfsense-c1f4af16f30196aa201e9695e2a64143d815312d.tar.gz |
Show the DUID instead of the MAC. Fix online test.
Diffstat (limited to 'usr/local/www')
-rw-r--r-- | usr/local/www/status_dhcpv6_leases.php | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/usr/local/www/status_dhcpv6_leases.php b/usr/local/www/status_dhcpv6_leases.php index 63d5a9e..7ca05f8 100644 --- a/usr/local/www/status_dhcpv6_leases.php +++ b/usr/local/www/status_dhcpv6_leases.php @@ -163,12 +163,26 @@ while($i < $leases_count) { $i++; continue 3; case "ia-na": - $leases[$l]['duid'] = $data[$f+1]; + if ($data[$f+1][0] == '"') { + $duid = ""; + while ($data[$f][strlen($data[$f])-1] != '"') { + $duid .= " " . $data[$f+1]; + $f++; + } + $leases[$l]['duid'] = $duid; + } else { + $leases[$l]['duid'] = $data[$f+1]; + } $leases[$l]['type'] = "dynamic"; $f = $f+2; break; case "iaaddr": $leases[$l]['ip'] = $data[$f+1]; + if (in_array($leases[$l]['ip'], $arpdata)) { + $leases[$l]['online'] = 'online'; + } else { + $leases[$l]['online'] = 'offline'; + } $f = $f+2; break; case "starts": @@ -214,13 +228,6 @@ while($i < $leases_count) { $f = $f+3; break; case "hardware": - $leases[$l]['mac'] = $data[$f+2]; - /* check if it's online and the lease is active */ - if (in_array($leases[$l]['ip'], $arpdata)) { - $leases[$l]['online'] = 'online'; - } else { - $leases[$l]['online'] = 'offline'; - } $f = $f+2; break; case "client-hostname": @@ -244,7 +251,6 @@ while($i < $leases_count) { $i++; } -/* remove duplicate items by mac address */ if(count($leases) > 0) { $leases = remove_duplicate($leases,"ip"); } @@ -266,7 +272,7 @@ foreach($config['interfaces'] as $ifname => $ifarr) { $slease['end'] = ""; $slease['hostname'] = htmlentities($static['hostname']); $slease['act'] = "static"; - $online = exec("/usr/sbin/arp -an |/usr/bin/grep {$slease['mac']}| /usr/bin/wc -l|/usr/bin/awk '{print $1;}'"); + $online = exec("/usr/sbin/ndp -an |/usr/bin/grep {$slease['mac']}| /usr/bin/wc -l|/usr/bin/awk '{print $1;}'"); if ($online == 1) { $slease['online'] = 'online'; } else { @@ -317,7 +323,7 @@ foreach ($pools as $data) { <table class="tabcont sortable" width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td class="listhdrr"><a href="#"><?=gettext("IPv6 address"); ?></a></td> - <td class="listhdrr"><a href="#"><?=gettext("MAC address"); ?></a></td> + <td class="listhdrr"><a href="#"><?=gettext("DUID"); ?></a></td> <td class="listhdrr"><a href="#"><?=gettext("Hostname"); ?></a></td> <td class="listhdrr"><a href="#"><?=gettext("Start"); ?></a></td> <td class="listhdrr"><a href="#"><?=gettext("End"); ?></a></td> @@ -358,11 +364,7 @@ foreach ($leases as $data) { } echo "<tr>\n"; echo "<td class=\"listlr\">{$fspans}{$data['ip']}{$fspane} </td>\n"; - if ($data['online'] != "online") { - echo "<td class=\"listr\">{$fspans}<a href=\"services_wol.php?if={$data['if']}&mac={$data['mac']}\" title=\"" . gettext("send Wake on LAN packet to this MAC address") ."\" onclick=\"return confirm('" . gettext("Send Wake on LAN packet to this MAC address?") . "')\">{$data['mac']}</a>{$fspane} </td>\n"; - } else { - echo "<td class=\"listr\">{$fspans}{$data['mac']}{$fspane} </td>\n"; - } + echo "<td class=\"listr\">{$fspans}{$data['duid']}{$fspane} </td>\n"; echo "<td class=\"listr\">{$fspans}" . htmlentities($data['hostname']) . "{$fspane} </td>\n"; if ($data['type'] != "static") { echo "<td class=\"listr\">{$fspans}" . adjust_gmt($data['start']) . "{$fspane} </td>\n"; @@ -375,16 +377,13 @@ foreach ($leases as $data) { echo "<td class=\"listr\">{$fspans}{$data['act']}{$fspane} </td>\n"; if ($data['type'] == "dynamic") { - echo "<td valign=\"middle\"><a href=\"services_dhcp_edit.php?if={$data['if']}&mac={$data['mac']}&hostname={$data['hostname']}\">"; + echo "<td valign=\"middle\"><a href=\"services_dhcpv6_edit.php?if={$data['if']}&duid={$data['duid']}&hostname={$data['hostname']}\">"; echo "<img src=\"/themes/{$g['theme']}/images/icons/icon_plus.gif\" width=\"17\" height=\"17\" border=\"0\" title=\"" . gettext("add a static mapping for this MAC address") ."\"></a></td>\n"; } else { echo "<td class=\"list\" valign=\"middle\">"; echo "<img src=\"/themes/{$g['theme']}/images/icons/icon_plus_mo.gif\" width=\"17\" height=\"17\" border=\"0\"></td>\n"; } - echo "<td valign=\"middle\"><a href=\"services_wol_edit.php?if={$data['if']}&mac={$data['mac']}&descr={$data['hostname']}\">"; - echo "<img src=\"/themes/{$g['theme']}/images/icons/icon_wol_all.gif\" width=\"17\" height=\"17\" border=\"0\" title=\"" . gettext("add a Wake on LAN mapping for this MAC address") ."\"></a></td>\n"; - /* Only show the button for offline dynamic leases */ if (($data['type'] == "dynamic") && ($data['online'] != "online")) { echo "<td class=\"list\" valign=\"middle\"><a href=\"status_dhcpv6_leases.php?deleteip={$data['ip']}&all=" . htmlspecialchars($_GET['all']) . "\">"; |