From 155984db7b0d64ce5dec94c71ebdf080b320f2ae Mon Sep 17 00:00:00 2001 From: Tom Laermans Date: Thu, 21 Apr 2011 17:11:58 +0000 Subject: [PATCH] fixed microsoft windows ipv6 address discovery, thanks to Bill Fenner for his always excellent SNMP/MIB knowledge git-svn-id: http://www.observium.org/svn/observer/trunk@2135 61d68cd4-352d-0410-923a-c4978735b2b8 --- includes/functions.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/includes/functions.php b/includes/functions.php index 1c092c5788..654e7518f2 100755 --- a/includes/functions.php +++ b/includes/functions.php @@ -434,6 +434,14 @@ function match_network($nets, $ip, $first=false) function snmp2ipv6($ipv6_snmp) { $ipv6 = explode('.',$ipv6_snmp); + + # Workaround stupid Microsoft bug in Windows 2008 -- this is fixed length! + # < fenestro> "because whoever implemented this mib for Microsoft was ignorant of RFC 2578 section 7.7 (2)" + if (count($ipv6) == 17 && $ipv6[0] == 16) + { + array_shift($ipv6); + } + for ($i = 0;$i <= 15;$i++) { $ipv6[$i] = zeropad(dechex($ipv6[$i])); } for ($i = 0;$i <= 15;$i+=2) { $ipv6_2[] = $ipv6[$i] . $ipv6[$i+1]; }