From ab29261f0c7c0578fd50ab491056b7f7db025671 Mon Sep 17 00:00:00 2001 From: Neil Lathwood Date: Sun, 18 Dec 2016 21:17:26 +0000 Subject: [PATCH] newdevice: Added additional support for Synology dsm (#5145) --- includes/discovery/os/dsm.inc.php | 4 ++++ tests/OSDiscoveryTest.php | 1 + tests/mocks/mock.snmp.inc.php | 3 +++ tests/snmpsim/dsm-ds916.snmprec | 4 ++++ 4 files changed, 12 insertions(+) create mode 100644 tests/snmpsim/dsm-ds916.snmprec diff --git a/includes/discovery/os/dsm.inc.php b/includes/discovery/os/dsm.inc.php index 396a0cd5bd..d32041eff6 100644 --- a/includes/discovery/os/dsm.inc.php +++ b/includes/discovery/os/dsm.inc.php @@ -7,6 +7,10 @@ if (starts_with($sysDescr, 'Linux')) { 'syno_dyn_module', ); + if (snmp_get($device, 'systemStatus.0', '-Osqnv', 'SYNOLOGY-SYSTEM-MIB', 'synology')) { + $os = 'dsm'; + } + if (str_contains(snmp_get($device, 'HOST-RESOURCES-MIB::hrSystemInitialLoadParameters.0', '-Osqnv'), $init_params)) { $os = 'dsm'; } diff --git a/tests/OSDiscoveryTest.php b/tests/OSDiscoveryTest.php index 618b8c4d87..eb6a156685 100644 --- a/tests/OSDiscoveryTest.php +++ b/tests/OSDiscoveryTest.php @@ -460,6 +460,7 @@ class DiscoveryTest extends \PHPUnit_Framework_TestCase { $this->checkOS('dsm'); $this->checkOS('dsm', 'dsm-ds214'); + $this->checkOS('dsm', 'dsm-ds916'); } public function testEatonpdu() diff --git a/tests/mocks/mock.snmp.inc.php b/tests/mocks/mock.snmp.inc.php index f52536ffe5..1079d5039a 100644 --- a/tests/mocks/mock.snmp.inc.php +++ b/tests/mocks/mock.snmp.inc.php @@ -127,6 +127,9 @@ function snmp_translate_number($oid, $mib = null, $mibdir = null) if ($oid == 'GAMATRONIC-MIB::psUnitManufacture.0') { return '1.3.6.1.4.1.6050.1.1.2.0'; } + if ($oid === 'SYNOLOGY-SYSTEM-MIB::systemStatus.0') { + return '1.3.6.1.4.1.6574.1.1.0'; + } // end optimizations if (preg_match('/^[\.\d]*$/', $oid)) { diff --git a/tests/snmpsim/dsm-ds916.snmprec b/tests/snmpsim/dsm-ds916.snmprec new file mode 100644 index 0000000000..340ac0be81 --- /dev/null +++ b/tests/snmpsim/dsm-ds916.snmprec @@ -0,0 +1,4 @@ +1.3.6.1.2.1.1.1.0|4|Linux Syno 3.10.77 #8451 SMP Wed Nov 9 13:45:59 CST 2016 x86_6 +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.8072.3.2.10 +1.3.6.1.2.1.25.1.4.0|4|root=/dev/md0 ihd_num=4 netif_num=2 HddHotplug=1 SataPortMap=23 sata_remap=0>2:1>3:2>0:3>1 acpi_enforce_resources=lax libata.for +1.3.6.1.4.1.6574.1.1.0|4|1