diff --git a/includes/discovery/os/ibm-amm.inc.php b/includes/discovery/os/ibm-amm.inc.php index 6909fe59c4..0e796cc805 100644 --- a/includes/discovery/os/ibm-amm.inc.php +++ b/includes/discovery/os/ibm-amm.inc.php @@ -10,8 +10,6 @@ * the source code distribution for details. */ -if (!$os) { - if (stristr($sysDescr, 'BladeCenter Advanced Management Module')) { - $os = 'ibm-amm'; - } +if (str_contains($sysDescr, 'BladeCenter Advanced Management Module')) { + $os = 'ibm-amm'; } diff --git a/includes/discovery/os/ibm-imm.inc.php b/includes/discovery/os/ibm-imm.inc.php index 22874412ab..7a4bdff599 100644 --- a/includes/discovery/os/ibm-imm.inc.php +++ b/includes/discovery/os/ibm-imm.inc.php @@ -10,8 +10,6 @@ * the source code distribution for details. */ -if (!$os) { - if (strstr($sysObjectId, '1.3.6.1.4.1.2.3.51.3')) { - $os = 'ibm-imm'; - } +if (starts_with($sysObjectId, '1.3.6.1.4.1.2.3.51.3')) { + $os = 'ibm-imm'; } diff --git a/includes/discovery/os/ibmnos.inc.php b/includes/discovery/os/ibmnos.inc.php index 9f72ae692b..a6186914a0 100644 --- a/includes/discovery/os/ibmnos.inc.php +++ b/includes/discovery/os/ibmnos.inc.php @@ -10,8 +10,6 @@ * the source code distribution for details. */ -if (!$os) { - if (stristr($sysDescr, 'IBM Networking Operating System') || stristr($sysDescr, 'IBM Flex System Fabric') || stristr($sysDescr, 'IBM Networking OS')) { - $os = 'ibmnos'; - } +if (str_contains($sysDescr, array('IBM Networking Operating System', 'IBM Flex System Fabric', 'IBM Networking OS'))) { + $os = 'ibmnos'; } diff --git a/includes/discovery/os/ibmtl.inc.php b/includes/discovery/os/ibmtl.inc.php index 4c53b776b5..57e6d37689 100644 --- a/includes/discovery/os/ibmtl.inc.php +++ b/includes/discovery/os/ibmtl.inc.php @@ -10,9 +10,8 @@ * the source code distribution for details. */ -if (!$os) { - $ibmtl_snmpget = snmp_get($device, 'SML-MIB::product-Name.0', '-Oqv', ''); - if (stristr($ibmtl_snmpget, 'IBM System Storage TS3500 Tape Library')) { - $os = 'ibmtl'; - } +$ibmtl_snmpget = snmp_get($device, 'SML-MIB::product-Name.0', '-Oqv', ''); + +if (str_contains($ibmtl_snmpget, 'IBM System Storage TS3500 Tape Library')) { + $os = 'ibmtl'; } diff --git a/includes/discovery/os/ies.inc.php b/includes/discovery/os/ies.inc.php index 1079ba8d8f..d8787dd34e 100644 --- a/includes/discovery/os/ies.inc.php +++ b/includes/discovery/os/ies.inc.php @@ -1,7 +1,5 @@ "CISCO-AAA-SESSION-MIB", - ); - register_mibs($device, $extra_mibs, "includes/discovery/os/ios.inc.php"); - } +if (str_contains($sysDescr, array('Cisco Internetwork Operating System Software', 'IOS (tm)', 'Cisco IOS Software', 'Global Site Selector'))) { + $os = 'ios'; } -// Fallback case -// If we don't have an OS yet and if the object is in Cisco tree it's most likely an IOS device -// if (empty($os) and substr($sysObjectId, 0, 17) == ".1.3.6.1.4.1.9.1.") { $os = "ios"; } +if (str_contains($sysDescr, 'IOS-XE')) { + $os = 'iosxe'; +} + +if (str_contains($sysDescr, 'IOS XR')) { + $os = 'iosxr'; +} + +if (!empty($os)) { + $extra_mibs = array( + "ciscoAAASessionMIB" => "CISCO-AAA-SESSION-MIB", + ); + register_mibs($device, $extra_mibs, "includes/discovery/os/ios.inc.php"); +} diff --git a/includes/discovery/os/ipoman.inc.php b/includes/discovery/os/ipoman.inc.php index 97c753b911..113f2f17f6 100644 --- a/includes/discovery/os/ipoman.inc.php +++ b/includes/discovery/os/ipoman.inc.php @@ -1,7 +1,5 @@