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);