From f1e59e6dd6b5f29d30c2a8d2351728273a947fa9 Mon Sep 17 00:00:00 2001 From: sausix Date: Thu, 26 Nov 2020 10:34:14 +0100 Subject: [PATCH 1/3] Bugfix for #168: basedir restriction and handling speed=-1 result Signed-off-by: Adrian Sausenthaler --- lib/OperatingSystems/DefaultOs.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/OperatingSystems/DefaultOs.php b/lib/OperatingSystems/DefaultOs.php index 0465357a..4b0bee84 100644 --- a/lib/OperatingSystems/DefaultOs.php +++ b/lib/OperatingSystems/DefaultOs.php @@ -143,19 +143,19 @@ public function getNetworkInfo() { * @return string */ public function getNetworkInterfaces() { - $interfaces = glob('/sys/class/net/*'); + $interfaces = array_diff(scandir("/sys/class/net"), array('.', '..')); // remove dot directories $result = []; foreach ($interfaces as $interface) { $iface = []; - $iface['interface'] = basename($interface); + $iface['interface'] = $interface; $iface['mac'] = shell_exec('ip addr show dev ' . $iface['interface'] . ' | grep "link/ether " | cut -d \' \' -f 6 | cut -f 1 -d \'/\''); $iface['ipv4'] = shell_exec('ip addr show dev ' . $iface['interface'] . ' | grep "inet " | cut -d \' \' -f 6 | cut -f 1 -d \'/\''); $iface['ipv6'] = shell_exec('ip -o -6 addr show ' . $iface['interface'] . ' | sed -e \'s/^.*inet6 \([^ ]\+\).*/\1/\''); if ($iface['interface'] !== 'lo') { $iface['status'] = shell_exec('cat /sys/class/net/' . $iface['interface'] . '/operstate'); $iface['speed'] = shell_exec('cat /sys/class/net/' . $iface['interface'] . '/speed'); - if ($iface['speed'] !== '') { + if ($iface['speed'] !== '' and substr($iface['speed'], 0, 1) != "-") { $iface['speed'] = $iface['speed'] . 'Mbps'; } else { $iface['speed'] = 'unknown'; From 0f9d5c36f1dd9016f4b88978848f9ad347782d21 Mon Sep 17 00:00:00 2001 From: Adrian Sausenthaler Date: Thu, 26 Nov 2020 11:08:17 +0100 Subject: [PATCH 2/3] php-cs check fix Signed-off-by: Adrian Sausenthaler --- lib/OperatingSystems/DefaultOs.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/OperatingSystems/DefaultOs.php b/lib/OperatingSystems/DefaultOs.php index 4b0bee84..6d82bb25 100644 --- a/lib/OperatingSystems/DefaultOs.php +++ b/lib/OperatingSystems/DefaultOs.php @@ -143,7 +143,7 @@ public function getNetworkInfo() { * @return string */ public function getNetworkInterfaces() { - $interfaces = array_diff(scandir("/sys/class/net"), array('.', '..')); // remove dot directories + $interfaces = array_diff(scandir("/sys/class/net"), ['.', '..']); // remove dot directories $result = []; foreach ($interfaces as $interface) { From 4ff3e3d5b4db7e06e5d3a42407d1ff3e869e6514 Mon Sep 17 00:00:00 2001 From: sausix Date: Wed, 2 Dec 2020 19:27:22 +0100 Subject: [PATCH 3/3] Applied code change suggestion Signed-off-by: Adrian Sausenthaler --- lib/OperatingSystems/DefaultOs.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/OperatingSystems/DefaultOs.php b/lib/OperatingSystems/DefaultOs.php index 6d82bb25..f8fa19aa 100644 --- a/lib/OperatingSystems/DefaultOs.php +++ b/lib/OperatingSystems/DefaultOs.php @@ -143,7 +143,7 @@ public function getNetworkInfo() { * @return string */ public function getNetworkInterfaces() { - $interfaces = array_diff(scandir("/sys/class/net"), ['.', '..']); // remove dot directories + $interfaces = array_diff(scandir('/sys/class/net'), ['.', '..']); // remove dot directories $result = []; foreach ($interfaces as $interface) { @@ -155,7 +155,7 @@ public function getNetworkInterfaces() { if ($iface['interface'] !== 'lo') { $iface['status'] = shell_exec('cat /sys/class/net/' . $iface['interface'] . '/operstate'); $iface['speed'] = shell_exec('cat /sys/class/net/' . $iface['interface'] . '/speed'); - if ($iface['speed'] !== '' and substr($iface['speed'], 0, 1) != "-") { + if ($iface['speed'] !== '' && trim($iface['speed']) !== '-1') { $iface['speed'] = $iface['speed'] . 'Mbps'; } else { $iface['speed'] = 'unknown';