From ae5528549311e649908c0d5c5091dc27978c9a6e Mon Sep 17 00:00:00 2001 From: Simon Smith Date: Sun, 8 Oct 2023 14:27:39 +0100 Subject: [PATCH] ignore if client sent new identifiers (#5403) --- agents/meshcore.js | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/agents/meshcore.js b/agents/meshcore.js index cbf8c206..2cd6d020 100644 --- a/agents/meshcore.js +++ b/agents/meshcore.js @@ -1825,26 +1825,34 @@ function getSystemInformation(func) { if (results.hardware.windows.osinfo) { delete results.hardware.windows.osinfo.Node; } if (results.hardware.windows.partitions) { for (var i in results.hardware.windows.partitions) { delete results.hardware.windows.partitions[i].Node; } } } catch (ex) { } - try { - var values = require('win-wmi').query('ROOT\\CIMV2', "SELECT * FROM Win32_Bios", ['SerialNumber']); - results.hardware.identifiers['bios_serial'] = values[0]['SerialNumber']; - } catch (ex) { } - try { - results.hardware.identifiers['bios_mode'] = 'Legacy'; - for (var i in results.hardware.windows.partitions) { - if (results.hardware.windows.partitions[i].Description=='GPT: System') { - results.hardware.identifiers['bios_mode'] = 'UEFI'; + if (!results.hardware.identifiers['bios_serial']) { + try { + var values = require('win-wmi').query('ROOT\\CIMV2', "SELECT * FROM Win32_Bios", ['SerialNumber']); + results.hardware.identifiers['bios_serial'] = values[0]['SerialNumber']; + } catch (ex) { } + } + if (!results.hardware.identifiers['bios_mode']) { + try { + results.hardware.identifiers['bios_mode'] = 'Legacy'; + for (var i in results.hardware.windows.partitions) { + if (results.hardware.windows.partitions[i].Description=='GPT: System') { + results.hardware.identifiers['bios_mode'] = 'UEFI'; + } } - } - } catch (ex) { results.hardware.identifiers['bios_mode'] = 'Legacy'; } + } catch (ex) { results.hardware.identifiers['bios_mode'] = 'Legacy'; } + } } if(results.hardware && results.hardware.linux) { - if (require('fs').statSync('/sys/class/dmi/id/product_serial').isFile()){ - results.hardware.identifiers['bios_serial'] = require('fs').readFileSync('/sys/class/dmi/id/product_serial').toString().trim(); + if (!results.hardware.identifiers['bios_serial']) { + if (require('fs').statSync('/sys/class/dmi/id/product_serial').isFile()){ + results.hardware.identifiers['bios_serial'] = require('fs').readFileSync('/sys/class/dmi/id/product_serial').toString().trim(); + } + } + if (!results.hardware.identifiers['bios_mode']) { + try { + results.hardware.identifiers['bios_mode'] = (require('fs').statSync('/sys/firmware/efi').isDirectory() ? 'UEFI': 'Legacy'); + } catch (ex) { results.hardware.identifiers['bios_mode'] = 'Legacy'; } } - try { - results.hardware.identifiers['bios_mode'] = (require('fs').statSync('/sys/firmware/efi').isDirectory() ? 'UEFI': 'Legacy'); - } catch (ex) { results.hardware.identifiers['bios_mode'] = 'Legacy'; } } results.hardware.agentvers = process.versions; replaceSpacesWithUnderscoresRec(results);