r3953 By Alexey:
authorDenis Ovsienko <infrastation@yandex.ru>
Mon, 4 Oct 2010 13:47:20 +0000 (13:47 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Mon, 4 Oct 2010 13:47:20 +0000 (13:47 +0000)
Fixed an issue when remote CDP name of a Nexus switch appeared as switchname(SERIAL_NUMBER).

inc/gateways.php: ios12ReadCDPStatus(): regexps fixed to accept only DNS-valid characters

ChangeLog
inc/gateways.php

index 8f953d3d963e68dcab55616d9f0d86b6acfdd04a..7e8667430a8e0c8fad8e9e0cd3fd345c7bbf298b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,6 +15,7 @@
        new feature: rebuild tag filter as soon as user changes it (by Alexey Andrianov)
        new feature: default SLB configuration lines stored in DB (by Alexey Andrianov)
        new feature: {$attr_X_Y} autotags (by Alexey Andrianov)
+       bugfix: fixed an issue with LiveCDP remote device names of Nexus switches
 0.18.4 2010-07-13
        bugfix: a race condition could be triggered in permissions editor
        new feature: "any mode" of user port in VLAN switch template
index 2d8c09a86ffb30bd380664da9a1236554875e813..4ad900d26ca6592b2236a4ab347ffc2994536869 100644 (file)
@@ -404,8 +404,8 @@ function ios12ReadCDPStatus ($input)
                $matches = array();
                switch (TRUE)
                {
-               case preg_match ('/^Device ID: ?(.+)$/', $line, $matches):
-               case preg_match ('/^System Name: (.+)$/', $line, $matches):
+               case preg_match ('/^Device ID: ?([A-Za-z0-9][A-Za-z0-9\.\-]*)/', $line, $matches):
+               case preg_match ('/^System Name: ([A-Za-z0-9][A-Za-z0-9\.\-]*)/', $line, $matches):
                        $ret['current']['device'] = $matches[1];
                        break;
                case preg_match ('/^Interface: (.+),  ?Port ID \(outgoing port\): (.+)$/', $line, $matches):