From e11c88bad4cf6d0ad98d5af6f696b35fa8461582 Mon Sep 17 00:00:00 2001 From: Adam Amstrong Date: Tue, 5 Jan 2010 10:38:43 +0000 Subject: [PATCH] fix for cdp where hostname != sysname git-svn-id: http://www.observium.org/svn/observer/trunk@593 61d68cd4-352d-0410-923a-c4978735b2b8 --- includes/discovery/cisco-cdp.inc.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/includes/discovery/cisco-cdp.inc.php b/includes/discovery/cisco-cdp.inc.php index 48277d98f..5900e900e 100755 --- a/includes/discovery/cisco-cdp.inc.php +++ b/includes/discovery/cisco-cdp.inc.php @@ -34,7 +34,7 @@ if($cdp_links) { $src_if = strtolower($src_if); $ip = gethostbyname($dst_host); if ( match_network($config['nets'], $ip) ) { - if ( mysql_result(mysql_query("SELECT COUNT(*) FROM `devices` WHERE `sysName` = '$dst_host'"), 0) == '0' ) { + if ( mysql_result(mysql_query("SELECT COUNT(*) FROM `devices` WHERE `sysName` = '$dst_host' OR `hostname`='$dst_host'"), 0) == '0' ) { if($config['cdp_autocreate']) { echo("++ Creating: $dst_host \n"); createHost ($dst_host, $community, "v2c"); @@ -46,12 +46,12 @@ if($cdp_links) { echo("!($dst_host)"); } - $dst_if_id = @mysql_result(mysql_query("SELECT I.interface_id FROM `interfaces` AS I, `devices` AS D WHERE `ifDescr` = '$dst_if' AND sysName = '$dst_host' AND D.device_id = I.device_id"), 0); + $dst_if_id = @mysql_result(mysql_query("SELECT I.interface_id FROM `interfaces` AS I, `devices` AS D WHERE `ifDescr` = '$dst_if' AND (sysName = '$dst_host' OR hostname='$dst_host') AND D.device_id = I.device_id"), 0); if(!$dst_if_id) { - $dst_if_id = @mysql_result(mysql_query("SELECT I.interface_id FROM `interfaces` AS I, `devices` AS D WHERE `ifName` = '$dst_if' AND sysName = '$dst_host' AND D.device_id = I.device_id"), 0); + $dst_if_id = @mysql_result(mysql_query("SELECT I.interface_id FROM `interfaces` AS I, `devices` AS D WHERE `ifName` = '$dst_if' AND (sysName = '$dst_host' OR hostname='$dst_host') AND D.device_id = I.device_id"), 0); } - if ( mysql_result(mysql_query("SELECT COUNT(*) FROM `devices` WHERE `sysName` = '$dst_host'"), 0) == '1' && + if ( mysql_result(mysql_query("SELECT COUNT(*) FROM `devices` WHERE `sysName` = '$dst_host' OR `hostname`='$dst_host'"), 0) == '1' && mysql_result(mysql_query("SELECT COUNT(*) FROM `devices` WHERE `hostname` = '$src_host'"), 0) == '1' && $dst_if_id && mysql_result(mysql_query("SELECT COUNT(*) FROM `interfaces` AS I, `devices` AS D WHERE `ifIndex` = '$src_if' AND hostname = '$src_host' AND D.device_id = I.device_id"), 0) == '1')