Forráskód Böngészése

fixed snmp walk lock for devices

Roman Dmitriev 2 éve
szülő
commit
0f2a2e4356

+ 7 - 1
html/admin/devices/mactable.php

@@ -16,6 +16,11 @@ $ports_info = get_records_sql($db_link, $sSQL);
 $ports_by_snmp_index=NULL;
 foreach ($ports_info as &$row) { $ports_by_snmp_index[$row["snmp_index"]]=$row["port"]; }
 
+if (!apply_device_lock($db_link,$id)) {
+    header("Location: /admin/devices/editdevice.php?id=".$id."&status=locked");
+    exit;
+}
+
 ?>
 
 <div id="contsubmenu">
@@ -59,5 +64,6 @@ if ($snmp_ok) {
 	print "No SNMP access!";
 	}
 
-require_once ($_SERVER['DOCUMENT_ROOT']."/inc/footer.php");
+unset_lock_discovery($db_link,$id);
+require_once($_SERVER['DOCUMENT_ROOT'] . "/inc/footer.small.php");
 ?>

+ 4 - 3
html/admin/devices/portmactable.php

@@ -70,8 +70,8 @@ if ($snmp_ok and $port_info['snmp_index'] > 0) {
             }
         }
     print "</table>\n";
-    } else { print "No SNMP access!"; }
-    unset_lock_discovery($db_link,$device_id);
+    } else { print "No SNMP access!"; }  
+unset_lock_discovery($db_link,$device_id);
 ?>
 <table class="data">
 <tr>
@@ -103,5 +103,6 @@ while (list ($fmac, $f_last) = mysqli_fetch_array($maclist)) {
     print "<td class=\"data\">$f_last</td>\n";
     print "</tr>";
 }
-require_once ($_SERVER['DOCUMENT_ROOT']."/inc/footer.php");
+
+require_once($_SERVER['DOCUMENT_ROOT'] . "/inc/footer.small.php");
 ?>

+ 6 - 0
html/admin/devices/snmpwalk.php

@@ -10,6 +10,11 @@ require_once ($_SERVER['DOCUMENT_ROOT']."/inc/header.php");
 print_device_submenu($page_url);
 print_editdevice_submenu($page_url,$id,$device['device_type'],$user_info['login']);
 
+if (!apply_device_lock($db_link,$id)) {
+    header("Location: /admin/devices/editdevice.php?id=".$id."&status=locked");
+    exit;
+}
+
 ?>
 
 <div id="contsubmenu">
@@ -35,5 +40,6 @@ if ($snmp_ok) {
     print "</table>\n";
     } else { print "No SNMP access!"; }
 
+unset_lock_discovery($db_link,$id);
 require_once ($_SERVER['DOCUMENT_ROOT']."/inc/footer.php");
 ?>

+ 1 - 1
html/inc/common.php

@@ -2207,7 +2207,7 @@ function is_up($ip)
 function apply_device_lock ($db, $device_id, $iteration =0) {
     $iteration++;
     if ($iteration>2) { return false; }
-    $dev = get_record_sql($db,'SELECT discovery_locked,UNIX_TIMESTAMP(locked_timestamp) as u_locked_timestamp FROM devices WHERE id='.$device_id);
+    $dev = get_record_sql($db,'SELECT discovery_locked,UNIX_TIMESTAMP(locked_timestamp) as u_locked_timestamp FROM devices WHERE id='.$device_id.' AND discovery_locked > 0');
     if (empty($dev)) { return true; }
     if ($dev['discovery_locked'] ===0) { 
         LOG_DEBUG($db,"Snmp discovery lock not found. Set and discovery.");