From db03a0959e9fa427a1863452dd9db6bea867f108 Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Tue, 18 May 2021 15:44:53 -0700 Subject: [PATCH] Windows hashing fix for MeshAssistant. --- agents/MeshCentralAssistant.exe | Bin 1205048 -> 1313080 bytes meshcentral.js | 66 ++++++++++++++++++++------------ 2 files changed, 42 insertions(+), 24 deletions(-) diff --git a/agents/MeshCentralAssistant.exe b/agents/MeshCentralAssistant.exe index c9fbebd8ea137b77218d521b2df33a00b9d50437..fd8e072503e5088be6a127a311f1dda16c6978c8 100644 GIT binary patch delta 77569 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 delta 72639 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 diff --git a/meshcentral.js b/meshcentral.js index 4be84640..5774c687 100644 --- a/meshcentral.js +++ b/meshcentral.js @@ -2401,40 +2401,58 @@ function CreateMeshCentralServer(config, args) { // List of possible mesh agent install scripts var meshToolsList = { 'MeshCentralRouter': { localname: 'MeshCentralRouter.exe', dlname: 'winrouter' }, - 'MeshCentralAssistant': { localname: 'MeshCentralAssistant.exe', dlname: 'winassistant' } + 'MeshCentralAssistant': { localname: 'MeshCentralAssistant.exe', dlname: 'winassistant', winhash: true } //'MeshCentralRouterMacOS': { localname: 'MeshCentralRouter.dmg', dlname: 'MeshCentralRouter.dmg' } }; // Update the list of available mesh agents obj.updateMeshTools = function () { for (var toolname in meshToolsList) { - var toolpath = obj.path.join(__dirname, 'agents', meshToolsList[toolname].localname); - var stream = null; - try { - stream = obj.fs.createReadStream(toolpath); - stream.on('data', function (data) { this.hash.update(data, 'binary'); this.hashx += data.length; }); - stream.on('error', function (data) { - // If there is an error reading this file, make sure this agent is not in the agent table - if (obj.meshToolsBinaries[this.toolname] != null) { delete obj.meshToolsBinaries[this.toolname]; } - }); - stream.on('end', function () { - // Add the agent to the agent table with all information and the hash - obj.meshToolsBinaries[this.toolname] = {}; - obj.meshToolsBinaries[this.toolname].hash = this.hash.digest('hex'); - obj.meshToolsBinaries[this.toolname].hashx = this.hashx; - obj.meshToolsBinaries[this.toolname].path = this.agentpath; - obj.meshToolsBinaries[this.toolname].dlname = this.dlname; + if (meshToolsList[toolname].winhash === true) { + var toolpath = obj.path.join(__dirname, 'agents', meshToolsList[toolname].localname); + var hashStream = obj.crypto.createHash('sha384'); + hashStream.toolname = toolname; + hashStream.toolpath = toolpath; + hashStream.dlname = meshToolsList[toolname].dlname; + hashStream.hashx = 0; + hashStream.on('data', function (data) { + obj.meshToolsBinaries[this.toolname] = { hash: data.toString('hex'), hashx: this.hashx, path: this.toolpath, dlname: this.dlname, url: this.url }; obj.meshToolsBinaries[this.toolname].url = 'https://' + obj.certificates.CommonName + ':' + ((typeof obj.args.aliasport == 'number') ? obj.args.aliasport : obj.args.port) + '/meshagents?meshaction=' + this.dlname; var stats = null; - try { stats = obj.fs.statSync(this.agentpath); } catch (e) { } + try { stats = obj.fs.statSync(this.toolpath); } catch (e) { } if (stats != null) { obj.meshToolsBinaries[this.toolname].size = stats.size; } }); - stream.toolname = toolname; - stream.agentpath = toolpath; - stream.dlname = meshToolsList[toolname].dlname; - stream.hash = obj.crypto.createHash('sha384', stream); - stream.hashx = 0; - } catch (e) { } + var options = { sourcePath: toolpath, targetStream: hashStream }; + obj.exeHandler.hashExecutableFile(options); + } else { + var toolpath = obj.path.join(__dirname, 'agents', meshToolsList[toolname].localname); + var stream = null; + try { + stream = obj.fs.createReadStream(toolpath); + stream.on('data', function (data) { this.hash.update(data, 'binary'); this.hashx += data.length; }); + stream.on('error', function (data) { + // If there is an error reading this file, make sure this agent is not in the agent table + if (obj.meshToolsBinaries[this.toolname] != null) { delete obj.meshToolsBinaries[this.toolname]; } + }); + stream.on('end', function () { + // Add the agent to the agent table with all information and the hash + obj.meshToolsBinaries[this.toolname] = {}; + obj.meshToolsBinaries[this.toolname].hash = this.hash.digest('hex'); + obj.meshToolsBinaries[this.toolname].hashx = this.hashx; + obj.meshToolsBinaries[this.toolname].path = this.agentpath; + obj.meshToolsBinaries[this.toolname].dlname = this.dlname; + obj.meshToolsBinaries[this.toolname].url = 'https://' + obj.certificates.CommonName + ':' + ((typeof obj.args.aliasport == 'number') ? obj.args.aliasport : obj.args.port) + '/meshagents?meshaction=' + this.dlname; + var stats = null; + try { stats = obj.fs.statSync(this.agentpath); } catch (e) { } + if (stats != null) { obj.meshToolsBinaries[this.toolname].size = stats.size; } + }); + stream.toolname = toolname; + stream.agentpath = toolpath; + stream.dlname = meshToolsList[toolname].dlname; + stream.hash = obj.crypto.createHash('sha384', stream); + stream.hashx = 0; + } catch (e) { } + } } };