ignore if client sent new identifiers (#5403)
Simon Smith committed
Oct 8, 2023 at 14:27 UTC
ae5528549311e649908c0d5c5091dc27978c9a6e
1 file changed
+24
-16
agents/meshcore.js
+24
-16
@@ -1825,26 +1825,34 @@ function getSystemInformation(func) {
1825
if (results.hardware.windows.osinfo) { delete results.hardware.windows.osinfo.Node; }
1826
if (results.hardware.windows.partitions) { for (var i in results.hardware.windows.partitions) { delete results.hardware.windows.partitions[i].Node; } }
1827
} catch (ex) { }
1828
- try {
1829
- var values = require('win-wmi').query('ROOT\\CIMV2', "SELECT * FROM Win32_Bios", ['SerialNumber']);
1830
- results.hardware.identifiers['bios_serial'] = values[0]['SerialNumber'];
1831
- } catch (ex) { }
1832
- try {
1833
- results.hardware.identifiers['bios_mode'] = 'Legacy';
1834
- for (var i in results.hardware.windows.partitions) {
1835
- if (results.hardware.windows.partitions[i].Description=='GPT: System') {
1836
- results.hardware.identifiers['bios_mode'] = 'UEFI';
1828
+ if (!results.hardware.identifiers['bios_serial']) {
1829
+ try {
1830
+ var values = require('win-wmi').query('ROOT\\CIMV2', "SELECT * FROM Win32_Bios", ['SerialNumber']);
1831
+ results.hardware.identifiers['bios_serial'] = values[0]['SerialNumber'];
1832
+ } catch (ex) { }
1833
+ }
1834
+ if (!results.hardware.identifiers['bios_mode']) {
1835
+ try {
1836
+ results.hardware.identifiers['bios_mode'] = 'Legacy';
1837
+ for (var i in results.hardware.windows.partitions) {
1838
+ if (results.hardware.windows.partitions[i].Description=='GPT: System') {
1839
+ results.hardware.identifiers['bios_mode'] = 'UEFI';
1840
+ }
1841
}
1838
- }
1839
- } catch (ex) { results.hardware.identifiers['bios_mode'] = 'Legacy'; }
1842
+ } catch (ex) { results.hardware.identifiers['bios_mode'] = 'Legacy'; }
1843
+ }
1844
}
1845
if(results.hardware && results.hardware.linux) {
1842
- if (require('fs').statSync('/sys/class/dmi/id/product_serial').isFile()){
1843
- results.hardware.identifiers['bios_serial'] = require('fs').readFileSync('/sys/class/dmi/id/product_serial').toString().trim();
1846
+ if (!results.hardware.identifiers['bios_serial']) {
1847
+ if (require('fs').statSync('/sys/class/dmi/id/product_serial').isFile()){
1848
+ results.hardware.identifiers['bios_serial'] = require('fs').readFileSync('/sys/class/dmi/id/product_serial').toString().trim();
1849
+ }
1850
+ }
1851
+ if (!results.hardware.identifiers['bios_mode']) {
1852
+ try {
1853
+ results.hardware.identifiers['bios_mode'] = (require('fs').statSync('/sys/firmware/efi').isDirectory() ? 'UEFI': 'Legacy');
1854
+ } catch (ex) { results.hardware.identifiers['bios_mode'] = 'Legacy'; }
1855
}
1845
- try {
1846
- results.hardware.identifiers['bios_mode'] = (require('fs').statSync('/sys/firmware/efi').isDirectory() ? 'UEFI': 'Legacy');
1847
- } catch (ex) { results.hardware.identifiers['bios_mode'] = 'Legacy'; }
1856
}
1857
results.hardware.agentvers = process.versions;
1858
replaceSpacesWithUnderscoresRec(results);