diff --git a/discovery.php b/discovery.php
index 711cc2fb17..6c4fb51a7e 100755
--- a/discovery.php
+++ b/discovery.php
@@ -31,7 +31,7 @@ if($argv[1] == "--device" && $argv[2]) {
$devices_polled = 0;
-$device_query = mysql_query("SELECT * FROM `devices` WHERE status = '1' $where");
+$device_query = mysql_query("SELECT * FROM `devices` WHERE status = '1' $where ORDER BY device_id DESC");
while ($device = mysql_fetch_array($device_query)) {
echo($device['hostname'] ."\n");
diff --git a/html/includes/print-interface.inc b/html/includes/print-interface.inc
index 673866886e..ab23318700 100644
--- a/html/includes/print-interface.inc
+++ b/html/includes/print-interface.inc
@@ -15,8 +15,6 @@
$ifPhysAddress = $interface['ifPhysAddress'];
$ifType = fixiftype($interface['ifType']);
$ifHardType = $interface['ifHardType'];
-# $errors = interface_errors($interface);
-# $rates = interface_rates($interface);
if($ifAlias) {$ifAlias = $ifAlias . "";}
if($bg == "#ffffff") { $bg = "#e5e5e5"; } else { $bg="#ffffff"; }
@@ -32,12 +30,15 @@
" . generateiflink($interface, "$i. $ifDescr") . " $error_img
$ifAlias");
+
+ if($ifAlias) { echo("
"); }
+
unset ($break);
if(!$dographs) {
$ipdata = mysql_query("SELECT * FROM `ipaddr` WHERE `interface_id` = '" . $interface['interface_id'] . "'");
while($ip = mysql_fetch_Array($ipdata)) {
echo("$break $ip[addr]/$ip[cidr]");
- $break = " ";
+ $break = "
";
}
echo("");
echo("
");
@@ -79,7 +80,7 @@ echo(" | ");
if ( strpos($ifDescr, "oopback") === false && !$dographs) {
$link_query = mysql_query("select * from links AS L, interfaces AS I, devices AS D WHERE L.src_if = '$if_id' AND L.dst_if = I.interface_id AND I.device_id = D.device_id");
while($link = mysql_fetch_array($link_query)) {
- echo("
" . generateiflink($link) . " on " . generatedevicelink($link) . "
");
+ echo("
" . generateiflink($link, makeshortif($link['ifDescr'])) . " on " . generatedevicelink($link) . "
");
$br = "
";
}
unset($br);
@@ -106,7 +107,7 @@ echo("");
$wq = mysql_query("select count(*) FROM links WHERE dst_if = '$this_ifid' AND src_if = $if_id;");
if (@mysql_result($wq, 0) == '0' && $this_hostname != $hostname) {
$graph_url = "graph.php?if=$this_ifid&from=$twoday&to=$now&width=400&height=120&type=bits'";
- echo("$br
" . generateiflink($new) . " on " . generatedevicelink($new));
+ echo("$br
" . generateiflink($new, makeshortif($new['ifDescr'])) . " on " . generatedevicelink($new));
$br = "
";
}
}
diff --git a/includes/common.php b/includes/common.php
new file mode 100644
index 0000000000..dd49a1611a
--- /dev/null
+++ b/includes/common.php
@@ -0,0 +1,22 @@
+MySQL Error";
+ die;
+}
+mysql_select_db($config['db_name']);
+
+# Set some times needed by loads of scripts (it's dynamic, so we do it here!)
+
+$now = time();
+$day = time() - (24 * 60 * 60);
+$twoday = time() - (2 * 24 * 60 * 60);
+$week = time() - (7 * 24 * 60 * 60);
+$month = time() - (31 * 24 * 60 * 60);
+$year = time() - (365 * 24 * 60 * 60);
+
+
+?>
diff --git a/includes/functions.php b/includes/functions.php
index fe8bb8ae9e..ec3087ebf4 100755
--- a/includes/functions.php
+++ b/includes/functions.php
@@ -16,10 +16,24 @@ include("cisco-entities.php");
include("syslog.php");
+function write_dev_attrib($device_id, $attrib_type, $attrib_value) {
+
+ $count_sql = "SELECT COUNT(*) FROM devices_attribs WHERE `device_id` = '" . $device_id . "' AND `attrib_type` = '$attrib_type'";
+ if(mysql_result(mysql_query($count_sql),0)) {
+ $update_sql = "UPDATE devices_attribs SET attrib_value = '$attrib_value' WHERE `device_id` = '$device_id' AND `attrib_type` = '$attrib_type'";
+ mysql_query($update_sql);
+ } else {
+ $insert_sql = "INSERT INTO devices_attribs (`device_id`, `attrib_type`, `attrib_value`) VALUES ('$device_id', '$attrib_type', '$attrib_value')";
+ mysql_query($insert_sql);
+ }
+ return mysql_affected_rows();
+
+}
+
+
function shorthost($hostname, $len=16) {
list ($first, $second, $third, $fourth, $fifth) = explode(".", $hostname);
-
$shorthost = $first;
if(strlen($first.".".$second) < $len && $second) {
$shorthost = $first.".".$second;
@@ -47,8 +61,8 @@ function getHostOS($hostname, $community, $snmpver) {
global $config;
- $sysDescr_cmd = "snmpget -O qv -" . $snmpver . " -c " . $community . " " . $hostname . " sysDescr.0";
- $sysDescr = str_replace("\"", "", trim(`$sysDescr_cmd`));
+ $sysDescr_cmd = $config['snmpget']." -O qv -" . $snmpver . " -c " . $community . " " . $hostname . " sysDescr.0";
+ $sysDescr = str_replace("\"", "", trim(shell_exec($sysDescr_cmd)));
$dir_handle = @opendir("includes/osdiscovery") or die("Unable to open $path");
while ($file = readdir($dir_handle)) {
if( preg_match("/^discover-([a-z0-9]*).php/", $file) ) {
@@ -56,14 +70,12 @@ function getHostOS($hostname, $community, $snmpver) {
}
}
closedir($dir_handle);
-
if($os) { return $os; } else { return FALSE; }
-
}
-function strgen ($length = 8)
+function strgen ($length = 16)
{
$entropy = array(0,1,2,3,4,5,6,7,8,9,'a','A','b','B','c','C','d','D','e',
'E','f','F','g','G','h','H','i','I','j','J','k','K','l','L','m','M','n',
@@ -72,8 +84,7 @@ function strgen ($length = 8)
$string = "";
- for ($i=0; $i<$length; $i++)
- {
+ for ($i=0; $i<$length; $i++) {
$key = mt_rand(0,61);
$string .= $entropy[$key];
}
diff --git a/includes/unix-graphing.php b/includes/unix-graphing.php
index 2ee5e1036e..8fe3561543 100755
--- a/includes/unix-graphing.php
+++ b/includes/unix-graphing.php
@@ -262,7 +262,7 @@ function cpugraphUnix ($rrd, $graph, $from, $to, $width, $height, $title, $verti
$options .= " GPRINT:nice_perc:AVERAGE:\ \ \ %5.2lf%%";
$options .= " GPRINT:nice_perc:MAX:\ \ \ %5.2lf%%\\\\n";
$options .= " AREA:system_perc#ea8f00:system:STACK";
- $options .= " GPRINT:system_perc:LAST:\ \ %5.2lf%%";
+ $options .= " GPRINT:system_perc:LAST:\ \ \ %5.2lf%%";
$options .= " GPRINT:system_perc:AVERAGE:\ \ \ %5.2lf%%";
$options .= " GPRINT:system_perc:MAX:\ \ \ %5.2lf%%\\\\n";
$options .= " AREA:idle_perc#f5f5e5:idle:STACK";
diff --git a/mibs/.index b/mibs/.index
deleted file mode 100644
index f557fb804c..0000000000
--- a/mibs/.index
+++ /dev/null
@@ -1,49 +0,0 @@
-NETSCREEN-CHASSIS-MIB NS-CHASSIS.mib
-NETSCREEN-QOS-MIB NS-QOS.mib
-NETSCREEN-INTERFACE-MIB NS-INTERFACE.mib
-NETSCREEN-VR-BGP4-MIB NS-VR-BGP4.mib
-NETSCREEN-RIPv2-MIB NS-RIP.mib
-NETSCREEN-VR-MIB NS-VR.mib
-NETSCREEN-SET-GEN-MIB NS-SET-GEN.mib
-NETSCREEN-SET-DHCP-MIB NS-SET-DHCP.mib
-NETSCREEN-NAT-MIB NS-NAT.mib
-NETSCREEN-VPN-MON-MIB NS-VPN-MON.mib
-NETSCREEN-SET-SYSTIME-MIB NS-SET-SYSTIME.mib
-NETSCREEN-VPN-GATEWAY-MIB NS-VPN-GW.mib
-NETSCREEN-TRAP-MIB NS-TRAPS.mib
-NETSCREEN-VPN-USER-MIB NS-VPN-USR.mib
-NETSCREEN-SET-SNMP-MIB NS-SET-SNMP.mib
-NETSCREEN-VPN-PHASETWO-MIB NS-VPN-PH2.mib
-NETSCREEN-VSYS-MIB NS-VSYS.mib
-NETSCREEN-VPN-MON-SA-COUNT-MIB NS-VPN-MON-SA.mib
-NETSCREEN-VPN-L2TP-MIB NS-VPN-L2TP.mib
-NETSCREEN-SET-GLB-MIB NS-SET-GLB.mib
-NETSCREEN-SET-URL-FILTER-MIB NS-SET-URL-FILTER.mib
-NETSCREEN-VR-OSPF-MIB NS-VR-OSPF.mib
-NETSCREEN-SET-DNS-MIB NS-SET-DNS.mib
-NETSCREEN-IDS-MIB NS-IDS.mib
-NETSCREEN-SET-ADMIN-USR-MIB NS-SET-ADMIN-USR.mib
-NETSCREEN-SET-LOG-MIB NS-SET-LOG.mib
-NETSCREEN-POLICY-MIB NS-POLICY.mib
-NETSCREEN-SMI NS-SMI.mib
-NETSCREEN-IPPOOL-MIB NS-VPN-IPPOOL.mib
-NETSCREEN-NSRP-MIB NS-NSRP.mib
-NETSCREEN-VR-RIPv2-MIB NS-VR-RIP.mib
-NETSCREEN-IP-ARP-MIB NS-IP-ARP.mib
-NETSCREEN-VPN-PHASEONE-MIB NS-VPN-PH1.mib
-NETSCREEN-SCHEDULE-MIB NS-SCHEDULE.mib
-NETSCREEN-PRODUCTS-MIB NS-PRODUCTS.mib
-NETSCREEN-SET-EMAIL-MIB NS-SET-EMAIL.mib
-NETSCREEN-OSPF-TRAP-MIB NS-OSPF-TRAP.mib
-NETSCREEN-SERVICE-MIB NS-SERVICE.mib
-NETSCREEN-ADDR-MIB NS-ADDR.mib
-NETSCREEN-OSPF-MIB NS-OSPF.mib
-NETSCREEN-ZONE-MIB NS-ZONE.mib
-NETSCREEN-RESOURCE-MIB NS-RES.mib
-NETSCREEN-VPN-IAS-MIB NS-VPN-IAS.mib
-NETSCREEN-VPN-MANUAL-MIB NS-VPN-MANUAL.mib
-NETSCREEN-VPN-IKE-MIB NS-VPN-IKE.mib
-NETSCREEN-BGP4-MIB NS-BGP4.mib
-NETSCREEN-SET-WEB-MIB NS-SET-WEB.mib
-NETSCREEN-SET-AUTH-MIB NS-SET-AUTH.mib
-NETSCREEN-CERTIFICATE-MIB NS-VPN-CERT.mib
diff --git a/poll-device.php b/poll-device.php
index e08252b852..2110fdf6ae 100755
--- a/poll-device.php
+++ b/poll-device.php
@@ -29,7 +29,7 @@ while ($device = mysql_fetch_array($device_query)) {
echo("Polling " . $device['hostname'] . " ( device_id ".$device['device_id']." )\n\n");
unset($update); unset($update_query); unset($seperator); unset($version); unset($uptime); unset($features);
- unset($location); unset($hardware); unset($sysDescr); unset($sysContact);
+ unset($sysLocation); unset($hardware); unset($sysDescr); unset($sysContact);
$pingable = isPingable($device['hostname']);
@@ -46,6 +46,8 @@ while ($device = mysql_fetch_array($device_query)) {
if($snmpable) { echo("SNMP : yes :)\n"); } else { echo("SNMP : no :(\n"); }
}
+ unset($snmpdata);
+
if ($snmpable) {
$status = '1';
@@ -177,7 +179,7 @@ while ($device = mysql_fetch_array($device_query)) {
default:
pollDevice();
}
- $location = str_replace("\"","", $sysLocation);
+ $sysLocation = str_replace("\"","", $sysLocation);
echo("Polling temperatures\n");
include("includes/polling/temperatures.inc.php");
@@ -208,10 +210,10 @@ while ($device = mysql_fetch_array($device_query)) {
mysql_query("INSERT INTO eventlog (host, interface, datetime, message) VALUES ('" . $device['device_id'] . "', NULL, NOW(), 'sysDescr -> $sysDescr')");
}
- if ( $location && $device['location'] != $location ) {
- $update .= $seperator . "`location` = '$location'";
+ if ( $sysLocation && $device['location'] != $sysLocation ) {
+ $update .= $seperator . "`location` = '$sysLocation'";
$seperator = ", ";
- mysql_query("INSERT INTO eventlog (host, interface, datetime, message) VALUES ('" . $device['device_id'] . "', NULL, NOW(), 'Location -> $location')");
+ mysql_query("INSERT INTO eventlog (host, interface, datetime, message) VALUES ('" . $device['device_id'] . "', NULL, NOW(), 'Location -> $sysLocation')");
}
if ( $version && $device['version'] != $version ) {