From 8807ae3b3cd17809609b870311a5004fa195af50 Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Wed, 23 Oct 2019 13:12:30 -0700 Subject: [PATCH 1/8] Fixed how the Windows MeshAgent's are downloaded from the server. --- exeHandler.js | 6 ++++-- meshcentral.js | 28 +++++++++++++++++++++++++++- package.json | 2 +- webserver.js | 2 +- 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/exeHandler.js b/exeHandler.js index 478c7434..5721f210 100644 --- a/exeHandler.js +++ b/exeHandler.js @@ -24,6 +24,7 @@ limitations under the License. const exeJavaScriptGuid = 'B996015880544A19B7F7E9BE44914C18'; const exeMeshPolicyGuid = 'B996015880544A19B7F7E9BE44914C19'; +const exeNullPolicyGuid = 'B996015880544A19B7F7E9BE44914C20'; // Changes a Windows Executable to add JavaScript inside of it. @@ -76,6 +77,7 @@ module.exports.streamExeWithJavaScript = function (options) { // sourceFileName: 'pathToBinary', // destinationStream: 'outputStream' // msh: 'mshContent', +// randomPolicy: true, // Set is the MSH contains random data // peinfo {} // Optional, if PE header already parsed place it here. // } // @@ -100,7 +102,7 @@ module.exports.streamExeWithMeshPolicy = function (options) { var sz = Buffer.alloc(4); sz.writeUInt32BE(this.options.msh.length, 0); this.options.destinationStream.write(sz); // Length in small endian - this.options.destinationStream.end(Buffer.from(exeMeshPolicyGuid, 'hex')); // Guid + this.options.destinationStream.end(Buffer.from((this.options.randomPolicy === true) ? exeNullPolicyGuid : exeMeshPolicyGuid, 'hex')); // Guid }); // Pipe the entire source binary without ending the stream. options.destinationStream.sourceStream.pipe(options.destinationStream, { end: false }); @@ -140,7 +142,7 @@ module.exports.streamExeWithMeshPolicy = function (options) { var sz = Buffer.alloc(4); sz.writeUInt32BE(this.options.msh.length, 0); this.options.destinationStream.write(sz); // MSH Length, small-endian - this.options.destinationStream.end(Buffer.from(exeMeshPolicyGuid, 'hex')); // MSH GUID + this.options.destinationStream.end(Buffer.from((this.options.randomPolicy === true) ? exeNullPolicyGuid : exeMeshPolicyGuid, 'hex')); // Guid }); source3.pipe(this.options.destinationStream, { end: false }); this.options.sourceStream = source3; diff --git a/meshcentral.js b/meshcentral.js index c961da22..8aa67245 100644 --- a/meshcentral.js +++ b/meshcentral.js @@ -1626,12 +1626,38 @@ function CreateMeshCentralServer(config, args) { obj.meshAgentBinaries[archid].path = agentpath; obj.meshAgentBinaries[archid].url = ((obj.args.notls == true) ? 'http://' : 'https://') + obj.certificates.CommonName + ':' + ((typeof obj.args.aliasport == 'number') ? obj.args.aliasport : obj.args.port) + '/meshagents?id=' + archid; obj.meshAgentBinaries[archid].size = stats.size; - if (obj.args.agentsinram) { obj.meshAgentBinaries[archid].data = obj.fs.readFileSync(agentpath); } + // If this is a windows binary, pull binary information if (obj.meshAgentsArchitectureNumbers[archid].platform == 'win32') { try { obj.meshAgentBinaries[archid].pe = obj.exeHandler.parseWindowsExecutable(agentpath); } catch (e) { } } + // If agents must be stored in RAM or if this is a Windows 32/64 agent, load the agent in RAM. + if ((obj.args.agentsinram) || (archid == 3) || (archid == 4)) { + if ((archid == 3) || (archid == 4)) { + // Load the agent with a random msh added to it. + var outStream = new require('stream').Duplex(); + outStream.meshAgentBinary = obj.meshAgentBinaries[archid]; + outStream.meshAgentBinary.randomMsh = Buffer.from(obj.crypto.randomBytes(64), 'binary').toString('base64'); + outStream.bufferList = []; + outStream._write = function (chunk, encoding, callback) { this.bufferList.push(chunk); if (callback) callback(); }; // Append the chuck. + outStream._read = function (size) { }; // Do nothing, this is not going to be called. + outStream.on('finish', function () { this.meshAgentBinary.data = Buffer.concat(this.bufferList); this.meshAgentBinary.size = this.meshAgentBinary.data.length; delete this.bufferList; }) // Merge all chunks + obj.exeHandler.streamExeWithMeshPolicy( + { + platform: 'win32', + sourceFileName: agentpath, + destinationStream: outStream, + randomPolicy: true, // Indicates that the msh policy is random data. + msh: outStream.meshAgentBinary.randomMsh, + peinfo: obj.meshAgentBinaries[archid].pe + }); + } else { + // Load the agent as-is + obj.meshAgentBinaries[archid].data = obj.fs.readFileSync(agentpath); + } + } + // Hash the binary var hashStream = obj.crypto.createHash('sha384'); hashStream.archid = archid; diff --git a/package.json b/package.json index 61210f73..7e32f108 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "meshcentral", - "version": "0.4.2-z", + "version": "0.4.3-a", "keywords": [ "Remote Management", "Intel AMT", diff --git a/webserver.js b/webserver.js index 129f25ce..d76bb172 100644 --- a/webserver.js +++ b/webserver.js @@ -2854,7 +2854,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { if (argentInfo == null) { res.sendStatus(404); return; } if ((req.query.meshid == null) || (argentInfo.platform != 'win32')) { res.set({ 'Cache-Control': 'no-cache, no-store, must-revalidate', 'Pragma': 'no-cache', 'Expires': '0', 'Content-Type': 'application/octet-stream', 'Content-Disposition': 'attachment; filename="' + argentInfo.rname + '"' }); - res.sendFile(argentInfo.path); + if (argentInfo.data == null) { res.sendFile(argentInfo.path); } else { res.end(argentInfo.data); } } else { // We are going to embed the .msh file into the Windows executable (signed or not). // First, fetch the mesh object to build the .msh file From 42fb1478935e244bb2f64484261f9a23b47141ae Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Thu, 24 Oct 2019 10:45:58 -0700 Subject: [PATCH 2/8] Changed minification strategy, added minify support to multi-language. --- MeshCentralServer.njsproj | 2 + package.json | 2 + public/compress.bat | 20 +- public/player-min.htm | 1 + public/translations/player-min_fr.htm | 1 + public/translations/player.min_fr.htm | 1 + public/translations/player_fr.htm-min | 1 + public/translations/player_fr.htm-min2 | 1 + public/translations/player_fr.min.htm | 1 + public/translations/player_fr_fr.min.htm | 1 + translate/translate.js | 109 +- views/agentinvite-min.handlebars | 1 + views/default-min.handlebars | 8694 ++--------------- views/default-mobile-min.handlebars | 2 +- views/default-mobile.handlebars | 4 +- views/download-min.handlebars | 1 + views/error404-min.handlebars | 1 + views/error404-mobile-min.handlebars | 1 + views/login-min.handlebars | 2 +- views/login-mobile-min.handlebars | 2 +- views/message-min.handlebars | 1 + views/messenger-min.handlebars | 2 +- .../agentinvite-min_fr.handlebars | 1 + views/translations/default-min_fr.handlebars | 8339 ++++++++++++++++ .../default-mobile-min_fr.handlebars | 1 + .../translations/default-mobile_fr.handlebars | 6 +- views/translations/download-min_fr.handlebars | 1 + views/translations/error404-min_fr.handlebars | 1 + .../error404-mobile-min_fr.handlebars | 1 + .../error404-mobile_fr.handlebars | 55 + views/translations/login-min_fr.handlebars | 1 + .../login-mobile-min_fr.handlebars | 1 + views/translations/message-min_fr.handlebars | 1 + .../translations/messenger-min_fr.handlebars | 1 + 34 files changed, 9395 insertions(+), 7865 deletions(-) create mode 100644 public/player-min.htm create mode 100644 public/translations/player-min_fr.htm create mode 100644 public/translations/player.min_fr.htm create mode 100644 public/translations/player_fr.htm-min create mode 100644 public/translations/player_fr.htm-min2 create mode 100644 public/translations/player_fr.min.htm create mode 100644 public/translations/player_fr_fr.min.htm create mode 100644 views/agentinvite-min.handlebars create mode 100644 views/download-min.handlebars create mode 100644 views/error404-min.handlebars create mode 100644 views/error404-mobile-min.handlebars create mode 100644 views/message-min.handlebars create mode 100644 views/translations/agentinvite-min_fr.handlebars create mode 100644 views/translations/default-min_fr.handlebars create mode 100644 views/translations/default-mobile-min_fr.handlebars create mode 100644 views/translations/download-min_fr.handlebars create mode 100644 views/translations/error404-min_fr.handlebars create mode 100644 views/translations/error404-mobile-min_fr.handlebars create mode 100644 views/translations/error404-mobile_fr.handlebars create mode 100644 views/translations/login-min_fr.handlebars create mode 100644 views/translations/login-mobile-min_fr.handlebars create mode 100644 views/translations/message-min_fr.handlebars create mode 100644 views/translations/messenger-min_fr.handlebars diff --git a/MeshCentralServer.njsproj b/MeshCentralServer.njsproj index 3f50007e..e72e3d05 100644 --- a/MeshCentralServer.njsproj +++ b/MeshCentralServer.njsproj @@ -271,6 +271,8 @@ + + diff --git a/package.json b/package.json index 7e32f108..ec75e3d0 100644 --- a/package.json +++ b/package.json @@ -37,8 +37,10 @@ "express": "^4.17.0", "express-handlebars": "^3.1.0", "express-ws": "^4.0.0", + "html-minifier": "^4.0.0", "ipcheck": "^0.1.0", "meshcentral": "*", + "minify-js": "0.0.4", "minimist": "^1.2.0", "multiparty": "^4.2.1", "nedb": "^1.8.0", diff --git a/public/compress.bat b/public/compress.bat index b6e55625..fba0f876 100644 --- a/public/compress.bat +++ b/public/compress.bat @@ -1,18 +1,4 @@ @ECHO OFF -CALL:CompressHandlebars default -CALL:CompressHandlebars default-mobile -CALL:CompressHandlebars login -CALL:CompressHandlebars login-mobile -CALL:CompressHandlebars messenger -PAUSE -GOTO:eof - -:CompressHandlebars -ECHO COMPRESS ..\views\%~1.handlebars TO ..\views\%~1-min.handlebars -DEL ..\views\%~1-min.handlebars -COPY ..\views\%~1.handlebars index.html -..\..\WebSiteCompiler\bin\Debug\WebSiteCompiler.exe compress.wcc -c -COPY compress.htm ..\views\%~1-min.handlebars -DEL compress.htm -DEL index.html -GOTO:eof +CD ..\translate +C:\Users\Default.DESKTOP-M9I88C9\AppData\Roaming\nvm\v12.13.0\node translate.js minifyall +C:\Users\Default.DESKTOP-M9I88C9\AppData\Roaming\nvm\v12.13.0\node translate.js translateall diff --git a/public/player-min.htm b/public/player-min.htm new file mode 100644 index 00000000..942a7b6e --- /dev/null +++ b/public/player-min.htm @@ -0,0 +1 @@ +
00:00:00
 
\ No newline at end of file diff --git a/public/translations/player-min_fr.htm b/public/translations/player-min_fr.htm new file mode 100644 index 00000000..92c93734 --- /dev/null +++ b/public/translations/player-min_fr.htm @@ -0,0 +1 @@ +
00:00:00
 
\ No newline at end of file diff --git a/public/translations/player.min_fr.htm b/public/translations/player.min_fr.htm new file mode 100644 index 00000000..02e7e779 --- /dev/null +++ b/public/translations/player.min_fr.htm @@ -0,0 +1 @@ +
00:00:00
 
\ No newline at end of file diff --git a/public/translations/player_fr.htm-min b/public/translations/player_fr.htm-min new file mode 100644 index 00000000..66dc9051 --- /dev/null +++ b/public/translations/player_fr.htm-min @@ -0,0 +1 @@ +undefined \ No newline at end of file diff --git a/public/translations/player_fr.htm-min2 b/public/translations/player_fr.htm-min2 new file mode 100644 index 00000000..02e7e779 --- /dev/null +++ b/public/translations/player_fr.htm-min2 @@ -0,0 +1 @@ +
00:00:00
 
\ No newline at end of file diff --git a/public/translations/player_fr.min.htm b/public/translations/player_fr.min.htm new file mode 100644 index 00000000..02e7e779 --- /dev/null +++ b/public/translations/player_fr.min.htm @@ -0,0 +1 @@ +
00:00:00
 
\ No newline at end of file diff --git a/public/translations/player_fr_fr.min.htm b/public/translations/player_fr_fr.min.htm new file mode 100644 index 00000000..02e7e779 --- /dev/null +++ b/public/translations/player_fr_fr.min.htm @@ -0,0 +1 @@ +
00:00:00
 
\ No newline at end of file diff --git a/translate/translate.js b/translate/translate.js index a994eb13..98f5258d 100644 --- a/translate/translate.js +++ b/translate/translate.js @@ -13,7 +13,8 @@ var translationTable = null; var sourceStrings = null; var jsdom = null; //require('jsdom'); var esprima = null; //require('esprima'); // https://www.npmjs.com/package/esprima -//var { JSDOM } = jsdom; +var minifyLib = 2; // 0 = None, 1 = minify-js, 2 = HTMLMinifier +var minify = null; var meshCentralSourceFiles = [ "../views/agentinvite.handlebars", @@ -21,6 +22,7 @@ var meshCentralSourceFiles = [ "../views/default-mobile.handlebars", "../views/download.handlebars", "../views/error404.handlebars", + "../views/error404-mobile.handlebars", "../views/login.handlebars", "../views/login-mobile.handlebars", "../views/message.handlebars", @@ -32,15 +34,20 @@ var meshCentralSourceFiles = [ // node translate.json EXTRACT bob.json ../meshcentral/views/default.handlebars // node translate.js TRANSLATE fr test2.json ../meshcentral/views/default.handlebars -InstallModules(['jsdom', 'esprima'], start); +var libs = ['jsdom', 'esprima', 'minify-js']; +if (minifyLib == 1) { libs.push('minify-js'); } +if (minifyLib == 2) { libs.push('html-minifier'); } +InstallModules(libs, start); function start() { jsdom = require('jsdom'); esprima = require('esprima'); // https://www.npmjs.com/package/esprima + if (minifyLib == 1) { minify = require('minify-js'); } + if (minifyLib == 2) { minify = require('html-minifier').minify; } var command = null; if (process.argv.length > 2) { command = process.argv[2].toLowerCase(); } - if (['check', 'extract', 'extractall', 'translate', 'translateall'].indexOf(command) == -1) { command = null; } + if (['check', 'extract', 'extractall', 'translate', 'translateall', 'minifyall'].indexOf(command) == -1) { command = null; } console.log('MeshCentral web site translator'); if (command == null) { @@ -61,6 +68,9 @@ function start() { console.log(''); console.log(' TRANSLATEALL'); console.log(' Translate all MeshCentral strings using the languages.json file.'); + console.log(''); + console.log(' MINIFYALL'); + console.log(' Minify the main MeshCentral english web pages.'); process.exit(); return; } @@ -111,6 +121,44 @@ function start() { translate(lang, langFile, sources, false); } + + if (command == 'minifyall') { + for (var i in meshCentralSourceFiles) { + var outname = meshCentralSourceFiles[i]; + var outnamemin = null; + if (outname.endsWith('.handlebars')) { + outnamemin = (outname.substring(0, outname.length - 11) + '-min.handlebars'); + } else if (outname.endsWith('.html')) { + outnamemin = (outname.substring(0, outname.length - 5) + '-min.html'); + } else if (outname.endsWith('.htm')) { + outnamemin = (outname.substring(0, outname.length - 4) + '-min.htm'); + } else { + outnamemin = (outname, outname + '.min'); + } + console.log('Generating ' + outnamemin + '...'); + + // Minify the file + if (minifyLib = 2) { + var minifiedOut = minify(fs.readFileSync(outname).toString(), { + collapseBooleanAttributes: true, + collapseInlineTagWhitespace: true, + collapseWhitespace: true, + minifyCSS: true, + minifyJS: true, + removeComments: true, + removeOptionalTags: true, + removeEmptyAttributes: true, + removeAttributeQuotes: true, + removeRedundantAttributes: true, + removeScriptTypeAttributes: true, + removeTagWhitespace: true, + preserveLineBreaks: false, + useShortDoctype: true + }); + fs.writeFileSync(outnamemin, minifiedOut, { flag: 'w+' }); + } + } + } } function translate(lang, langFile, sources, createSubDir) { @@ -129,7 +177,7 @@ function translate(lang, langFile, sources, createSubDir) { for (var i in langs) { translateEx(i, langFileData, sources, createSubDir); } } - process.exit(); + //process.exit(); return; } @@ -252,14 +300,59 @@ function translateFromHtml(lang, file, createSubDir) { var out = dom.serialize(); var outname = file; + var outnamemin = null; if (createSubDir != null) { outname = path.join(path.dirname(file), createSubDir, path.basename(file)); } - if (outname.endsWith('.handlebars')) { outname = (outname.substring(0, outname.length - 11) + '_' + lang + '.handlebars'); } - else if (outname.endsWith('.html')) { outname = (outname.substring(0, outname.length - 5) + '_' + lang + '.html'); } - else if (outname.endsWith('.htm')) { outname = (outname.substring(0, outname.length - 4) + '_' + lang + '.htm'); } - else { outname = (outname + '_' + lang); } + if (outname.endsWith('.handlebars')) { + outnamemin = (outname.substring(0, outname.length - 11) + '-min_' + lang + '.handlebars'); + outname = (outname.substring(0, outname.length - 11) + '_' + lang + '.handlebars'); + } else if (outname.endsWith('.html')) { + outnamemin = (outname.substring(0, outname.length - 5) + '-min_' + lang + '.html'); + outname = (outname.substring(0, outname.length - 5) + '_' + lang + '.html'); + } else if (outname.endsWith('.htm')) { + outnamemin = (outname.substring(0, outname.length - 4) + '-min_' + lang + '.htm'); + outname = (outname.substring(0, outname.length - 4) + '_' + lang + '.htm'); + } else { + outnamemin = (outname + '_' + lang + '.min'); + outname = (outname + '_' + lang); + } fs.writeFileSync(outname, out, { flag: 'w+' }); + + // Minify the file + if (minifyLib == 1) { + minify.file({ + file: outname, + dist: outnamemin + }, (e, compress) => { + if (e) { console.log('ERROR ', e); return done(); } + compress.run((e) => { e ? console.log('Minification fail', e) : console.log('Minification sucess'); minifyDone(); }); + } + ); + } + + // Minify the file + if (minifyLib = 2) { + var minifiedOut = minify(out, { + collapseBooleanAttributes: true, + collapseInlineTagWhitespace: true, + collapseWhitespace: true, + minifyCSS: true, + minifyJS: true, + removeComments: true, + removeOptionalTags: true, + removeEmptyAttributes: true, + removeAttributeQuotes: true, + removeRedundantAttributes: true, + removeScriptTypeAttributes: true, + removeTagWhitespace: true, + preserveLineBreaks: false, + useShortDoctype: true + }); + fs.writeFileSync(outnamemin, minifiedOut, { flag: 'w+' }); + } } +function minifyDone() { console.log('Completed minification.'); } + function translateStrings(name, node) { for (var i = 0; i < node.childNodes.length; i++) { var subnode = node.childNodes[i]; diff --git a/views/agentinvite-min.handlebars b/views/agentinvite-min.handlebars new file mode 100644 index 00000000..621bfcd4 --- /dev/null +++ b/views/agentinvite-min.handlebars @@ -0,0 +1 @@ +MeshCentral - Agent Installation
{{{title}}}
{{{title2}}}

{{{logoutControl}}}

Remote Agent Installation

You have been invited to install a software that will allow a remote operator to fully access your computer remotely including the desktop and files. Only follow the instructions below if this invitation was expected and you know who will be accessing your computer. Selecting your operation system and follow the instructions below.

Microsoft™ Windows 64bit

Download the software here, run it and press "Install" or "Connect".

Microsoft™ Windows 32bit

Download the software here, run it and press "Install" or "Connect".

Linux

To install, cut and paste the following command in a root terminal.

To uninstall, cut and paste the following command as root.



Apple™ MacOS

Download the installer here, right click on it or press "control" and click on the file. Then select "Open" and follow the instructions.

\ No newline at end of file diff --git a/views/default-min.handlebars b/views/default-min.handlebars index ec459cbb..6d42ef46 100644 --- a/views/default-min.handlebars +++ b/views/default-min.handlebars @@ -1,7023 +1,15 @@ - {{{title}}}
{{{title}}}
{{{title2}}}

{{{logoutControl}}}

 

{{{title}}}
{{{title}}}
{{{title2}}}

{{{logoutControl}}}

 

\ No newline at end of file + function addDetailItem(title, value, state) { return '
' + value + '' + title + '
'; } + function format(format) { var args = Array.prototype.slice.call(arguments, 1); return format.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] != 'undefined' ? args[number] : match; }); }; + function nobreak(x) { return x.split(' ').join(' '); } \ No newline at end of file diff --git a/views/default-mobile-min.handlebars b/views/default-mobile-min.handlebars index eecf06f5..f590c545 100644 --- a/views/default-mobile-min.handlebars +++ b/views/default-mobile-min.handlebars @@ -1 +1 @@ - {{{title}}}
{{{title}}}
{{{title2}}}
\ No newline at end of file +{{{title}}}
{{{title}}}
{{{title2}}}
\ No newline at end of file diff --git a/views/default-mobile.handlebars b/views/default-mobile.handlebars index 75c0abd6..7f5e7183 100644 --- a/views/default-mobile.handlebars +++ b/views/default-mobile.handlebars @@ -568,8 +568,8 @@
- -
Other
diff --git a/views/download-min.handlebars b/views/download-min.handlebars new file mode 100644 index 00000000..d4f2c1e7 --- /dev/null +++ b/views/download-min.handlebars @@ -0,0 +1 @@ +MeshCentral - Download
{{{title}}}
{{{title2}}}

Download

{{{message}}}


\ No newline at end of file diff --git a/views/error404-min.handlebars b/views/error404-min.handlebars new file mode 100644 index 00000000..8e2b960c --- /dev/null +++ b/views/error404-min.handlebars @@ -0,0 +1 @@ +MeshCentral - Terms of use
{{{title}}}
{{{title2}}}

{{{logoutControl}}}

404
This page does not exist
\ No newline at end of file diff --git a/views/error404-mobile-min.handlebars b/views/error404-mobile-min.handlebars new file mode 100644 index 00000000..12f6dc9f --- /dev/null +++ b/views/error404-mobile-min.handlebars @@ -0,0 +1 @@ +MeshCentral - Terms of use
{{{title}}}
{{{title2}}}

{{{logoutControl}}}

404
This page does not exist
\ No newline at end of file diff --git a/views/login-min.handlebars b/views/login-min.handlebars index f57ebd75..08876e88 100644 --- a/views/login-min.handlebars +++ b/views/login-min.handlebars @@ -1 +1 @@ - {{{title}}} - Login
{{{title}}}
{{{title2}}}

Welcome


\ No newline at end of file +{{{title}}} - Login
{{{title}}}
{{{title2}}}

Welcome


\ No newline at end of file diff --git a/views/login-mobile-min.handlebars b/views/login-mobile-min.handlebars index 8d374e1d..ddbe028e 100644 --- a/views/login-mobile-min.handlebars +++ b/views/login-mobile-min.handlebars @@ -1 +1 @@ - MeshCentral - Login
{{{title}}}
{{{title2}}}
\ No newline at end of file +MeshCentral - Login
{{{title}}}
{{{title2}}}
\ No newline at end of file diff --git a/views/message-min.handlebars b/views/message-min.handlebars new file mode 100644 index 00000000..5a96f1d6 --- /dev/null +++ b/views/message-min.handlebars @@ -0,0 +1 @@ +MeshCentral - {{{title3}}}
{{{title}}}
{{{title2}}}

{{{title3}}}

{{{message}}}


\ No newline at end of file diff --git a/views/messenger-min.handlebars b/views/messenger-min.handlebars index a7d98d4f..5efd3707 100644 --- a/views/messenger-min.handlebars +++ b/views/messenger-min.handlebars @@ -1 +1 @@ - MeshMessenger
MeshMessenger
\ No newline at end of file +MeshMessenger
MeshMessenger
\ No newline at end of file diff --git a/views/translations/agentinvite-min_fr.handlebars b/views/translations/agentinvite-min_fr.handlebars new file mode 100644 index 00000000..01590ed4 --- /dev/null +++ b/views/translations/agentinvite-min_fr.handlebars @@ -0,0 +1 @@ +MeshCentral - Agent Installation
{{{title}}}
{{{title2}}}

{{{logoutControl}}}

Remote Agent Installation

You have been invited to install a software that will allow a remote operator to fully access your computer remotely including the desktop and files. Only follow the instructions below if this invitation was expected and you know who will be accessing your computer. Selecting your operation system and follow the instructions below.

Microsoft™ Windows 64bit

Download the software here, run it and press "Install" or "Connect".

Microsoft™ Windows 32bit

Download the software here, run it and press "Install" or "Connect".

Linux

To install, cut and paste the following command in a root terminal.

To uninstall, cut and paste the following command as root.



Apple™ MacOS

Download the installer here, right click on it or press "control" and click on the file. Then select "Open" and follow the instructions.

\ No newline at end of file diff --git a/views/translations/default-min_fr.handlebars b/views/translations/default-min_fr.handlebars new file mode 100644 index 00000000..98094639 --- /dev/null +++ b/views/translations/default-min_fr.handlebars @@ -0,0 +1,8339 @@ +{{{title}}}
{{{title}}}
{{{title2}}}

{{{logoutControl}}}

 

\ No newline at end of file diff --git a/views/translations/default-mobile-min_fr.handlebars b/views/translations/default-mobile-min_fr.handlebars new file mode 100644 index 00000000..031c56be --- /dev/null +++ b/views/translations/default-mobile-min_fr.handlebars @@ -0,0 +1 @@ +{{{title}}}
{{{title}}}
{{{title2}}}
\ No newline at end of file diff --git a/views/translations/default-mobile_fr.handlebars b/views/translations/default-mobile_fr.handlebars index 746cdd8c..d0cbb50f 100644 --- a/views/translations/default-mobile_fr.handlebars +++ b/views/translations/default-mobile_fr.handlebars @@ -566,9 +566,9 @@
- -
+
+
+
Autre
diff --git a/views/translations/download-min_fr.handlebars b/views/translations/download-min_fr.handlebars new file mode 100644 index 00000000..31c57152 --- /dev/null +++ b/views/translations/download-min_fr.handlebars @@ -0,0 +1 @@ +MeshCentral - Download
{{{title}}}
{{{title2}}}

Download

{{{message}}}


\ No newline at end of file diff --git a/views/translations/error404-min_fr.handlebars b/views/translations/error404-min_fr.handlebars new file mode 100644 index 00000000..2f64dcb7 --- /dev/null +++ b/views/translations/error404-min_fr.handlebars @@ -0,0 +1 @@ +MeshCentral - Terms of use
{{{title}}}
{{{title2}}}

{{{logoutControl}}}

404
This page does not exist
\ No newline at end of file diff --git a/views/translations/error404-mobile-min_fr.handlebars b/views/translations/error404-mobile-min_fr.handlebars new file mode 100644 index 00000000..80ed0505 --- /dev/null +++ b/views/translations/error404-mobile-min_fr.handlebars @@ -0,0 +1 @@ +MeshCentral - Terms of use
{{{title}}}
{{{title2}}}

{{{logoutControl}}}

404
This page does not exist
\ No newline at end of file diff --git a/views/translations/error404-mobile_fr.handlebars b/views/translations/error404-mobile_fr.handlebars new file mode 100644 index 00000000..ec40a31e --- /dev/null +++ b/views/translations/error404-mobile_fr.handlebars @@ -0,0 +1,55 @@ + + + + + + + MeshCentral - Terms of use + + + +
+ +
+
+ {{{title}}} +
+
+ {{{title2}}} +
+

{{{logoutControl}}}

+
+
+
+
404
+
This page does not exist
+ +
+
+ +
+ + + \ No newline at end of file diff --git a/views/translations/login-min_fr.handlebars b/views/translations/login-min_fr.handlebars new file mode 100644 index 00000000..54ec8fe4 --- /dev/null +++ b/views/translations/login-min_fr.handlebars @@ -0,0 +1 @@ +{{{title}}} - Login
{{{title}}}
{{{title2}}}

Bienvenue


\ No newline at end of file diff --git a/views/translations/login-mobile-min_fr.handlebars b/views/translations/login-mobile-min_fr.handlebars new file mode 100644 index 00000000..68a5c00d --- /dev/null +++ b/views/translations/login-mobile-min_fr.handlebars @@ -0,0 +1 @@ +MeshCentral - Login
{{{title}}}
{{{title2}}}
\ No newline at end of file diff --git a/views/translations/message-min_fr.handlebars b/views/translations/message-min_fr.handlebars new file mode 100644 index 00000000..7a75c669 --- /dev/null +++ b/views/translations/message-min_fr.handlebars @@ -0,0 +1 @@ +MeshCentral - {{{title3}}}
{{{title}}}
{{{title2}}}

{{{title3}}}

{{{message}}}


\ No newline at end of file diff --git a/views/translations/messenger-min_fr.handlebars b/views/translations/messenger-min_fr.handlebars new file mode 100644 index 00000000..0832659f --- /dev/null +++ b/views/translations/messenger-min_fr.handlebars @@ -0,0 +1 @@ +MeshMessenger
MeshMessenger
\ No newline at end of file From 0f3355f8b9b3b177353d5176cb7ea5db4e7ba423 Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Thu, 24 Oct 2019 10:46:56 -0700 Subject: [PATCH 3/8] Fixed player.htm translations. --- public/translations/player.min_fr.htm | 1 - public/translations/player_fr.htm-min | 1 - public/translations/player_fr.htm-min2 | 1 - public/translations/player_fr.min.htm | 1 - public/translations/player_fr_fr.min.htm | 1 - 5 files changed, 5 deletions(-) delete mode 100644 public/translations/player.min_fr.htm delete mode 100644 public/translations/player_fr.htm-min delete mode 100644 public/translations/player_fr.htm-min2 delete mode 100644 public/translations/player_fr.min.htm delete mode 100644 public/translations/player_fr_fr.min.htm diff --git a/public/translations/player.min_fr.htm b/public/translations/player.min_fr.htm deleted file mode 100644 index 02e7e779..00000000 --- a/public/translations/player.min_fr.htm +++ /dev/null @@ -1 +0,0 @@ -
00:00:00
 
\ No newline at end of file diff --git a/public/translations/player_fr.htm-min b/public/translations/player_fr.htm-min deleted file mode 100644 index 66dc9051..00000000 --- a/public/translations/player_fr.htm-min +++ /dev/null @@ -1 +0,0 @@ -undefined \ No newline at end of file diff --git a/public/translations/player_fr.htm-min2 b/public/translations/player_fr.htm-min2 deleted file mode 100644 index 02e7e779..00000000 --- a/public/translations/player_fr.htm-min2 +++ /dev/null @@ -1 +0,0 @@ -
00:00:00
 
\ No newline at end of file diff --git a/public/translations/player_fr.min.htm b/public/translations/player_fr.min.htm deleted file mode 100644 index 02e7e779..00000000 --- a/public/translations/player_fr.min.htm +++ /dev/null @@ -1 +0,0 @@ -
00:00:00
 
\ No newline at end of file diff --git a/public/translations/player_fr_fr.min.htm b/public/translations/player_fr_fr.min.htm deleted file mode 100644 index 02e7e779..00000000 --- a/public/translations/player_fr_fr.min.htm +++ /dev/null @@ -1 +0,0 @@ -
00:00:00
 
\ No newline at end of file From 473c8d22d7d53f43223f1b3978a0f7eb3d0d78fb Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Thu, 24 Oct 2019 13:13:18 -0700 Subject: [PATCH 4/8] Added remote agent uninstall. --- agents/meshcmd.min.js | 2609 ----------------- agents/meshcore.js | 20 +- agents/meshcore.min.js | 2598 ---------------- agents/modules_meshcmd_min/amt-ider.min.js | 1 - agents/modules_meshcmd_min/amt-lme.min.js | 1 - agents/modules_meshcmd_min/amt-mei.min.js | 1 - .../modules_meshcmd_min/amt-redir-duk.min.js | 1 - agents/modules_meshcmd_min/amt-scanner.min.js | 1 - agents/modules_meshcmd_min/amt-script.min.js | 1 - .../modules_meshcmd_min/amt-wsman-duk.min.js | 1 - agents/modules_meshcmd_min/amt-wsman.min.js | 1 - agents/modules_meshcmd_min/amt-xml.min.js | 1 - agents/modules_meshcmd_min/amt.min.js | 1 - agents/modules_meshcmd_min/identifiers.min.js | 1 - .../modules_meshcmd_min/service-host.min.js | 1 - .../service-manager.min.js | 1 - agents/modules_meshcmd_min/smbios.min.js | 1 - agents/modules_meshcmd_min/sysinfo.min.js | 1 - .../modules_meshcmd_min/user-sessions.min.js | 1 - agents/modules_meshcore_min/amt-lme.min.js | 1 - agents/modules_meshcore_min/amt-manage.min.js | 1 - agents/modules_meshcore_min/amt-mei.min.js | 1 - .../modules_meshcore_min/amt-scanner.min.js | 1 - .../modules_meshcore_min/amt-wsman-duk.min.js | 1 - agents/modules_meshcore_min/amt-wsman.min.js | 1 - agents/modules_meshcore_min/amt-xml.min.js | 1 - agents/modules_meshcore_min/amt.min.js | 1 - agents/modules_meshcore_min/apfclient.min.js | 1 - .../modules_meshcore_min/identifiers.min.js | 1 - .../monitor-border.min.js | 1 - .../modules_meshcore_min/power-monitor.min.js | 1 - agents/modules_meshcore_min/smbios.min.js | 1 - agents/modules_meshcore_min/sysinfo.min.js | 1 - .../wifi-scanner-windows.min.js | 1 - .../modules_meshcore_min/wifi-scanner.min.js | 1 - .../modules_meshcore_min/win-console.min.js | 1 - agents/modules_meshcore_min/win-info.min.js | 1 - .../modules_meshcore_min/win-terminal.min.js | 1 - meshuser.js | 32 + translate/translate.js | 2 +- views/default-min.handlebars | 77 +- views/default.handlebars | 77 +- views/translations/default-min_fr.handlebars | 77 +- views/translations/default_fr.handlebars | 77 +- 44 files changed, 277 insertions(+), 5327 deletions(-) delete mode 100644 agents/meshcmd.min.js delete mode 100644 agents/meshcore.min.js delete mode 100644 agents/modules_meshcmd_min/amt-ider.min.js delete mode 100644 agents/modules_meshcmd_min/amt-lme.min.js delete mode 100644 agents/modules_meshcmd_min/amt-mei.min.js delete mode 100644 agents/modules_meshcmd_min/amt-redir-duk.min.js delete mode 100644 agents/modules_meshcmd_min/amt-scanner.min.js delete mode 100644 agents/modules_meshcmd_min/amt-script.min.js delete mode 100644 agents/modules_meshcmd_min/amt-wsman-duk.min.js delete mode 100644 agents/modules_meshcmd_min/amt-wsman.min.js delete mode 100644 agents/modules_meshcmd_min/amt-xml.min.js delete mode 100644 agents/modules_meshcmd_min/amt.min.js delete mode 100644 agents/modules_meshcmd_min/identifiers.min.js delete mode 100644 agents/modules_meshcmd_min/service-host.min.js delete mode 100644 agents/modules_meshcmd_min/service-manager.min.js delete mode 100644 agents/modules_meshcmd_min/smbios.min.js delete mode 100644 agents/modules_meshcmd_min/sysinfo.min.js delete mode 100644 agents/modules_meshcmd_min/user-sessions.min.js delete mode 100644 agents/modules_meshcore_min/amt-lme.min.js delete mode 100644 agents/modules_meshcore_min/amt-manage.min.js delete mode 100644 agents/modules_meshcore_min/amt-mei.min.js delete mode 100644 agents/modules_meshcore_min/amt-scanner.min.js delete mode 100644 agents/modules_meshcore_min/amt-wsman-duk.min.js delete mode 100644 agents/modules_meshcore_min/amt-wsman.min.js delete mode 100644 agents/modules_meshcore_min/amt-xml.min.js delete mode 100644 agents/modules_meshcore_min/amt.min.js delete mode 100644 agents/modules_meshcore_min/apfclient.min.js delete mode 100644 agents/modules_meshcore_min/identifiers.min.js delete mode 100644 agents/modules_meshcore_min/monitor-border.min.js delete mode 100644 agents/modules_meshcore_min/power-monitor.min.js delete mode 100644 agents/modules_meshcore_min/smbios.min.js delete mode 100644 agents/modules_meshcore_min/sysinfo.min.js delete mode 100644 agents/modules_meshcore_min/wifi-scanner-windows.min.js delete mode 100644 agents/modules_meshcore_min/wifi-scanner.min.js delete mode 100644 agents/modules_meshcore_min/win-console.min.js delete mode 100644 agents/modules_meshcore_min/win-info.min.js delete mode 100644 agents/modules_meshcore_min/win-terminal.min.js diff --git a/agents/meshcmd.min.js b/agents/meshcmd.min.js deleted file mode 100644 index 3dfb676d..00000000 --- a/agents/meshcmd.min.js +++ /dev/null @@ -1,2609 +0,0 @@ -/* -Copyright 2018-2019 Intel Corporation - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -/** -* @description MeshCmd, command line tool for Intel AMT and MeshCentral. -* @author Ylian Saint-Hilaire -* @version v0.2.0 -*/ - -// Debug Stuff -//console.displayFinalizerMessages = 1; // Display objects that have event listeners that are disposed. -//console.displayStreamPipeMessages = 1; // Display stream pipe and un-pipes -//var __gc = setInterval(function () { console.log('GC'); _debugGC() }, 2000); // - - -var fs = require('fs'); -var os = require('os'); -var net = require('net'); -var http = require('http'); -var dgram = require('dgram'); -var httpHeaders = require('http-headers'); -var tcpserver = null; -var broadcastSockets = {}; -var multicastSockets = {}; -var discoveryInterval = null; -var membershipIPv4 = '239.255.255.235'; -var membershipIPv6 = 'FF02:0:0:0:0:0:0:FE'; -var settings = null; -var meshCmdVersion = '***Mesh*Cmd*Version***'; // Dynamically replaced with MeshCentral version -var amtLms = null, amtMei = null, amtMeiState = null; -var wsstack = null, amtstack = null; -var oswsstack = null, osamtstack = null; -var amtMeiTmpState = null; -var SMBiosTables = null; -var globalDebugFlags = 0; // 1 = IDER Debug -var pendingAmtConfigActions = 0; -var RCSMessageProtocolVersion = 1; // RCS Message Protocol Version. Needs to be less than or equal to RCS server Message Protocol Version - -// MeshCommander for Firmware (GZIP'ed, Base64) v0.7.8 -var Large_IntelAmtWebApp_etag = "zVObfGF4CXPIxvxSUu+3"; -var Large_IntelAmtWebApp = "H4sIAAAAAAAEAHq/e7+Noou/c0hkgCuA0+pcchQHwq9CeXNgFzwZlrmcc76/DWpANULihJyW8rtfy4KxPHjjRKvD1586QVCbRly/sn+DzmwEZjXyqjZJHEUPSI7Arl81aIAMTRvifwu+zP4N//os/EI1LRieCwwKJQ1Kk82++ypDVuHMuezlBtfmpY2RFjXoDk22MGV4OfNBv3DG4Z+bFgd/CQ1mpdINmJChwcJwJX1UgW2tJGZSUUjB5U2gUWQzTiazwBBQxhuo8GUrq6DWWGYzBgaSW2GaQ4fnp8/535//8vsq+uGbSmWEtEvEda7YpveykTawDv2zWqIuhVolNWcMZVoqol9Cw8UmAc1BPA9qFEs0vIDnQQeyCzvUvHSGHX+NyVVr0kIJpZNcQHGT5vSn0mohWbKquUGKqSsuQ6PaJBoPAkuzP2kiZI/hCvMbbsh0UdRhAUKohUmkknirWlB4oiCwGBU3tihH5I16fUzaTYUTwVbw3lEjUi0wxmWVRCSGHEXPeNcK2NB1VXEzXH3FJVMr2yPe/UNflx4BXHFmalcIh53UtiD9BKKmBAn6Nemd8y7iFpIl77hB1ttzyLBQGmyjues4n3vRaWlNbY+9j52jMsjOzs7SbR33+7LHcWtcF6xcP+VKML8RDkp91q79Poij/TlXxqgmOSfJtp57Ea4+JMD5YYDzCT6Vr+3f4nE69Thsz7klaNghQZLUU8mYu4XuiGyruDSo/cG4BwDp9oVdTWTXqo7vqlDyNbLUDcowIeNoDEN7fkEsfKDo5DwNti9arSqNXZfDMTjndhxxPgUkZlwe5OqU6kVSoaret83zHPIzp4jfqAmMXUOB0Yk0NNU1F+yxYuzJgQNeIpZIDuVCiAKFOHqNK6Ix8h+qNGaKNHeWGYE1wOVHgMVn51O4cW5tRlzaSG/3oghB8EomBEohJSy9IkwCkrMfz60AF5CEmqHet1vQKcFZcO/z6Ivzr784Em5SOO8suETQYaWBcZTmsVGBC/o8uJeXLC6LIHrwfMh7YHfQE8c+7scFFROFiH7t/8vb8bCpfvtc7tZ+2LVQYCLVSkObHo6CCzQ/aLGT+eE8Rj7k1F/fXUUkivrJs4ekcT/kdch5fJtYys0mtZtwyKjlYT3m/RHhyQfDnLxpm9+7PLmcX+TTS3WtRmD+A9t/RExwxisa3qAe6Hm87kFeAMZTv1FBno2XxotdFin3sSecR2/ewve+uLTfk73rVdUuegc67486+VYr0LJ/U6wisl9kxQsl437Ii93aY7rODjZZqLFFsA/04ZOv2709JQstHvtvUxUv/+e1KhYd1cHwu9zVHa3b+B9BUlII1Di7lHJwqKfpy4+7bE90+9sn39yU3y5Nl5QpBRDgcA8c3NXXCTm0S91dnf2xsT2fU6HLxl3dbttEV0NT3533ndZl9GSP012UszaL19UoHlwurVZLWwMEFADG4MDnJQB9+nw95iXbd7ou38THDQWdU45naNnkdqMxTxmEYULcjlIct5kjkz6FsUkaD+lpKBHFC5sRlSYuVcpoEpjxaU6Ewgdu4bSnfezxwbmZeJY6QUnHIwvHMNjWNvN8nsxvxggJwaZI7O9BmDzth2aq4tIPfSDH1/89+lrx7oNWnFECHllyWXGiAMD7uYL8twrauraf7NAB5KrOmtlqn9UbwaJ5T7Jbe2UGoUyARSfZdu3yuLm3ne5iE5dEXKdwDLLjPCc2NOCq1z+y7T1otlPbAodGVrw+jeRfZqf1c/bRb9nPZOwcIqdacXunst0dmtlmGaL+DXa5IUMEeSjmYT9dm8E+xSu/JwPnCarp+GoDpYlEV0FEBv1V2SRxEgjH6C8sODZ9M61YTYNl4Y9gL7qiiBbWonMscLGEY0wj/GM+TnGF5OG7bnwyG9VHbH9zGO1/Oq0P7H0He9u4suhfwdOW2Gcth01tE+s9R7Z3fWInPla2vNv2o0jI5glF6hJUbJ/y3+8MMIIINktxsuW7Z6uIMgUYTMOQUaYObYtab3+Vp9oM+mG0ErKzRoMGw9nQrmrQACK6FfxEkoIoW2+jo7dR/TZReKYLhPrcJBAHmLDLvl2BfLZmu2AyEcB6dZwKsEfsBIxeib/Xx0ZREuWRH9eGR0hNXXiEpqoaHlGrqDZWGv7JUKFP0K+qlfln8qcALhYLP4GFfg6yleLQQwhYn+23nSIUJ8OVRIAVeHhGRc9CcPvSRbE2G9yztDjJn+ZO0dbLgAdxObvh6vaehM3dEZttPQmdtyu6p3HX2xGd8zTu+ruiexJ3f91SKp1+rVQ6fY1L/mzH5eyGq+v0n4LN3RFbz3kKNm9HbIPhU7D1dsRmW95T0PV3Rec+RU7QUv2dsXkUQ5+yW2xtCQqNAqwF35MhHkuXfhDlD3t9eMDEgRG3d3XUan3FMPioOkEYiEBQ7OcqzGGMVUxATeSZ4WQIPOfyLwANv4MR/k2RZ8X2UXeNqah6W36e+8HtAnB9K4IsjWNcGudj+UJad2WMqAXYmsnPxpgtfqsd8y38u4kx6n7Cjolfc8uIXGPLPhNn8Wy2yvM0IW/UKzDheRVv1AgzzFDfSMlVnWq9ZBmP/Tz6wMvagw7/t9Zhr0AWuZ/rTrvQJSDdvZk0Mnsc4mfo1PGwNoAM+TFhP25JkcMZ7JvrkJ4saUnX0VrSddq1JCJ0dkfoOk/C6O6Ose89AWM2+3tzv3FKCmkz1/qqPs5J0M2/5MnKSNGejfBvAHzfFbd+CIlROD3MxoXKbmb+HrMO6J9Dl8ExquSjgiB4wbSQ+jNoXuXczHfHkQDy8PJKkV65NelRcKkTY/js36+fe/j8t24Ea3wPXp2F/CyQnXX6yfO8F+sbnChB/dBVFzlGene4CdjU2hgtSHGv8EwpQWyqvVihc9L7ar2JIZ/7qzivpJgrJ1iTb17HzEf4t5H+HY3geL58ru79XuZRDv+75OJ2spa4l89V40uZjU+TVQJSER51/jzb2+/AM237Arb96BZmxHyyEYQ9/oEn+f74ZRh9YFF4ZLEg9oU4UjcYgM+fxZzaKDaku9hNAlO73bBOMANnheyDzJkedWBSh6lk8VFH/R9uMZcbkLbJTbHLQYrsCrgxcIxkSaJpdOGeRPPimLfGm2NXl3PNeAhwYab5XwLlEpr1JQZBLiSHA46n05AkJcNGyhXWRyz9BEF644vUx7GHh4ewvdBawtmrXnprAUfp0wP7RJy6oQA5gH+X2HGT2psuG0UhjoL3R3+Z7dmw4/54+iByvmDT3M9X4uVzfzPNa5rnyYnXfJHmnJ1w8R4YNWa6TTNdhZLj5XMXZb57cfymONVpmOnIid/7WQh5ZM7OE3nrjqepOLvfMLsvZ5+ilLOL9MagtddEa09OOl6FUWWSYzeRSWuapxlYhOKUYcOMoZzwhud3afaeTXmegzSY+zBoonAg556jzCU8r588apo8Uuzd4JpcZVzwJODGzGHTzGFRbk74nCfCnNkocGp1fhA8Y8dBAAcvN4h1GnffUShXMxFk0RK33ZzoNk1UAveT/56z49jPFuY0q2mapfBJZOwUJCDNDA6dJg4dhW96efyGvcrSO8Fxoj6lQgkG3tILOtmmm1ereNYCsL7w1B1DglGxLDrgtEsXwMO5HwxDw96a9+I4oaJgCE3B0xi/jJLlKlc1LMppRPW84kedk0i8Z5eg4fXCvON7+y0TpsA7Oz857V6DCAsBfGymhgFOxdUwCNm4Of2S5XZgDb9OZmL5QivZ0bhWtUYhz77nfr7wlwS2s3YtbLyMqvdlXFwg7TRU/SB5o2m4Uet7Vqs2GCDaC2nyvmXVZsVHo8lkNDI2p6OZga1ZLh+QnUvNTnFk/cB3YLoMMZTLdyaHHDDpOQmG+rYHEj97yLk4pDUM/OSDLyoAJ6pZMnIEjFC6/MiCtVdTSpsQhFm6aCXbGNdC9eTk+u2lQbRjecN6qgnezkTXnE3bIlI+2Ykr+427nkA6UEp5bU7S3UecpAopdLJm4+tVksBAwvLy+Uz5NAS1NE2uk02nsH4VnU+9ii1MFhaxHHeZUQFiMQKHXs0SFYBDt17uzh0YgwM292PB9zvjr7+4dwZ2/0XbBnhV6JsFf3cbCba+V3om2DzKFtIVErfpKga9w9lqGfo5Dw9ojk8YTBapzBDrGsW3z58LDt0QvHeV63qIY2K8v3ruhx8imPdw6Ivl/f+V7bBR52/enV50p8dd0JCD3texn9yswKBBD0+686yj6huTFJDwLAN0SZouecKhJ4f94vlR55cZzHoPqms1XsbcF5wFtzx4D6cuAzdiNUZ7eYgSVSsobjXyMApCo3nmL7gc6rUOXatuPOVqUhlVj+YXVLQ+EN17km09fAmAbm3Dn4dHE+TSrtNxOM30wnGmNl92v95+LZ0GYNRsng+U/Hr/2UQ2aEDWb0BW8KpNQEMNSDeNGmAPG2BX3GIThWNVUDh2Awq7ceVNb9RE4DRBa1r6sucHLTjJDKGxno6hH0eCdWTJJ0AUyKeK2FYuzXWErUgyxdTDbnWjK5lw2WIV59ESHZz1r07z0VAB6nMFgBjX2NDkKKhejeH5y4pnD4b0ITEbCyQgupdj2tzBScz9rBlI537P6R2wZ8/2OwVyAovBPgT8No1hoY7O8HqkFsh7/rBaKkrUICSFMgnE6ywr5hRWQrLbo96yILg1glDIYA2GcjVv7XLMy97xDIb5sZQRjRNRrU+azntVo/6y2TKPetEMgXW4O+OgVDIuTuIb5HbDmyz9IWybSwSChoUeVX+htZJDK8o6/1VWNAs/XqSJDFnjrzN+84IdX75j1zyMMiqeX6ZZztKMlddrrphgkWCwErhf4eacDsYHDPglI8LylPEEh7AoP2zxOpzhp17qq/SOZ8eSk9/NalOiRjsPuIRJmrMl0spDoL+8eJEQK858NYJRVvvQWEHSZzsoMU2vVaC9VDxkbTQbzTf8oUpStlLfPJlMGtzlQg2n4T9rnSB4EuKhPMfW1/xBUFaU4fIHaYYCepTO5+rZX0Y5APsbxybCpu9SKJDTVdhW0UmUEjOLV9lRBxBLbK/gCdK0BcNDllI73BVlqcheYrbzqJNxOBqJ8jU7qgciz6TUQWIY+KEZLUiZZUpoBfgtnVaJJl6NmwUXt61KIuplm7BAeH/NZIoawxM/y1mmpDLEbMECjS9Ll1zl1Tu7c6eJlmG9xPAorUif83kWlXic+EtUWp015+/Sm5uYM4GdzwVGaemc5WQJWKBGH7C7W54w7F5iiJXf6heYcDg+0kg2W83nPIPINY4xABD+Bx7iAfaxaoAXdnKNgwhSdLQskFZEzQKIq+eubXaaJDzINbrXAR0erauPOutfnXJ6xrXGJ5EIFAgemgrb1AbFo44pmnLqHcbC7iFQPMkAAp5+dYWCLNm7i1U0Z2rRDqFpkoacHR0xSJgzdV0DGukKIdDCvqiTQsWD6U1df3NxZoofiJefSzEiGIBPiRCqQFNm1IwJaKcid85n545tyd7Qund6Jnub84T6to6dKbSbDLm/l+3qSM+I7Z3ZFjtip9PJN//+9nK/rD/ObDzkOAZwC8bBq5d6E7mo5fjs3uTX+93we3qfg9DxkB2LIIo6TVv5OIvvoB2YJN3Sqr9+e7Gd5HF3YjAxhVUAaHt4X/H7o/XnWlod73dHLJyYelIHvztSX4GVkW9R1RI8NM5r7/N4KVe+yHmdid5E2+d77sEzOe7ZgXuAFMqH/Q7ZZ4qdK3Gxt1VcTMPdPobIlQtlCoxN0O4AIP8rPH7942VrSOwOPy4kdkf/i0Pif4XEui7FMgPQwp5ls7WRvk5zP+fsArascGGbyda9rg3GOI39LCNr3AbiGrFXYUgQmQZRjNtMD8b0GrA+h4kg4zxhizTkHxNOkoY8A1CarOlsq5Cy10ZaGqyEJIqiPD/A63pAET+QS36Dx9yXm4ctGBsLecbpeucJ3HTOJPrjOC6sNWhbRZzs3IrDfh2HUx/48Gnd4eCvg1Ud6Cu1/gTyEQPkJwzSse0cqy93ykwQPLpVQJjEBJZ6lAhmgoZ9DOWGJiTDtka7cy5l8PvNpdQJxAT8oxuOIkBaU8izbkrFwg9uo+QJR/RT5a9Iwxi1CcPK0TftlGkHSzfBhskkNWreAremVkYNqZU/69TK7iu2TTbGs7fIxuA4p5qTUbUvlaRMtfBVLzEeCal3CFhHmeo88xNAm8F0svK4RyxMcyBJ1SM7vd6BBX8fOvvVSp1qnU25BrayYlLNyjUL9U+90qp3taS+1bLUs0g/cOrDn9Q7NqtOiN11nYmn60w8yyL2uwtBr4D6gS4wNr+qs7z/DThh+D5puvT/G89bR5fFfCLHBKXJrbonZhbSEFJUzZj6wGd916kAlD4CUxgN5KbLPNLq3xr/FCVmk41N35ykd6V2R7b/sDRbXdl6YTZ6svHSbOyNp7fRPP+mpqs/PrPNlsH4zDFbhuMz12wZjc+8EunW+KxXarLHZ/1SkzM+G5Sa3PHZsNTkjc9GpaYe0GmV2pB2u9Q2gDZHXx+TciPR/+mk1gon4VNsFO4uRc2ikABSoqHRe17dVXOexd3jOO+e8PhJxh3QwwvzCruhTHtFEshtktUuUCA4foV1MGwqHSaTbD1/UJw/LM3/MeJ30nM0J7fG5b2auLyAb1OhcWtT6XOlsqNnNVVFDJqqIqolyiZEuwnisAFipfrYAOc0gRs1gKuUQRvg3AZwjtUEzigc1lUgxfIPs2SjV1caqhEhGAVRlQdVVWX1Gy4FyFiNvlzycEN9S+kgyhTR3dE+5l2UB7cYBQvFF75Xw7gcxD7AhA5SiT/UxFcSoj4dk2DP2n8M5atVFIe8Bqcq6KzFRnOq6OwWdG/4XcHfl8Um6I8Sa4Rnc7RV8y8Jv1M7gD5kC3Ss/iqAx0fmr2HPs3QhL+Yq4LNV0g7ejICqIReCz9N64AJGKehkzZvhX3N5NalXB9IjALG4Pn4SshuOEYcfPiBKIJ1FxBuOkwAKCfpWfvAdpChZcZ0OWCVFZBposMoyPKD8ngcryoNFSQGNXkAlDG04XwHp79cIr/yVUPxtQKfzAg0bFDOcty2Sac6XOqaUkDHGB6DY3oAA+0z4tRk6NW2mZL9eATmkgOhUoQZy6irFLP0CXjXD5vSswousFj4UIp8qhHVTbcZAnuF5sSiro7BEyS1+JWWNx/EATRU26cbSV7mqBcAdowisQ1VgEjkFhlTr8Tedh1wTJ1rpcgfATwMVuiL0gd4JrmGg07aTJnqd3jTXvgpzW3KQ6zBLl0cd0gdz9ayUwQGIYiT2K0pjTs9GKNPChdKbBdlTModRip9xXw9UT43FhwOsz864DKLXX8Sr+bam8SXTY/kl0+/1h0w33zFlYsnjWPpLRx3lswHxa5oUB3UHaKYYIfUXsiaOAhrQztN2LLXTWrgIQcp+9LMI3TuhT7a0idRqCpNBjGNZNdS0SxLJUQ3N1Y8HVb9URB1P/1KRcYZofxIgl9fsi+po3JJhdRF+a/aURUVn/qhjbnzJ52yuIKd3Dk3f1WvyXZ32em7zVTsTZq8JptsA03j/zoTVN2C1qJkw8sFxrn1Rq/qq1Onpae0rWHg39UW/36/RH+z72i8h17ywVf32p93X3xoidV3zklb1TFbptizXBero6ezsrIqf4b8WswgqruGgGhBoIbZLn2NDEO15S20JzsFGmglLjXFYjV/qb+qIUzpbfT2sMtig0S5/aHKIEw1BsI15ymBWE4/U6xam90Yl2vG9vBaJc6qIDLBUuV16falvuD+hg6cdPxZe3SkSG6mYtX/ywMk/Gf9AEysEtuNb+kLcgehQHdr6kWpZF8uY5yCL6Xze2ZmiK4L1p48kyfnkJKEhwNeh2Jq0ut3sW41EKi1MVGLFkXwHtZ2KSi7xIgUjYjbq91fKycTj5EFnyNSaaqxl0sffZX6CSe/NEEG9q1jyZa81y+bjGl1cYal7Ni88GZ9QllK8OZ9VBwCrK5u+U1N5BarGdKIJW8WtrxtadHr+dBkl0WK1YEOG3973g5xn+DJmfstWS9iOAwa4eBb4gh8wqzs6kDEo8IZx1P/5f198+dV/fe0vli/+tLf/Tbf5HLu7KgzDowjdJZa96Caojoh5cgN5/I5njfprkW11uNSOVG27SWdvR31TL8c9dX8wVS3tkmyKor5NqxFG4x3PzRczfvKzBHedLPk0Xaxv/BQVApbrgcEarGKgLmH40VTYVCHkTmJfqG+cIBzRN68Hm/q/NFOXm1mhFEZwdRwOmze9/ymUdx/9TBAPfO24fSmLYtHfRJuBmq/uQ8O92pu7ZLWY8Uy8BQeQQq6OWnJCzrDwrMJouxD0T5QXghZd4j5S/yOQ1Av07KbprrII1lBuGs4v67wpB37D6gBFErzGmoWEmabUeqJynIZAEmquCEF5zGUcfIoDFdjWTqsExWwXp8MDNsFDws58kZv9DvbbfRpQXKEBxl4eDevhMO+7A/YdNEowXOSV0UN9lYRIi6PL91XXxz9poqagVs1+D/s1UexHnj2oUcbyy2oLdpoEKar6dpHEQMvwfourVzE66JkX19QI16pplnrzpN8KNO5K1GJhPYCswBlP4RdTF8/v0jRGIWifplxmNU+aenYp63Imsn2L+X6oJhfvnNqnxdEiys/wxeRrP+fjC3xk8plhQ/vkJJX0qfqq8UmaPMuZelCEm4WV47egdrPC7Uz7kRq1HqlGqgLbHhdrGa/SLNfHT/Y7LXPdMdY8mjWimouWed4YPy1SwIuTmof3ym9qahzlCMTafhUwfEvVnxYU2pZC1NcK9U0Ke4N/xlDGQyKudeZgo2RoFptTSSgmELYBMVwfeWfkjfoDZ9QbH8d3/oMwCKll225nW/vbTosA2U+PqpCL0fbm2HU29li++UTJ+Uv/XjqfrlPwPim2bh9ylaV43cLe7BqdBY71W9I9nZ6f7OZIBI7dTrBOGSCFZX8yi1L8wMSuKJ1dUJZLKn66OnbY1fS12e5hOzabFB6vQPklmPnBsbvS6X4MnXg+XE3VZHJ51T0+nRZ7PW2z370+v+peT7xib29Tl3J6Vezoa8fhTZpwk08w2dmDHLqjuHpmxL6DD+zWC++F7GcziI6xRnco44C+W5HkXcZ/XFoicHp/BObqExwt+rXdQqN3LeiVP/8D3X/CCcj4pkbTfAdBGpgcZ1HBJosSum8+1FQRyCTN9cuoB2wGCy0wIhQ8EREW/6n4D8O+GYIJ4lWIdYazDNW+sTf9SlhN4u0vckno4V9FmtSn7T7SOjtoIPF/vjbPJ1QqSdS1T5tp23wOpxqD3iWGK1vNDTbBweVkx7mh1hcS79esCqLBoDv2R66UrVDbqaWV3Ml8b18n97Ev1rVCiP5xUHYLKLsISrsZgy2gOi1QHQMqQa7WEtJ3Ox/XJwOtFBBXszpx1/DG51fMD0PMBjyuuiTLQwPhcGeEcLeDtVjA3fsdleVoZ1zf+TkHv3I3PK61Kx6dlDh5M90Rl70zrmMsK0iAsQq2R9Sy436SXIT7uG9E+Z7V3HSODH1mttu6/YCdfD+5otdNymmL00TNNTyLkwc4cVGAy4GvTfEk33EP3HaG6CpEEiQNUwbksL1FlKxyLvZ3ROZtg+zduwu2J2Qqy0TQnsw+wU8/5xsaI8Fsz7MYkXrA5IA4ZwAfO0eWxQjLYYvceJ9Gbnrbys1VVW4cygyvlmZ7j9qDhyDmZteQurB0tlKsfM0Fz83W0WgEwXfOZmmaM9UjTEGj6J++E71l7knx3n9SCmrg7JSC0tvneOGrKBWyzKw5W+N4elBpD16dv50y2WGYbwP4FD/hx1/BorVhMEeW0Jzi5+ACztQAhiPa8OWrZTsqGlTHjOyoB36GNFzRN7xlGYJoQ1MzvIRQjmBLGsK4HFOPG3J671FaqZq0DW9paAkn9tLtx0z2N+OTR2A7fDS0CV+G3Y/im8acL7fDR0Ob8AnsfhQfVOTPUj8L25FtxtVhek999Vjwdnwdfbx6wBiuDVd1dJ2A6khwJofUI77m89gXtyjpbRg3w8qoqIchynoUU3/OL9OwVW2sx5SAY7N8ybRx1fAVwjbANKQEF1oZNteDVXnTt6AkL/xWATMGmihakq8GJlRTp5nfrlQLw0pYCsEtmRTSfHIwITWvPlEn1iXItzK8gycYXkulckz7SaptcvL85McTpa9Na00Drn4+rel1qfd7PHT4ue6aMZ4aA93+TZKKPArkIMMe06KkKxi465IMP/mSnGNFGLNLC0HNTmkFqNmtb/Zq2LzkYeQz2b9dnBaF4S8ghXhgEMAJ/xAF3FyE0VMWQZGVp0x9gbu0HLpXfhfb5EcebdmPRO28d571JLLp1R3yhKlXAbY19X9ZRdzsc/SOwsXkLBXc6HX1DhbfqjLYVvPwC3077d/19BSNBg1s49vQRdqMKF2UCY4t5dR+EzzMdRW1DxCxdfLPaS8hKTJS+nOtGxbD/JOozKquno9Vnb+01rbZw5ZLjVSX4htleRrZMcJnLSVwLYTWb1kd/QJDSxraQLRtmURvVcVx4PX0p3JamJT1sZKEvQfuZ1A1jH+Yfug/7H9WpvNo8VmY7g23ZlqSsHcLJuTbBcin4MFnZTmiwPy32+pN+gK2V3SRc9EF1p/OdvXQGWpbr0GYBtW8ervKfo3uvpxdSRoBfPluE6MaTug0Px7derjnOX6+EgRhizRatWy39AaQqZuC+ld+/STgceOqDS2z8tj4mtEDvshoYOjVYHj7uhV6EZq9X7fTvRIb/RokatmNbRyW686LmJy2N3j+h70v4WocVxb+K2m/e8BqC8dOQgh2DB+9zTBN01ygZ/pdhnOPvJBkEhJwAj0Mnf/+VZUsR17SNDNvf28WYku1qVQqlVZrn4STR1T1lNot/RJdHhCAgwcpVIgNw+zFDCW16Qjg/JfRYvj1q/mN3ODqbko7MkzBHrNm5QRBgOtMNsixoGDr45UpuMOWzK+QSqbxWjaUV89ky32RMRnlDOhVtv8tkT0gT4XduNaEhBZ0hx+BtAfJ4u0kwcdXD4cxQCxz+BuEX6QPCgfxbdLlMhKLaGiG7HG5Ar8DGUKJQJD5TR0vwgw+KsB/WcHfELysnyDcNwzPwFoyavF+l3jEYzSdJumP5x+OgnAF8EoCSKlNYeMyJO49PFiAxP1+j1nFNMvVCh2KtdgIWYevYccF7Ibb3dnZabndlyUEq46u262mt2rlbWscE/Ht0rY6/5bcrp4uH6HU00aez9Xoa81osxaCZ2pfZ9Cm2NvrbeBNKgL/aogD8RSmRJP4OuZQPM2z1VHYbpee1soxep4cOknFRqP2m05NbGxM7yaTFwE8GLPwN+iwjBcB+g5Y/Rb7F+LSEyvUsY7609nHY/tGQExv0uOcBBtdPQCMxm5COKMr05AARpCTZ0oIO03ozKrZ3GgOuEE72Q22St2j1MGikNinxEkx0aDE27tZMXlTkoVTS5DsozDhbDZJxLROGsqXkU1NtqaO68yU70XaiALDQESHVGm+EF+/omKDQLAM0zCPIYERlIAlf+gCphGSPkhTiHFh7tlEQjFkAbfICox+mDaae4Y1FdjgjUMcMP6LYcWW4TUMC7lfxJccG4CfTOZJo0z4I9UnUV5HFYk1glpqAEt152cFj1YFn/07F/zX9NepYd3UFnv2/GJXaKpCz55T6CkZspI2hGLzKHD8qN95KfzIslgIXOQlJIZCD7Wu8HvQG3WYt+UWlDdQ0LUTBKqnVuo2fMXBF4FpGJZg9jX1gk3bbg6Yr4SI/AiQ53gpj8l8FKDOuRjO74YVsRrBUs0dmMJqbXeZvZhJGqYLL/O7EEQ2t1qY/gnPsbwW4C407zAnEiuNkGxSL6pYSjmpKDr+iNXJtCipmWzMzFXE62hfRJdBibSiPMVbOSaz0LzAp08wcupJiiG71IpxpzvGD2IxtCHuBRnoMRXTeHZtspdCw7gnjKoD/NU8/ZWht6KJWYPpOecfsqxFKuIEMrVISJhSjSJ4vBLexSWfCM/hP4Wey8/g4SD2jCZ98MXgc0+hmSGPeMwTPuYT9mhKWwKjwr+go5/CvHewfx6wjQ0CuFLK2xf2UShJEAHPDYJknwDuptKqLvLcS+ZRzs3dfFhIXvJRuBKI7PyFiQLsBSgBWrjOlClroTRlu1KSCwea8oWLf1r4p41/OpeYPQrB6pb8KKwpO/F0sJBnDFZf6WFjQ9jXofk4p7tmPEhZcin1pfQUjyiiZfkgoImmy6jRTQLUl48BKTyCxXx+M8PvVeJ+4mS+yILRWwhGJ4CXgXw4+nGxuMlAmD+x8Vth5nh/7BknH8/ODZ7sJyDBQYx5OFUwu1sE7vbbNoLKLxxr+gOlxebEVpue8LwOn+SyLwknSdNZqiNRYctQitW34N5ubLy1ya7AJqNkYyM7dW7DFJxp0Hegts7eHr8xDSvMatAyGPrxEPQYlBqVApEuagxNddxXab5ljVlyMb4MQr2pjlEpePWUmWAFD4do+z/FpWpmj98j6Onb1z/XCop1vbWF/ZeyD7YymRgszsRq5/DG44uWshAAaTkAFNnSijRIlaSBNyg35ICCqbrVXhetlj1+U56oIE+ky4PgGtDjj97jYeiFmTDAST3yqCjBndAkkO7Vd/pas/RVMFBolitRQqIIpJZ+NY76XesEHpd+aA8CAbzl1YdBCAkzMAWQbRaNkwU1MXj7TWCiHOxGs0kg1CNmDqFJws+ZCFz4ORUK6ZeBenrI04ZCN3EkrHNDE/0lCc/ozZzM5AbpnFfun+ljggY3vswNZhnNpmHlsENYObLQ/W5pJ/cMlvOAtoZNHgz7X2M98TqZz8UgCUDsQno0mc0x9TOm/sN0oR0iql4KMnfiVmfup2/fHJ5uvf54fPz29bnBiEqL+eC/V/rc2AC20CKn4HZadRnXkNGuy5jEIJC0BlQeXECTnNI31DkM5F2eBBeXfmSnkHQwfzWaivRBhgz7UcWdCayPJDSFLb+baMvzk8x3giBR3RBS9eoImqveO1E2ecnYMgcmr/OKPh8Doatin0z/igQ6UTNny5YMra9MOBxaFjbjbOilDTds3B+MrRoqJWaJ7Ddl6irsrSs0A2Ec/oQ6JKFLtiJ1VZVeUapkFOSgdjuhYLPszhWYisZuoY3il2jlZm8+hWY27d/6U8tik/rYU1xMwQ1RBUzYkmTFF0V5SVkFnUJRYBiCk1vYkPFdU26u3dXQhccVqRmYaKwJSvKjTxD9xBcgbFQvbHwh0GcGkRRUD9grw0is9NaLQuNp669fv6oSIHPwUVYg+Pc06rwPGxZ7sblAKlDhbj9QmeS2sWBzumcOAfSu1WHsMRJQEnfHA3E7eys8VYp6RFchOojntmsQRVDGadG4fAXZd9tWri10LHUqd3e5Q/+62S/IDLQR1aeryvxYLrB6oEvoyWQaydYi4XZrZINGSsri22WRdq1YAUWVAjAfPZtmLDEai2q6JehdS5CkQBE9SbRvVpxvfYnbrayc1giFPEMW1kCY7tuO/HUc+nXWpY7wL+Ot72PX7Uh2K/Xyks83qcN0OfYhbcaY1LSvabrdRk23CmYgs0XQavtrS7pbU9I6QIRq7eTV71bkg+5/nizUmpMJksa89bYNsFJ2X8quy9xxyXSdOpldpwDZWgcZAaRlVmqe4XycnLIs5/Uwr2J1kaSHcZH9jixTDqzlMBs8NFlSVBCKVN6rk76nw3W36+GUYpDlUEB19vorELSWGkl6JMYKrNQAC77q03Q8hf2w8nwNHq1RH5NAV1VxQ5bREFEEVAPdsVHtmWqkvoRy4Egxl38YFMUTqv8g2fF1iaZX6Dy+w8Gq0YyouFfBqOLkgFlFa6gr+UTdKPTEYpEEQR5Q2h9P3h6v5iuiSmekCstj8ClxX6xGQzEE8XFp4iLWgkoaFEW2/DqeLO1BobRlSanh/Aa9Z9EX7a9roB2n3hXlMluCeYiM88HYxvQItcJ9LZd2lQuRG0aBIcII7MtxW+3Odnent2tA+rW+2qWr1jCUEv1Y9uJIhNQHqls7a4NAqkTavCBw+vz8kPvo49nbN4Y0XamUUkQ4k9Oo8BAIjrb6D3xmXKnrAXLxrxlyTCcav+lioC9zMs+25aqhUFnbZm4mNJgwGS8Mr1iOcIrSRHhBbO4/MZHxfFRFIkzjoLZ/7mYdR6/Nd3b5Tpe3WwzraC247Mh3tnmvy3d2eI/AJ09Q32nzbo93dwm8Oif4gJNj+RvOXUf8mKfsMQtfotqox/GybJEluF0KGeTsdmzfs8fYHpkub3HBt3vcKbgihPgUAgj8hTDal6BdAO04Gqjmi92drk7+7knyZ0T+7GnyygVniRLWAVgC1UToeWlgFtXhso22Wuwr5mRLfXoadqJRUEjpMIpv0IgCnCD2Q1B/ihVQ4Ow6Xrm0Wm6LNNNtB0FRAjklWZKAPaYBzvL+2dpD3DRwWz3/+ZWD2NsKu173x1B+GFbVBzIRT4EWP95ws/JnlbUNbNrdslZ2vLwqiwEXlRQKHKAvWVtixQJgoXgF2Lt1sOttp73toZs9CV6ZEd9hT6kf53Xx18ajQ5KboxXz6eaREbh7msD6ShgKs7c+pnShQXV4C55aeaXoBd7xyMyeX86q1ZC3RTBqJ6aC39vbZVvI9ZlqWEv/TtG/y+i7LjFYq6Y0U1O0Xk3SdvZ7Xq2WOg74lBgIcHDNkTSOeidAobT87Xo5ZGzfxAC87bZeRgXg7g4QLruqln9ScRE76IBOoOClrF22t9ettVOtzbVWSlzpv1ZbLjDZf6J5uzhQddGgtBGr0pqXiZk+SaVXpdKSf7E2FNntFnd3M9J/gqJTpZiLWqiIHYca/kHQelGuD/5A1dhiPHcLsvM6YY96I+w6zKK2qHu+NKAkrL0HVIsVLAjdhfevXw8gXt17YJD6BhNbKrElE3/AxLZKbMvEI0Lv5vhdmfyZYJ0c2JHJp0R3OweHR5khBOV0c0HgUeb84ZPQaR4Ap7563qOqDVJtROLwE9Bkroe00nZ2OuTHK2pF0UuJHej2NLPtcUWJujO9KyA3sw+dsaecftE5QDN9spOC7q2urUPTiO0PZs/lNMlg6X9r47c2hHkOlwE+ORIOuNuy1QH/YmziermPR4hS7rZstfW5u46XG2BKQesz7PAkV+C+7qZPAt1Le5oSMUt3sMrFlB1Tt618DniyjEOr13P2wJHch+AKvXd6IbY9CUN2pOAmXlL0iu0qrVtv7A1L4RToWpGaskLerp53X/bPWt6ALWUvlO6XKsart2nlMEvQ2r487BZCnvBTOT8r12r4ULNgc4Bq53pFDAsVwXwlIoHecb1ihsWKAd+yl3z9GlrJ3nBfMx8wSPLGyX4h3FGVPABKsf0HsMC/kJ/p2/FcPkT5mUoxw34/2OUJ/mUevbkuvQJ3KRmq71hOET5e4+Eab8B/iD3Bj2Iv5B9iL+GHsXe6ZB6qnL8XgQCvGvKDIOGRecr0rVbRahntgCfBg3+wF9vv7DTE8V4gH5l/sBWE/oMFfxD0tLRG45/WrCljfb4XHMp0IPeIykUQLrBysSX1wQtSc4pMbXlCNjXwcugVdlxoVTBBCl3BC1eCEOZx5iCV5Mf56mEahDapxH8v4PGH2H+An6PYP4CfD7EfmaF9GOPMxmndage42skoSsyEJ1YIakLycfCopjW8Nj/HLRKH+Oc09tpvO/w8huf3sdeC5/sknUPpoU6vPMPgsxCy4gj+vPOoVIm8A8B74fIbJHEvk+/kz6cQM87o7x+C0pZQJbUOFd11Z1c6VdV387bDcTSMY1psJi0OYNCfb8Nv9d9OOQEQHKLG+HgN090WRso6UzBk+tGoyN82b+Gj29VZuD2Zryd1/83lB2y3Cq+i87zjwKJ0dhmfrNUwQlQ03KE+p7UqS895tn5v/9P0Wy/9v6N2p8H68LFQ0lZ3DV3G77+bxu5aGoN1tdwq0ehASTv5W7uoTwm4hsVwDYuOU2Ih9QSz9muYPoPnop4nGUhHVhaCvVmnQQRTXBn/YQ1YSwMDakfrdElgHVeR+7wGjqbslDFRESXd03V0kTTkC1ELgNiU/8ea7G2ZfR+ut6PvbHaMR2I9kc7udxJ5t45G5ylLYX5cmv6VMU5Myxrt7HkocKIYf4s98rkIHEg+lD+zkH7iCH6wl4XnD7h4NxBmbJ/GzKKHc/XwHh5G+JD1coz5MqIx8YdsDkcJWmDlQVGzPBce7vb1SAoyScbfiiLKDTxYGsx8JwplRdEtuXdVrbHH9hWk+LQoHdvjGLRQWNXBNyzqi+BKIDCXo558uXGJmZblQxbgXxUXf5aoEk0C3JLEE/YoY1gZIhkGzlFsO31BqyHRfstz/ASyIitwmV9vLoJqM8oUGke4ChL6qvS0/AFv51phUZRRRRSMesV+NoCqt6k1vnp3R7YaKYjqBuQQyvsTBHFcBrFqR6fpysCcaKL8xzWqlPFkAoGwWjChxVhZps4aERQornzmL3t72G6SfbfneC7wlu3tlGBOMVPwXg/kbGsFh6SiQ7UiCsa9fy/2FcVVeS9p/qqgKvZI8rTWyBMSk1BKIHk7XE9ezxsr3CWWX0RloU8OiQSZOIXj9QK0mSWIxLgwAKBFYmxShZ0SjXz2E7Oqayhqfbnt6LiyKctgv4TX2qUWvwLutx0rlBjoQYJHciR2PCxj9hhlJJWMXZnxj0E5w3Vkzt+qOa7MScMglH7G7cqUT3GekjH8e1wpQ4YthspLtbaZ77wIJLhy7z13t9WXXCpJn3Iomtu9EftYpeZIQGmY55bS3B1IbMlExJOpwDRfCkMlriZNZRrR570suaeSqdvYXWXsqowsYUfumqnWp7QxnAuQYz0PhnmOEmA3Q27L/UBV7FDpapetMakeyydLwg0XTPmvqaY45wEuIhvOBdDQ9l84MGxbZrK77cJknFsVXgG6GeB2SWc90lmrV8UU5VK6HQZze/s4yYzBfrETcyHY7zFeMXBeJZJXfUvJIFXfqcqQG3ml7bmdvO39yU7EdSHa1AYvQAIGE7uya8plRD7a5BCGC8q/yH2k+bQBz2YU3gv+wA8UfryaAfmjtNIbauv/PAb3AcM1x7/th6Cv0SQ+hgLMVVd1a1myC5sGevbF7aUfBdK8pzI9O+36enY3XeD6S136/tTGw8P4bU9I8oQ5Zb6xSO8SQ62GogboG3daEvgOOlEHa+245GIYgcrSkhkp5T6I8u0mIIBYQN2EeL0ezMT09XdV3aSI4PFnPDrtRUt5EqYCqQ7F3F8Y/8+w9Fw4JWPjDRSXQTn1Hkn68cXUxi3Pk2MEKh/z2i9myxmve+YVkzM9FxP3772LYgq/v1xWKz/M9n++ENWTUOpkkTwPJiCann/8Mj1JZzdJungwI7mSHET5YWgoPaSZ8lCWFenNkFmbgbFpCSi6tWls1u04iGpE+fYRSMwW9mGmtcM3WcZm/4snv18zS8+SxZ722kBVBMYKxdgDoTQSltFvrsD38EUnJZUTBUa/lM5jXzs7B3JV1BWjM7aCzao0m1ZsbYIgWBw8WmefJldJmoA8JyIFCLzJWW2+jUBA4b2dxvQJthwQBMA8EzMP5JWwe4ZFxLJXLNgqD8BqmICmIHlOtzJ9Oj1UFGogbQ0MKRfxysrBCZ+1lDTI/Bk1QS3AHs3p17xl+ZnHbAu0anhTuS1JrxHDCs1b3AVtGVAGfLKpBZcq15AzqnXIGeYaNMQoWwZqt1alzdrqWirWqJcKQchXe6asCidDzcr+zXP55/yIGkZ5PwV4pg0e5uWRxi2fqph2Ck10msW0P9lzc7O///v1pCFHtZDh2o7RSLKvtATG3eJqq2fs7/XfTu+TCRhzA6Cnc+/3+Sig8xtes/nlyxf7S9uepYNmy3HcJhzPOouGybXYUi7NyLHip7EUsMhB55Q+tyF9PhM3iAPFRrRO0+k1hTRrkFehfqmgxteLK4kXJtdSZ01X/togVYa4Rrh209luIuetJNOC0di0pmAl/R9pCQBblPz0FbYarmmfRnnyTNN+aMacOuPsFFG0XFK+Z+Lg/bcYd/3lxwcJWtg/6m2NCw6kEKOOVNdxIQtJ3tJ45K48e/ATJJmC8n4I9bz8fKB+eYbRNJSf3qIxqfCE5tNDyyVKP0dFY5ugsfF7PuBDSXeBfcmbAHsW/JMvCMmHIZjjAtziwjucz++S+Hw2TqbzrBoXT1sAVIzTakKUMF+oyp8nOVo8i+b2TMxH8y08LpShKctxmzIL3xx3CzLw/yS6w+9ObMED3nIF7YEMZA9EzA4cnmUgJOtpdmoQ8ynhHPqpvT/LX33vcWuBpLZu5LdCUIh/+ZRlEZN+U+OmiZbEBeHwHh9PIVZToPcbWJv9pp6E+erGsAZS/3dQ5r8oBueQiH3wEP2cxhj8ZlXw5vpSNp+qm2bRvvbQIrEvxm94NE6klp/jM0C8KKucJmI149EAuBvNvU21ERQXWsHi1/W1155IB+At7rHo9LK2E4F2aJxA8IfX0hxEYwMbYxgY3xJPB/cI2chn7NZ4UbqMClp2800yGUF38PABY3miBAKsc8bryWRfAg4TKJZyjn0BVguFju3PWGx6q0YdNSGF8D7Ik32Hbwj9b5bVQDA9nTR9M3kAmloc9NwupJnOoE7FdDZ9uJ7dzQthU3PFwbAic8qsBTYf1Qe8msUPe/3Ey0uOL0qbDVRnRYmbVojBH8Adzxajq5Lsm9akELgpc9GgDeuNTFF8QEpdAgPDAZNUKsVrqo4c2sAtDTM3pdtMnlvDyt9e54i/29Hs2tikfuGXcr/AHp9vQ5+m8//xVjRhllG1Ia3kzW9XYvjXKlHW1qdCbY35JAsZv4/cLnTAYjoHzwXuYvE/saZQ6o8wkhNYrHN5yn/v5Lzr2I7jnKH4lVzyENW6lXe6qPBnLGOk+wBDMlOQn+2nHrbzzax5pTRylkNENQga4EBzzIDSuDzQpEsnXgTBYDUu/+c/jWoiDtaVEBeDS7jLSBmAdvYSc1jteVCJg3/rx6vCygoywChZ92CE8/nPDUgR968PSGkUP8Ri/5Ux6XA1Jl0Ejr/o56e4FpbFRHVYObxYZGNSfPrWmLQOOcNcgyaeNSbN6kWNQytFQ83I0smS4XulcIqIrBUsUX6RDciqMZFlquKsRxgHwjKzlHtMYVLQcWBIVzi1xvXOcMKdbPTz92r/Iw9U5y3t2b7tdZqIRfK/yr2td233s1HccGr6rgFU2m3uvQY13muK3iuUVoTQU7KIECZqkJpK0To9IglJ62pcykLVflodjrLH51e1vCeTtPV/VR1WarnR1CpB1ZTW+F6FlRko9ohAz62HH5JF//8q4ZvKl+oltZ9HNRN//F5tDTYMLneNDLEBRixfC4kuhpes0gtgqtbHIQ4lDZQnH1K7xbSLBTVdmZi7/CpgCSq2r0ISdIBDERJ1SYlrppTYY+YSmuAusgji/5rnoOqEUes4svzn4fHJp/NqICnHlRLIkEC1zvU2r5Oz6K+16ARuh8xkBwb0/O/oXzf/mzbtvX6uGzUh/Wz1Go1mTV1uam7iddk7/+maPAH3UanE/6tEVMufrz8yAvX2Wt6ovbcpHV5NTp9qobb5RjIyKgRIv2m7lORF0LTqqq/fq9XG0Icckw47KAwD4BvqDkY81xAEwWAyC8XEz27qS5jKpoV6f2kwZjIWBkTITOVnwk2chYxhsojZbz5+OMGV+pQxeTfuu3R2nY0LIm5gGZsAbKwOSeQYimqe8D0UqHDyCiM02/vks7z91DQ+jKJ0Np9dLWxYiwKatEYm5g9T3GYAj3jGA3JMPFUZxMul1BKuwCxxl0SoXes9f/VwLga4wGsa0jYMhnctTv1buMVwPazwNGjmY83cqgVv7Kup+5ZXMtzWbMiILUtNKOjZtMho/3hxr+8buNd3W1BZBmvFQtMikfwBiD/4hvgIqQk/KAjv9AdVoWk9Uk8H5JWcfKrNY3z8dA49lcGCYJohb+0Q+rRwRnCVyRiHctsfksVwBlUOL1EgzBIz/YoKacPD3IZLV7Dghif8Ng5ZGV5DKW875HRYZVmzu+agtLtG1o6A8v4Ymswf9gWdsRJMrYvZnyFlIW+0WASCY4Ip+JDRzjYJ7bDq+a8hH/N32UrjeN9MzAEXJBal89h0mTqMFcJcT97NqCUSXB7INYX3ZUR21dfsD+xX0HuYQ16fz7U7F2O5AhiZAh4SeL245EMQZck8Xbqu087l0zeDqDJN+Ds+ZfnFkO/YEHBDxKUciZl7BrnEDQfUDPSJedleBEleNklAMe8USOQ7n44w2E2gjHiT8pwB5fzl4uhy7X3MqY6GkEybVFMzZ3r+RQqTaBO5s6eULiV6Ar8OGTG/WXtjnjxRewKqK8FwW9VDzCdQi1OqPNQWl0rMqgDMWj+SGGO/MrAXAk/N4e8emPV7upYWHo5Xd+GaQC2kJHWADcz9qHQpLVaPo9tGIu8nlRbPJ8hqAKxavtwdEuW0jgKg5hsvwbSnQBKaDqZc86K7wDONR+Z0Vfgxn/IjnvLP7PEz8IdZieBRXQ3rSQM72sdf78iOeOgd8ezG23SJTfQzCJ6V8OvXjuMGQUo3073b2CALhmsTO/S7b2aCv4wyeFQkj0mzyJmn2Ow9E1PzQsucCWPZ5bpjfPGFqSlojPoPaeOZ8rF4gV10l+Lu+v3QPg2RBwHAj7w/NYR6GgAztJFXIfz8YGYkLnLUS1bc2RCvDgPEX79S6ZISeXnuL6cO3C7ivCleBjFHYdkSAE5ixnNOllUq04TcnGSpnAEyNRyDjnXbp+R6aXKUJVDbIILkvbotdmA/hGYkG4o0/MMYF0GuRknKb3misbv96+zI0ZMH88MAk30Zc7wBp0ummmaEolkakxvxV3vdVFvHOzZLUMFFKQH45WP6lD2K1X3K/zah274I8qBNLGahwcwUpwE8EeCrfMkoQJtZZm5YdmHjgD5e4TDu9Mdg+a3dzm53p7W7vTdm7HESPMoPyWUhuCeKB/Q5fZ31LIE+OMWtCMX87Sy/mtPNcj5eXc2TRTFvR1Gl0UcVt5dzvU9wI0Exd5dxKc4xfeygmOk6gDtdVJBcV6WrnYal/FbGE2yDLiLHcYWnjMV037ZfmmOr67yMMezCzD9m00QWzsTjzNndz27bb7l7Y3+Mt4PaOUXZQxQ4gvJ9gCCZIFAOji7U2yWkv0nmUTA1Iamofp6lSM5cY1GgBhGiTlvdXIdXeElRJtBb5Lc02MezD7M0kQY9Z0800ouEOgdqZ6pdy/aXJeodUT66RWbbQZBvHW214S0CtH3jcHov8APOWArDc3BrxZsLvIT50vtB/vqI3aPYy91xJF5GyDgYgGyNL2j78WwAsWAqzAjvT5cPbfXQUg8uPBhbGVxXpW5Tqm3bDfkxrRhjTMMa2D+DCDtShG2SAAVUzPHDANDoce8TBggk524rB9PEhYYHBSDuqAtKba0K0UjVt0zxG6oN/MBqA76h2phDk5Q35c8bCRhuOBnNh0lsS1ZFIqffJnE1mkrcBm7qwbB6AQNxopwC6VmqyLbqZcPPx26drq6C/rZs7apsVRLPk22JZLuaDYmAqjP71g+ykzd+UbXTNV9oCDwMDPgQB1YC16rDhOQvIEhsMJ77RJBa7BsHkwmwjRIYmMYwzsD75UDCCbQGkoi+SgE5IDdN3oEBQNaViBLb8HJSrZwUTE+Es7vpnyflEKmzm9ns6vkCGe8kIM36PAWuWbBScmap+4ba1tW4mU1G0QNg3c/GWGVns+ukMUsbAso6TRaweWzcWKTi6moUNczzz4yYQiXe3GAteq2/RvC0QnAtIVkaqlRqdNXGCE+yfOqhnVssGWIqd7Q1wLmrVgC2OZXWS/R1ou2WItpWRN0i0bcHrxv0GQOvIRYwVrihz7xCjwKizwEiaXyBYXHSOAa4UXbR6K9wFeZVTNeNjuYN9XGxbzDvrCnR6yRFJx4JKEWaZLrO9zl3ychwMx76egCidilAmhjMhBqaamM9Br6SPv84txvnw6Qxl5+FvRYPjTBpgKknKZYPDBWqpy3N93jWCGezBQ3f6X4MyJFtJJvLmw4UncksGuMX6FP5MXZpn+ndzQJQtmVbkIBIkGQEzUHejp53NUqvvwjQKH20DgphikVjkgioTfzA3uuTT6jOG9qzMXloJL+DEaEQDETOb3qVHS/twcSP+QjtSyi14akKRCGAiMsxaJDgeGqaR6D8SF5Csool5zKkTWJGwQRaAGZSF59BBL8Js5zGeCVFD0FljFjBgm9SsNWXPfRJllsLD4/UwofB48FdPFoc3NwcvvFeybCSoLLXFuOH09FiJBZ14WKHbt1UFGCchi+K3CVkESlIdx3npZ5nZVkaFIQ4Ch7dew5AkzShXZCCpmzKgasGE+i7qru8aw3xLgX88d06YqH9PknDBGYq0UscTuXnUgL6CB5QLvHaLfJ6BVDFq5BdBzghGj34rVqWGgWjP8Iv7AuY9x/tGYC3zfz29yC9//mD+nZz42SWLjT8Iyk93U+M4W1QjH2PMPad1se+/tAKOoD24TUKha0D2Rd1MLQs5FFNC+3jZJGNPQrVMORD64hoH61BfPt7FUGmY8wLd9BG5no74gjH/GzuJmQYXKDJn4OLmkiTpxNxexN1Em1gfwlN9Wa5/D6LhCelIHjCYyYnpgd48hdG88FrAT83V78HF2otAl3aBLdqqp3D0ei66TbF9WJLLlPAi8Gf2g0tkeCvQmoppPUsRjdzjcWlj3M/wQX+DkTgwM9C/rwPAxd+PmeeRO7XcviCMn8M9XPWKqR/qU0tWUjIgsLDkYcrLRHfJ5gxEKibNA4qnzYib4kzQOwR4X+O5FQIo+wcWn6KSQjwdSZUAI4+8B1NeJkT8CEP2TxU2Ujiv+TE8/xMAEk3knRlpfIkJ3i9ht6r8Dn0HI3il1pFSKqfNBVoChhqCohXCkjYErNyyvdijbB/fy7ZnOS/1ggraZ4+X9ScqlhjC5Ly+ffbwcA+CM0x06wh5/EmLDGRxK9kvRkQZf3zl9G7EXpHmJO9Gg3u5BAYRlU4S2IwIP8GbxblOhlZflW4p6lICRPw+fm6IHdKK4VK4qOVwJqmF6KPbXTfpHZmcSzEmdRQVDK+wcr8QjOC1zhT65KIMY+arfzEWcbhMuf+vqQuZZQDYWnTpqB3qFFUC0E8os5LxRhf1drM2HzEWUov5Pgz9yJ+GnoxzyYhPYeHHlBbiIGX8JPYG65s8IfyF1QwzlQrVbImDaZGMeR+wT/DFzYqkK8PP1Qg3VrIw5OzCmQLIFGcg7Agj/6JUmH/f/auhDtxHAn/lX5z351jT/YkhCsH0DFJ5p4RsgB3jOy2TQKd1/99VSoZyWAhDNl9114ztoy+KpU+nVVSxGloNId4L2xdwigNKTPwRzXpF2tftV9MyugVowagHq6pfIKv73z9FT5dUjRU8RAa0B0PocG3gK19I2g5uasySFgKgav3anNFjC03bBKkGUvk94+gohFnwoqauZHqacqS1QcB5Ym1Fjzm23ofVLGme0J703nmw6aXHTpYj6jZBdz365ADcPuhL/80Qo1802NP+DhS+558CAF0AfyyNvvio6dJyiBdeNvplNEH5n+DMJ4vPRrqrUmounavqbxzcEkP6PqWVqspDJ+shyECp7KyWjmoqjZSpfrzYn/UZtlKW4MD4ypgd/UtbKJVqhywqvDJrwpehVGjIrju59xC9mIW1SzyDQoxGFZBH1a1sOXM+W0mvUW/+fPZbKlL+9ZW4zDhvpI0bISMJPCoazdct1F5zvw0IZS9IfdkBYZKZCvrqPifAUuCyK+NPqjW8jTaUQbx1fpWgAvMBM/eyiIqqNlmlZaDeSxTb/RBoMG/UDuB6Qkh3E+Fwq2QTERVdgj3Q3mjhY/DY1FKuYTmIo6SLE/wggknsGkkhMFzwCfXDHavg3Sm64iXMdJaAIVzyZbXJJMbySXguLD/Rv9WlAf/6Fh/bGwywWBeePVhBg06RbvoNJCbeTfzkKFqRqLQqQmBIKCFTGY+7kiM8s0IIRp/CrpqwfGBgs/m4cPewh+oS7hoY0nw3pwpYrcAuwx1GjZ5liybC6HAuTzqqg7ngiKYkJ/dFaqYGxRe4MuOgrI0HbBkFshNd9FhCPqHsxR6i7ZqmoaKTs10BIuhX8DWWtLxB8F1ZGKx/E58GGc2So7tBujdzec9CXX1uRb829gH5W0ivlmz8mjdynTDyv6mlVlu5enKypGpsFtN8J08FtQs2OECQd9VtS4w258FvFD2LZRaqT+rRJL2mhg5EFwpnc3mWB3Kk0EfxsiS7IfXY5kVMl4n126GBTjoI3CcMkml0sGe10QNMYtR1ZZhFwGU6OVN45HZtc/vREHGNtDlpkUcNPxmRbluqUbBBlGqBjX1BL2oHs/mh0N3SDq1wS/2hcfORGHmVYKJRQmpKaGS+k1C+zHkMwn6tH8Ve2uQ4uWOcT9KYJ5i2KoeTgQHs+lMV/D7LWZ6DJKIzyAsgWWMInEzcK2Agx/Foo/mnI0ZT9lqTMcHbanlAUKwbdzF/CaaQ7Ixaufw9W2Wy6Ys4cCYJFPAKap+FfCHQZKf6RSwxQTdJrSxzqzl6LB5EqRZQAfSqYuuWiCPTExlM0xZhkdKsdVBRZnv+EtdqoaFXvlQZZgJWdVImAzvIGGD0KmirubXeVF5J6JnQdy0f9OKrE4cqBUEROuEq1gUAVQSl6JRO9ZaNXEP7eBSyxCuJFjXPsvRjtq1We54sxVYDB8LY/1SO/3rkV60tFhVOVYxgwjXmsOoxxYGq9uWdVGJkByi7pJ1HT2y+iiNwrlc7+KvcY2tl0pzuhNvtN6tIEmVZKwKRZVsN6BWwth7hvWIz5pt3S12HsxHYUDlUooLMOisCrP6xs0VDBFJKAqOQTtY0lTbeFCE3xEcOw0BfxWkmX31frEfOGiuV3UC3niDv9OtBVztLWCYzKER3kRRtqOsy71liS8CWPyzCNiz09sF2mYcyM0Glw3v+Eh1KShjQALg+XmvhyuKW6CZpnb/hYU2F1qsXrEb4/k3vXkYQjIzK1Xl1npdO2ju1ErpgNpo+eQb8YpbB5r0j9ZmaYSOVZqo6lp9wyphD2EdxwWCh4FqAlk9Fed0T3RbvWHwG07CCtS7juGVgVnwa5ePI9gt9k9gEfbRl3hJ6TeQ3IqSGcnwY7aM9cdBlKjkWDytkmHlgDHe+JGI99VHo65FHRgrXGNt2+jB1kWf4LR4vwKaH8xtledhEkwmsssfzjln4VUwZjDUoq6heMsCwwDNRca4z3yYYwgtc7sJLbs8A+XDPAl0HqDON8W6durbCKOUmZ8aq1AveyfqWYV4LJvHde4XHYBaWjSbBRkSNrXjj8Z74t/yOIkeA8XaQf4M+3iRb1D3h30LMCAJTPFMOdZS/LinEBzJWiFJp/eMJP15JgqSuepkuK80pJlpK5z3wY6b+rGW8sm+UsTn6+bZQjU1AM8fNTgZ2ztcN/zwyht4lwDcPYcZ3MDTveutqbYb1Vh+mnaBjc/ClEpif7839u08MIHu9wfSdDyDOEKhq2hpccThmKQh4e6lzXB3YqDTsQW9bN0LoGqZYUD4RQY4QTwTRD0ZS+n1/tuJh1sX5lr0uYexuN08XFhQS7bPPod1CNw+/80bAD/KNwnoNisMILZTXjerWGsmgB1uiIohEIDP+oJoUShcvpdvQ0LRvSWn0yTiZftmV9FTnVJRsXS5+qkU5+XiJDob2zbr3WKgMJ1gMi2TMyRHMOjNjmsj8c8TOcVS/oGz8gLB6KzC+BjQku8zAfIjOoeZ2XciNVnmV1R98VHA43n2E4dbsP3j419qyjedD7zF5a/yTA+Vu3dLF3XPRrfdF9pLbKyZ5XwkZPg+xNfonZlneM23u2rPv/0Wq8u2MAr1I2PD5rffkvzegySodb5rYwSICSCifOT8/CNIfJWnvjr66MM35s9y8V0wYolQPKSKMsHEaUwoK5OooYRkdaZbKkCP/6oqwuD/RzIs/IvkS4gJrxVVzHFEAK/OWwzqVpNCenKiPjc5TZZx4dOp+uR5Qh49OVKvA1EzEGgvko7zJO8SRq/BNCEpE+l/wHThnmk2m385OjleFKyEsQ6NMGDc2CZSqXWdoqh2i1R7O7Z6eIAN2FVtIUSeXCNb6m9kU5lu6usXlNXu9oml03aFg2mfe3eIV+FumxNOD5YCfYpbzszSwoG8dUohPPbQxh26RZQtK/EauJUOzziiCDEqachmcQiCV4IuCmORFnIWRcpaqtIFOpYCvvQTnyWAL/sLsMwdMvLSgFtDKwwDGv4mkgufDXm1z/+O4c/qxu09blyvfAPL31+vLlwpuZ1wfz3+btwogyiVL4H/Z/WQ55JqhCIWbrcxLmXcV7G/b/kTFoUe+RUo86rQBF8d/f218SctildEllSBuCsI+ALO83sCf4YGHehbGkuDJL5cVXIuoWEyBcxdJcA6ANKY3+e6WcRFyE3AbgrTZ1GIkaSvGpyGUQMmCrqreGfHmRLBjnR3qMQK1SJcuY9ixuSijKVwgk++aoArS1MXpx/MTZ76YMfOix6f5jF74k/rneYT9Myq57WQQnAL4ZypvgCigWS6igwy3FCWWrUg6ZmycqvoF9XN6tpdmNAOWJjJm+uPtFLx0LejXpWrx6yTeSW0Pg8DrtHwVYM9VgJ7Mw9YSjWaetdw7ytYySOPTN3zK1BMx041U4sGWY7zVJENB42+Z1ZDDqbLNKAkbEGPtHvbbTgBwdFJJhUgr6kVEohf6v7A4svv2jAbbQWz+krw/8fhlxiHoUrnQnmckP33B+FGwvD+nJCkKSR99M8yNfJcG/kxi2IC/rrySA2NC1cwZavl0Wr4vtzStJGY8zgOl9W6+I4JagHc7NzPi6pY87m69eaOOI4OvbUjjLMrv3BbY1sn3nVnd3Tf7Z3r+KCO29smJolghIiSakQamJAWuHUaXdnrTedykujajeKmUG8nECeBbtxWsNPnjSuzgzz9HWv1IOoMLUriLrY1cOXWrpvOeqhud3Yh1X2/Tml0YpfmMV65BX1isSxglTafextndRZX2/neDeFoOD+4EZytZjRxlNzaZIg9p7u9/Dh2V+BhFPEnVuPkjhESglN6n0i9saXsxiGuS8biOvxRIaPUMzttddZKxH3rUKSEusxqGJ3JSd6JG8RJ3+kuGE4Ch04L2Cn84MjrIHGwQ3UeHI69TYbaMq5GmXcmYglaCWW4vaZ0JhdlIjeIkzLxLhhOyqROC9gpkzjyOijTo47s/3ufICrWKFq2eI0BwfPTnSjNzkjKfOlp10O5fAUnszqUAV4l7ZlSR86UBxp/oA87XdNexCkrnjer+ZvxbgxOtQQZCVdn5+BYzgNuA20q71YbPJEQFgtyu1xYOuBQBpWiQ6y66RUjYzNtJNKK8Y1GHGC93JC76AOmeRFbblrP37Ce9nyd72W923iSEJ+hf20YgS5gP6VDacTihg7aamdFHXaQf463aaF8dT4CwqPsPrG2KUNLWN9c1iHxZVGEuik394CDf0Gb5iyEuAsDrVU0QHW8e2FkKDwkqRhoXXTqa3QDuh8L5muTyqN/kIbF/B41I0ZeYs+Msf46N2Ye7SaYcV8mNbACV881/0+ialNgmGiXuX/6B8TumiZzlCp/1Zpd7Jo7ijczd9abjB3goNH/aoscM5jpxZZxl0WBbnF6wWltd9dbCuHRhDFuD4dTzS6f1hivUAjJDbj77ZHdMLhRLu3NZ7owvW2CGe32X6iWlmVdvtmFDYcDYb7FsjD2yJQ8vjbgWTGSmJiRwyOMFKZ5x3/OU28+HgcLfUK5WZxYrO45eT/6ifzyL/Xv/5BVPUvu4jzwXTjnQAiTf1XfwYAAfwHbK5tM8rv4Qfblt23D4mQPM1V027Jaain3YlEPpX+VJ2bNBS6C+N/f5b2wS9uStcXheC+kcsRKTOupQ3UvlHaeSXTv4nAKB55ikp03zs+6o+JQ79iMKGIgP5Ea3Fgcfu6FE81EvpdqIDaM6D6EE08hJzC4fk5vDizd27cjtQ/fg6SuOFxCznYxRrOjzkv7tP5JbKVWxeF6L4Qxk2yFw7dPSQ7SOuJw97ZnlWBO5zrhBISWn7c7TTaGoBeOgj8m2aT0MozeOs3QBbzawyoxBwQlaSbdPv4bIytM83bkdd9bCsTPF9HqRQX8nB41xLN0UAzokiC0jRif1+2x8I/Cda/dGKnbRoXziUb3yv2pgfViUnAbSmhBQ2aCv5Ovqryrc0O8ZVlB8CxefpKzjL5ox/hSplYsbvTubQgwtIZPUm6r9dbd6rzf6MbWrHaqLjssjRddx2Qt8Gt2XM9CqrUD1e3DJrtDThDP9NdC1vlF0ctQCx74cY+U7JlyPWWaDeunDGFgXLRfuMCfPh/Szf8REXgm3cmZgGQdlqqjF6BMrRGMzB0x4EytIjcL+wAIqf0k7Oh/WTpaS02vlqiLAm5Z+DkfuLr8ZqwclHALE0johi6jLXmhom/2YtW5ePz1mmfhgOcjb+yOQ3QjrYMt5lkoWHHzXA3xrVaK2o921+cP2Gntce8NAiVgVHkgReuQShUaMKTG19fEZ2uoviEWsZN9MBXl1LEMTuykRWPTgBiNMQdTlSGSIver+eFlnzacb4SlSH7ZSNPs1RKcH9if8pNtdJhKE7KN9G6prSARzopqYT8ppg86q+0IbKKI1rlTrEW66XRmKoid5giiqut28qKdPCnH71C/xaZgKG5YeT4OvRoidgW2pOWXDkE6PXF10oPvWf+hKOoMzeYht6v+QW8b8WPCt4blVCYYWIQykaFnEatT/8KZ2DxYqh0j8xO3Cwhu1jHfdwzoc96GBF3yqZWapUvvXtPq7PWi0sFblghTB73oR0z7Un6W3IwsLEWmClE8MN3KaM6Ixq3WSRfdHZHzun5RjdBioxWpqPWKaqEZDFRZYD6sJMlxJMobrglj/PevLpi0+cHIkKb8s16Aqkk229z6vRiJvn1tGYDHMu5BqxduyUYAKY2Cu1/BwTVA7fYwyOrfran5+2c18Kd9iPZLaGh8zzdL3xPH8bYj8ops3Aiz/9ITbOpGdDfFDa3l6R/CroO5cZyH/hV+/buSIjl1eDVtb0vKpF0vtqW99UQuo7L1z9/DA2jRsrI3JQUPBEGQgkhQBFvzcGU06kzUG9z6/fnPyy/Mf/4V2W2Z5PJEsuVXi3wsZ1KzTX8xX6Y3xtGg8h2zBtvHDAX+m1U1/sgz/OXqZS5klmu4uFwt/rkDd1TKhL6SHOpvEerBQnQM8nDmmlmJGTKONFGIZTne9HcxGeXKbCObVA9beDavnm4hwbrLGLPqLxG02RjNUfIxHhGIJSKYm5Hy/239IWd7kZeP8V7dbKWS1Pnu5sg95O86GjDLCfmY1Zkpot0Mf72U3OldWa8nWT7vqxN2N9DMkDE/gPTkWcgI/f8jzNo/cdeX55DAxNIYFhGj5IZ+PS9qrH4d0rgwX7r7/yLswFXo52Htqlciq0KYzFXc1IUxXrcF8mwpw+7u4E1dn1A6xhdw8mElFJT/52a1KCa4Bc3jM/AnnXF4bqOPJwEKO3Kw6bkwhYy2JzosGEqZq7EC8ZqDagghy6b8v/qkw+6Z93wYfTFutA3lg4HCgK4kluKlN8MH9W4cr8H81fHTxyBNOsEu6NR/z87rEJlHoEu8OXdHTdWlPreRFQ+ODsspTllnWR6zbE2X3xF9pOCJHihyVW2mrWsoJoU8I9WCZTFPT5lcLrojMKn6i6C1BenzbmL0N8OHfKNZuNeM1Frf9zHyEbJe9hL4oknk4ZvOJbMF/+22Dl0lRygzf1Ygtf67Rw3LwcTVJpXnY2bEcjJdGV8dGSsD/MXKAPeXope3xOuQZBLETA9eFssL4MPCW3r3qL+m86wp8gBQR3taDGqlBQJ3Nuyx9VhGM9W6lMO1hZC4GCIWZpKO8MFaTAhl49pOSgQP3AiciwKcQZWJnU2FZ4cAiTmQn23tiIhUjGtpYD77M9Y8ar2x21e2btTV1lQZK+5vmlH427Sw/5Sd1naZNeddZHf+y90QRc6GcjPfXMapP9bfqu0x/TObblclWGfYSOnpQLnvURyzF7/sl99Sn58u+7Sp/JNy3ixWwNO3wbxtNhh0Vw3qu2BPUWtUIMTsw8mp13JRRPVmAtfbGn1rujJenm5drg+diHje6yzsxgEUvzp/6sYaUaUThP78jXFQQhj/vzm+UeAGb+6tm29v+E9b3UuOxAreUID4yZGPOL78p/dRQNf779B7fLlJqsra230rFtL2N3AX0NgzQZ1T9ctAdQy7e71IJ2SEdEww3yWqWH88KcfNpHZHZT58gCCLKDkJbXk98l84hJ4YeIJ67auXR3Wgx9NbzwruLvzy7JIGroLOj9FVW2sJQoZOYuDQgUcxheCxfHHMuea9VuJ0GHVseP/lBwnOwFHe6A0RjFHd6LUijEZdNzMJVDJEhNSLvCyGwZWbplrwPPo/dc74A0TtRfeQUEUNulwfX2q4Jeqt0AEabOnYpgXT7VhkaJ4GW2KLg5K2FNY9qWp90WqYxTp6HUMjV4aExlk63RuBaGRnRLQYGvs9Wliwr+KXvYZcsPbSEAu2IjSkwpkGJgIbT2eOWlQaOtFwrjuCK5XXosZLwlZ44EQ/yHIkDiiHfiSWdDD5IrTIA4paZJQw5Ruskhl5EJOxD8Q3E5GdGOFU1YBdAmGMwq28cuE+q/aAmKq7F8tgNJhk2A3ntZXgGDY20QcGMK+Bi/YJQarJcfgoB1Wk/GRbmSylipM9x5i1bX6SfJwzbneSkpfjADNPcGN6EPSSUGZIDtWeSIztmexEHOdDVFdSwAoPTMuT/06O/sstSk5uZABrBU0qqwpG1VeifVi+KgK2Rf3qDVznbhswqoFgZ9uHdNwI5J08fFSCz2l5JbYzW/QPun0OyLwUtweDUC081ESSdeQE8xxi6Tp2/G5c5AQHMchmk7zDhulJo5DADW5GNMAS8NrZHgcweOOMUNKBmO5CodQgTmKNNjAap6lGZLXzF33Sd4n0Cd9TJJa9T9Kq6AN6hiAgmJXQ4SqEF4MCyTaBWHSSKCkWLWP1/uLYhU1ud6a3Gg3oPSvxwrBb1w9npCdrdJYWND0d9Plnx70sMmyjeJeD5+vjgQ6utE+ONcFY+quyhpNjp5+DGYONZbeX5VqX1eRhiIdzrP+W+Z8esyzaSB/sNBX09vjq6ZWLTikEDG2VbXZ+WB+I0jS9HGeVPECP4G66PjFoh2TUC4YKZIlZXr3eWy8xEKWe8BJNt3zP1UhEO2rqvGWCdgE9hReOOgBg2oJnV2vooEW5Py7Dvn2DSvXfFvCSDnPraox684z0JNCxyllFUnvrxsOFwCAGsBR5n0sVu1LF8ZGzi9zor0lOYjKdswEpAbVgxD+IyTH/DgG7GSiyPMFdgstMhZX5myW+18X5JovaxRe1ThvCW1yVIpZ0saAZ0XS95DiqHS43mnXYiWYVTjTpQSne8HQNjx7/lO4Uo8VZLkzHRFmlw+Yb0YRoeApJSkmKn1160lgIzUNghwCaEvlw3PZnXg0kxFyCdCJJjFglBqWEWh/HiYRhA8XsIwiMU0xW8szAnVUweLeBeDednNmAMJGAzK/NsmUp+cxCZ2aEoQz9tzMBzMSSZ8bBT3e7p7r+Yu9LtNu2lbBfxWZbhzAhhyCpjRTkk8S1uye3uWtV9R5wiZxKkTdlc+L77P83AAmSMp04/77ZRyQwmBkAA2AwxIq7NlwyzHDfBu5qhsEFBzO3aDavfvLt7Rtp4+qngAdeE03fKA2O4BO2rzLcwjpscgnN7ewlYeOy0ll1RSnpQ0WWHgqqAXv8roLOZ1upnZfc9LWV+i64DJdA1SXnlMXbRXk7uXQVsScdTvc2NhPevD6/dCBOfR1eefMmKGb41iETCJEag7H0/Px681qttOd2IjxEpr+h/msYIMXzGEaTTgg+Wme5wtUvJdcWv/JVyWWbT2T4jInPzKFRAiCT3PHSqUMhfG/d/3iOeTH4TM7hffTzLx1Zi6nb1yKCpn2F9DzWifOcA+MMamdUOwf66sOzEn1UB4gGqQga7ojFgTAxuVl9+x8uSTcn9ugL1krJeINvo323wmGd962BcnOmc1o81+UPWIzm2siKFu0aTdV8bNEtpJ1li4zcC5nKkVq9kT/pD9MErCGl74LsiEI3KL2yZHv+5W3q6ivUVDn1Uq01uaku8v+NbiXjX9NlZINo+rVK2G9q9rWaS/+jvRh1sI9bCk4PVHrlageGe1zP+1qhPVSx7ajULVtetYxyyVdgnaTy9RpLetV54eJLFknGHkWXSJVMq2uNqsRcyFkmxTAM+qNIjEOey14whD8cDcf8Pxn/Tz7na6R0PZFI6Gq2nk6D+UfptuSxZtBswYhNJiOUsed9E7FkNUulGOy7yhtNp6hbIprL0b7SERuGabL2gEJXOl5o8NJIZJkwSKiQahbOuZvhLeYfUYNcl2D+3Jtle24OZzBnH/+T7RW82Ms+/qfYy3n2R/5HwfM/XPKz+UzJ5XQazT0XEl7itZrNlry/v/QED/Hs8+H+Eljzb8TAW1MkDHlwEfsQNZ2LIQ8C3udjVHUe+DziQnAx4EHIB1z4XPR5IOazaF95S8o0klNMp9Mw6ClGJTIvcxUlyNLFrNdbzuUFpYMSo6tDKh0nCQPKcupJF4EgnyPJ+674Azz3hmxP9BmaRdkgxMAqxAs0rMat8keqvCzKzPtJ3d1QJZWNfsJeeEcR80ynL6Mh4rIikVQzrdlzhkfjcCFwyQ+2zgEyNEVSyDxpRlzYiAtWSHLWF4bm0plcxo6XedjyquJql7DZCTt5aCEU2LUpdfI2bu68dbzioHXskedMHrZRQNHc6+rwpTQpTexdpEjmAQaLn75dl6vS37tL6qJ3pVzWd2T9+98OgK5TibxxlX6BAsUF/mcpTYHcguub9A9eXum3SzC0Fzf35ANKW3vb7gNUpQfO9IFHaHW5M8pXjTx1GCOxe7IG2728nYIDvBK7c5PK1CtudJkUMmuVXW7LLr9Vdiu5u5sfNE58gihXh87kInZiZ+LwC+17aLwPHb4qy7pAwzt8YDZGxxeUxxYX5PdB7DiMksbXzcJZU+HkLN8unHVZOOt7FU4+W98qBIJRIdwuMgo5rC6N1TcaA2mNOVDAYBmYO3ZXxRvMQ9CNSbhX3WHxypNLb00Z8EDfKrcLDTfltdLlpUViysGTxU1l16R1W36s2zJJoGyrz3uOp9o9kOdsw4ZQOjJIskl1KeXDKMk8jzQL4b4AUx7tZyy5HWGalspj1yqNts5QUpVjzGClLdBoWkWDin/l7GrVvLfnPC+dLfI6KyJJbfqS1PMq0xGK5arA97mrZulcR5ARn7TNhwAyu8mkEe/BCxgFT0oJgJIuwO8KqSLshcx7YjrUF6szpIn6kIfaj/uY3YCHAWPMO1U6YG/Q74d9lhhFHW4nHPbqS2WSW9uo9DF8vvl3Jdi/ktEnpLM+O9/58/Wrc8ws0+wljf3nGD3FRx/soJc0EWRs3h1dn1ELtax3/jxD/TdR7vx5dbbWQtIuwlV5XpKpDFwpjBi/vUr1LD2usIH7/DVBMn2qFBw5NIV20K3QOya1esoeIPstD/frde0DbU7VDFM2izWNA+sFzJmysw47qBFdGQ+kY+wPfEBjjqxynZdfcnr3zQ5d4byTbs7UzmnxLqB84RfAvXOp1jlsvld5H1NqywIo1HR1cq5OMfZTu95pJzJvQMZBAIRohM0ZMa6d7yBo47KOd5/Nzj8DObP2FM+LypWlnDJxkKLw3Ld4nL1lnHLUhlwofqX4a8VVyv9U/DFPFc8VLxR/ofgTvlD8VPGXat4ZdyidczQAM7FKs+lYHkAAffMe1SPyKIx8WU9WD28b1LfVOEPNKDcnY2rIqZlmM57XV5gexSyX9pjr4ZWZBzjF6Y8r/DYpffnSeppyLpRqMub0zIdb6Unfg44KrU5rWa3MoMDnRR7KWZ7yIuUvUs4XKT9N+UuIj45z5kuA2p/aZTN8rC2j7rA01WGrdF4b0q9Sg2I00YcVndhNGmhgVVylhNr9gv1QNkkvW6rDePWxPRCBGAVhJHbNHdQ++wwjVBhaZWD4NRiJyWNS3neR0zjcuR4OtWlBV0VDyhWP7GCp2neBM8BoqmvT3IGCTzfMEroU9lT6eP4qUzypwhVS3BjnZYNEtWg2qVSJP1H0NX9wpCS46yNVkTl3K5YCFLRdhBFTYtBMhrlfFCzAKaPRNsuFYBQTmBOSidMnHv9Mu1b4V3aNOjSuODv4V+ravgx9N0cmKRGAbw3cYDLrTjZwV3XjMLVMMZhUuILxdEY9oL2FfmmToz8aKbJHaiuy7OBFditdCAAyQlrIHPxEM34Tm1zGhNqRDhAYKRctKVO9krIsXe1FqU9QUyrOpkUo+dglIEcoWDZ8XsD4sumPGF9Jcgz4BX3jrmsrjqS8NrXn6h/oQyqLzXRIFAy7qfFxuEzWlXHwpopixfhCwtWsxysv4Ph5b+iW+UXbRAL2ooEqtFkRTE+NaZWIyaKS9weHVV07oyg3shV0TvW7Atw4cJ6+fLFxTQSXxfkKVixhehsPwZwqo7th+or9U7QFyhxlF5+Y0nYb7oLIDZglF/qWYsBuKIlSwqgK8WRN0kK5C45clbgVKYxKZP+GxI7GmspZLUbhT9dajqkh0Qm7INOXmRWhCdVxqgffwpxjZu2IbtMKvYIfpzRNnmiPiIGW0ic34cPal5J8e3sprK5JOgvp+2ci22BZwnfb8N0K3gbLCjxtw6cW3gYTlCHbgPlz/TWzU/mSRsqDuGq9F6A6bFS4C2ocMTVGl5ycuLImaYjA8/SQHm5WG/UUA9oniys1jD73VniLURRXSjRAQ/xrKnf95HtXCE6onPKESvN1TimAq0Xaj20b0umjB0pwRkSlyFDFjuS6RTWIjyRhltXf1VEQbgtrWGFVn1FAa2OMLB+q/LfDx1U4maq3g4VfhZvW1QoTCPvh+dNfDrTp6t6SvggqBNOAX75434EUljF4FHkrJCpDerdC+gipPjg6WA5apfVSHfyoi9SUDoLUVhGJ4TbB288QjLYJ3qjPUIy3Kf71aYLA3yZoxgCJVFTcv10vAhFTx2qaUrMzdjt6Y36/rp4YsnYswXYSL/PuNFIKCRDRo0+PwVaCw21W7w2rmoHYooharbeOkVzNboSASPeR7Apos+zHxpeb6UabpDHfsteeGxvtW/LxnddmZSiMulcYA8tjDFwrZvRZQHr58Eh2f47MVA+Ke14nvlNOcbdhvbfXDQdTxGp0yicx3Ix/OmKWVDfDH+3t1Vr2qDKLTtiHavjFjr6cIN4TeXLwymzRZpzo0NUV77Li3ExMn7Cbm9puIc5Pp7JhtYBDJXifV8Yp2YwXqMD0dLPGB/tNQop3y6D99eBIf52bcTWpahO41N6izY6YvLn7lnyYZN+Zp17QJ+HgZTcEJ+MYxdHBj8/y9xKeOjCjwKepDsWY5jlNSl5JAlkcuBmvQ1uosnZafAshqlcmdY17+dGFSYLX+K8qI11tWaF8RbYAWbeUe7zrSQXqrSx8djGvg9YUpEE2EL0ZilQXdMrBxRS5HhCmkV20JIevusD/Rr/g8HU6W80P9TN2dJPa+crxiMAW2nZh2a6645PhVpVUh1t9kGKxuqm+nty6LtXDaWcp8avH2eUr1zFtSUFBVMeNVAbl7/SVlkvsni/IaF7SwwyZrbTlbDhdyAw5JAv2omVGf/XV8388eoYPaIO2lhfNj+pQyrVtF5D2Gi12LtdosmRpghq22YUeuPPhsHa/NTmW7MIyXDPTy4MLClRb5gh7pdvyQ2f2hzPfdz7O/vgd02Xew4U2tsH0TcWUoosdqaNj+ewNXiiHv51jSPeJQv/P5nZ2ygw5X3TqH2GNlZIDrr2oOLCkJxABctpNG3yKlvsTQ+pJaNXP8grvySvQvJB5za76gEd1VPTdTpxymqyE8j/HlGNnb0ARMO44WuYL+cStZNoTjJupvFMqrDfMiLyW9ZvZ6ZyIC2P/z8jPKyl7i8oxBPuFB8b97vHTUI+J2snJPqvnBDa1IUXMWbIxsR5+il+g+W1YvJAY+zcEuhLWPnrYXBI3F9luwro5A0xYza8+3iZj8TYv7w5evuHFbkjkFzRybAUWMW+RpJ5c3Nzc2IZaQOHJAo30Vs1OlgYuYE3JHDNszSmX9f3rxEqlxYpqRKarQyrTyr73+VLLdM08C1simdXkAoLsYBTlBI/G8P95awAMGiuXA15AI1E6UZVTlsvUlHnXsJjz1U7nSJipsMtq7GtrRGxZU3cOf1E+l0QDXDv61SbYHuzSZZHk9Ti9ydJS0+eMr4yDxi0uSmfEOIrEG/A3NBVLecWsEC1FibWwHc/NewPmkZKuO7GF9JPF5CJZVEMUp5rbmvFNa5Bt7QUcP++U8SO5aQ9O0CKYo8M3iAn53LSGKWJRBj3YcR5shenJsqBBCuFuOGhCwKBxNtIAKMZitoG5hfwc1dnZ8GJ2NJcbxkv6I0bT8EgjZlVoGGB5mHlup+Klmes3RhIxtNpE3okazpZkItbod+AFwBMNvCT35MrWOduv5jJr9pUJVVFdFgszP4gaNlvMOTQeahUaH5Ill5pjTLOokIoFdPXWF6lbjXS9coeNBRZpdSyKmbhGgZ0eXJ6ZrWwY9RMt/+lBplArr6rX25c59M3pwVEvi4N7YqZx2MLMYh+Z9duwrXjTz3A/LWi0HuyfKKQkvB/uTwpp8RMbjlmk71/BHqfTk6jZQCi1/LKm8kgnk8CUYB0Pg7+VaIv8zenBM57Lxoxc+hAgBtWW7UMinktiEb2cJYZ1+VnUlogEyT4lej/qRduZpNK/OyKeyjKKjOkIc24iYokW+5k6RPjqIEfGobdhzQdBxGuIJ+bSBZDWvoRNeAAry0VIiIABOp0mkzZ5m0jVcs3/75RrS5zT6WgviEZJWyQAh3tBP0jasiFxChJ0LaOiaqKpkZBpqaaUirpktLZQzRIhVd/rZQmzUaQYnOW1j9JRNP1UOBx9flTHvuyK3WaKF3VGTPw2A/9dYl815jlaOuLjx7aKUHHQ9vc6VVAcfgbLqIfYb6jOziSYOMW94gzuF+dW0pppaE73iGA4UYfKC4NY1RhvoN/LpvOk0vTBPjyoX4/cToOXC7tS4JV6VzperlGn/6VQLKlipFG5z+5Cu0iBlrfQlGfX9BGbHrHZDiDCniZkLCEsSVgJgSWBTTv9RLK5b/7BF8y+Vub9G/jV8lgYxUKWTir1rCzZZrSkD0ysDtG+1qcm9jHRlE0kq8BqAsr4GuZNyDzXB5qZKAHdIUrEZ3EHU33oIbEdfJ5tv5MDDjU7VzmxGH6exYDFm5kB26HNvb3Tg0K5GS+H3T5Q7nGOA5EkYhhKQoG2E6MxSwai9g5Z2eSzpJVbZKY/IayxP9XIwECdZIkQgYaLIKoDBv2wP2LJSJaQQT8YwT9u+hGxCBuAcQjAoAb0/T4AwyZgCMCoARAgCRoYIWGEYQMw6AMQNQEDAPpNAJEMmgAfgGETIAAYNQEBAOMmAOmI/CYgAqAZy3AMQB2LWYUzHhjJ+X0ruV4EMQnfYkYBeYfWG5J3bL0kIeFb74C8wnq1uCyr/pi8dcYEeUcWOSJvm/O4zXnc5jwOKu8YoYEYW6+AN/CtNyCvsN6QvJY2RKp0Vc25qj/tDtZ6TYP5DvmwVrGD26OWzg1Q/zyVylpxsG5NiF59TRsAi3cwqYPcIa7n0K5n2dlKBvCUw6dwvSBbGz26QsLJ/1TJoQ+HUd8axaho7fxa6ddv5vW95nVmPItM7tL7sTLv7wx4ZebxEYP2/mSgR/r5xHjSVH6gzBznUuD1o6pI/mbC34EjAmz3YIhMWI6X0aM9YbSofj+ROi/tQwGb8wEQL+WjFW4WutsOCltqVs8371eFdL7y9Z/DW4HYfrZxSRmXwuKVqBjv7Aulll8l2UHk8+7OUGoBW7lHvs/Pkay1YgfYAocd9tLBKSdnDotJ2lDy26FrWhTPtEibY7rUSeJJpgrK3dNLOeBof0vTpy/QqLOvBuBJp9V4bCFFwKsqJDj1Vc6vx493fD888P2R/gjTvRjYiCabLS7kaa94NMy6h32YjTKw3IMG96jF/cNCRuX4ZK4ot42lOWg1Lks+EZNtH+FNFVPYiCnYiqpVMVUVX2DGQ2rESRB5ipkJpIUkT3KPWqJb5uMyB8m96gvqfUUCZaNM+17oGQhPnipaYg6wdvp3yyEwJka91JRG0ZQHol4QhKz+fBL0/n5v7y5Gpb3CR/j3jdk1tI+we2SuzwNr57DYJU0juDARflFMQb9PL7983EVl4+LBf0Uk4sviqOtXBBdGV+kg898gigR2rNVlxnQhbYi04OmecqoLnEqX2XoZ2XpZLe641arsYg9CnyK4PbZnEyN837O1Bs2nvcQCjb4JCInbqMHt48dGTS+bQMS8URWLkoAkIzuyeAg9E7sL2UDlC6kqDotDP17U2UTaJnepIzNKbdsIP7J1n18bJ7jzk9I5YDxT8nr/hNu4R2bD3XC6MEumptcfPw6iCZ5ieqKdJ5XqaPYgdk3fhrZeXr28LnZcx7v2HO54J57DeGPtJFUIQIzm0Vrh2a5EBNQf7krMkwIgqVe8Nl2k7hpPdLLa331h08uI4oQTMggVMfCcd45HAOp5AUjp2Fvisws/ojEASYFWl5i1w/XwD9honsb2PSa2++SfTKrP3DBRk2NSIZH9viWuaGwYLkdk5USCT5b1gt2l5Z6ptqq7vrs7fKq2dNwJv/sTyW99Ihnm5LS9M+O6C/tkC7N9jE9Z+HAMgkTh4WUKwvh+S7XXel1RSKBVIjPC8iGsTEFaHsu3W+cxgF4XEButGK9ScYtP1kVC6CkCVnzDjxpNZ6AzoF3N1m8SbLsrEWx3V2JguyvkfkCh/YnS+1q3Y8eXWWrYHKOXkFL1+pUxoYHy2OvzX+TiVpKflZtB+GXlsJAfFU2Yvpc+f0Q/A65Mk1+QoZaYgZM8IvE80mJe3BbyolPEj6yIt3hktwiA3C1gSs6l7IjSpO+wK+bYZ7zL0LxcpFAirjCU7iWNczGtUlx4zFiX8a8JYIa6YveyHJEyQfCaUamaMhSaEgDmoPav3A0pygv3iGY0Fh1mLbLIr/lJw5Kb/ALVO5xC9NfoHE6k6Deq+odagL9o+f2oZo/m8r7lkAQQ4uGJvJYixoczYnKvZQClHZo5meT9JEPVO54srLFK4A6po6aMetc0/PYoedST16gMSAoE8mjvZM7fA0MX3D3T+z8yYdmthHVVrmC0Xdu7Y/1weX9hP0JfnuOcGE8+68jx21P0Z2Q4SfnMzPG3+pyle8nfoykgyciJbTxmwPNRwnKEWzHv3D+1/43JKj6TrAzhdwt5PLlDo/zSQwl8eYW2WuXefJK7JEVS6ZLHpQSnZ9+Are7faWD0GftwT/nd3JJfqauq0o075FnLp7PA7yl0TLZTz2KEb7/InmY0MW4mwb+lLTjo12l+eEH77b/79p/kvtJdDKvMKNqYjmisWehaq5ojgAYPDmFPx7RV3Vxb4L7hBGVV7hdl7wamEr/GLOwCyQQ4S6uBiOftBWQmk1OVMLKBaO/cN/prU+3emqtJZaf5wzPZbex81uZL7yDkWXdM+kNCUlhKMqJM2duTjOVX3iLsOobMYdWgJyHfHknK9e7/S7W+oqOdXDMgrZ8Ia9t4KQBtUy4DRGelcHtjf7/Ol9kOj2OAxQh8/PZEVH6QX6q32kJ1tzJp4hX3x++epiAmwX8zkzsmN1gSfkF+7uZC1bZdNVpJZt10Mr1jNCrrqmv3YZjdwTBNLPzOKmJRqmqAWqDahV8noDG22ZZYylcubZTAg/BN9J2JqocvuzNjv7Of5nt79HRPbw3nwfG6VAmnqrnBpmMclcYw7TISRcsX6JuLlYsty+8vPXLbZvQud3VO6GUHBaDmCPVRS/nY0Ed6ENN8/X54prClLxZj/kSdX+lb+gOfP6fd13EY8L+8PtvAMeY/v1y/voqjPjdzKj9jkeVLHCQbR0EJwe78OAr5M9rCak4zjKOIP6G1auQwSDguSu9JrRkdFbhPW63iaMDN7TDkek5H4MXRsMJ5Sadbk/958eolRqLP1nF/zL+9eA3CgeBPn/9UvNjEY8Efgzn2gxovBfyKYjAhCLjSbMdBhVYGhrzUUz9jZyx5CfdCZ3w8oCRoqQhkAvnCsaelt294aknpiRmOlSvahaSB3yW5wc3koQn5Vp/AEeuJFn6kCzjWcxn8u7NXGj7A9wxq7N/OtaevPXR2nvYOOHaqn72lTGq/MP4SOTA+kzcChAZgySOkLteuIa7KwXZOjTYc82MBRzT0+XGgHYIfh9oR8ONIO0J+3NeOiB8PtKPPj4faMeDHI+0Y8uOxdozA0NcuYq15j3y4Au0S/DlNiZlM0CSV8ZtkE2DAy4MILcqwgtRII/5oZXmIkHw2UET852KjbKjQ3jo4uNEzJrfPZLq9zpdV7bI8EYPoXFqmQKvW6a33EHxyAjbiKakxs4Wc6db5l0W7JReZCzi9t+DKNdkXLKl8Imz6wv6Wz29hkq/m4ttD/3cFP8GDJkpaSTEr646qCfEt/ZeoA5w7fAat8fqcwrIaQMceAJQ2QHTuGED/UAni87UqfJdvRebfIzLDiHRuK34CtOM3IMqcjuxtK2fIFu0jqOwY0GEyV2fj65S3oWVeftuG69OMEaAyEp7PdCStHPmdkZi0dkVC8K5ITACVkI5EteekmnN8CgiUhS6EhetzE/7bHeGiDF+3wxUm/vQSgPKMvL29bQh6HKV3UdDxG2pR2ii3QHYh/K6gaNJ2Pmi+76MUk4k6SF9jw/06sTn7hypzlt0m2TOzvz23Qcluk8JRk5rmHe3ake8yWX5iFjYAO3VfmSkxZmYKu/v+hyXSwZk+oOo7Ddx30wNkufhnL4NaIPpcdZsWW+T/IFhF/S9Qi7nnqkPIUXc3fz07j8laMa0SzceeyEMp5IWkiBDbL9vrEPOthTbFvVYb5vdbCVjEfmJSkNgU0JTqVoziXjEG94sx3MpeOZtLWb+5S+/2OdUWM4qblu+civetmfI+Rru7cmjYutqWAGcl4HrVDkm6O/WEzosmaq54dxYM7sKsMOJLWVYDvpLLVk162E0OimWzyjzs/pZYy/Nm1mDstip2aQSW324swSYQ9JDSrlRyc53M/RV1Vi5V5Z7el+E55+8cYKNtN5ALg7wskQUhixrZ2NeL/VVvUIFMXhqw7dUK1Gjbmsh8DpvjeYLy1BUkSe+7o9HthJHXk6qUDnX5nAJrEBoRV9b3TIugPu3G6o16JdQlLf21PuVmxjT4/Z3vO3ph0BDP5lgJqypNG2q+vVBwl8iIXugAn5vv0aFoh65SMufX0ucIodXd40AH0titCcT4K8IFJ0oWA27CI78KF32EB2U4mOpw8KEjj/zJtcZSCoO9XCkP+DAHr3s94KOmX7PYvUaoib/SMVJm1dzbHafpVNOIwuTrEKxMjijSbpo36YwwhnOGXBiyvb170GXK0iXlPGXOPtjNuLROvb13k2C/vw7EWLQD+jYgdG5Op0tTNWlgQ5ZulmwALluq0Avma6+NPStjd35PndifGA7YPcJTva2K1ZESzsaJc4zenn4z0rUWUk+ySa7PXlKEv4W+duKN522no3AZb6elRXTpxKfg295gejqVzSz6fLG3B9Z8A/gneTOeIo/81PNuburWoHet/YpNA9j1IlXyz9LlrmkWwXPfTCZ0/ONFc+V3fUqVkjqcYwAqSScmWeagJM0xnVMpcs0z3V7mXHNJSy5ahpZLprmo+SyruBh3WnMpqjX8PDWqg4Q1qbNsUkJR4+GJOXjAjQfcJUET2VJqOgrXtDNDR28942ZTqEruM1Wl0LijaHRjtqB8eLOI9X3Jzk2yPHiW1cNsi6LS04/ff5+7BokByS7JEvBcKv36AfHi9XfKXxm5HMFZadygn5ij2hxf/+08fqxfvg8H+fAiH/nh0y96aJ9+9fXfzvExveCDg3x4kY/88OkXPcin/5pn+aAz8tFDDfkbqpNQOpwq5wa/I/xOSHw/wfFPcvxKD62drilLW0MoJKvF9sEsVb5hPcXNvKe0GaJvh1eqOmRCqRJR7c6o9FC39dvi5sDNbWnmQCXMWV6VpnFTaS4P3uQulc6f6Dsoeb9tp/e4bYyaEaTlgaK9tvTyZMpsxDQ6VEzqjY/VjqJVl6Jsn7pZ1NryyK7iMIBbiCY4oAMfxJYSUe6K3TSPGqh4rColOHNiFFdC5YZPrqClmFwHLKMWiBGovxULCr4ZSRBTP+s7E7nCmXFjZyoR28nsp7mkx6Hw9+ntuaseOjw8DDc7JeMkjiSKnzyvEQIGPs4JceklfTNMfSlPULF+8gR/X80Rb2cvc+LlwTJ12xr3kUNm7TX1ED15CY7cn27IB85tzMc1pmcwa9Xe6mC26J5YutOSrrvHalMd1VQ2XQZ/O115nS6N2BN3JuzOvJ3UsVU86uj4cDwx7uF4i+4HhwrYkAZSk7LlwV9St+pFTKdC3RI4NVdTYNmLIfNLMt2lugzlt/FE8r5u0O/1XP57ZqkNnbhF54MKWt0StFL6nUOmCkwoMSUyZIdeUjBOAGEAQgMooClA8jdkSGiNAiSvLUNui4DkKOBg6M8h71ZaXjkxpdqk+Fqn93L23mzOJsehkOY9mq4Rw9qTIxhaBobR/qAKnUgd3KPgYQm8kEEc1B4/Dv2JNNzD4dSA3ZUkWr7W3l7oc7TO0VTayFgcWaqoonpjsCM/HtvA8bgMLFmNglj4NlT4ZTD4ltSwZWO4TbeB5LUL6UddnciYBYXQa6NMYQFEDii4svwZ3s0acGkMCt25XE9Ok+vKILmuVLtxXybVDijDOHc3pf2bbSmGUyemLq0FW2mYuNnSclEMQPswH8K4qTuPZ4tWX9HuumyvYCzJz3YIGWPlqN+bVM7EeMyDfsCDMORBMMBvhF+EH+ChwC/Cr48f4RBshN+AizH9hjzwCceHG/Aowm+AXwCeAm/iDVpB/IAzCPAL8evzUYhR+8gPEEDMh0AOgezjDUJ/zMUQbjECY8FH4+EAAFCPxvgBOBDwC7iHfDwQY3qM6AEvjUiPMRyMx2CMx9DHo0/e/pC8glwhPSgUScEjogdg0WiExziANyCYGBArn5gSLKTHYECPIT3I2yfvUHPWXHREFDDyCdanh0YJ6BFW3oFOVUQPjaJTqiMfUDIQMPBH9CCXEPQYkJfSAoEFYCRASGxCCg0hC3oTOvEP+CgaaVZ8NAypXDRzeAQeI5/kNyRHnx4DiHgc0CMEJuBDLXCAUSfAOSQmPgpNUMEQS0GFQCfnqP+z61D0/+vQ/+o6lFCXbxVc+zvP7/rIoqCuT7+08eln3Iq05zJt2t4XIETvkbzBW2toY1toswOWOyOKv31ixweCm1On8J6oFnojvHPEhGmi17klsocqH2SbyxU2hrF6nyId4IhFN9npIcXjoqcWYRP2NzKG6EPvEB//NGZgdtL7uxXO3p4mLH2MY4rnv+NgPuVkcysno0bsYdDwjK27Hm7/HzK1gGRd3UoW7bark+JPa4+QshZ+U169QcT4fVLI75dCezpGo2Sr0kZhdu+hGDLGIShQhV9ChcbNB6OadvSltP2advyltHWaI/9LaQeWtjtaGkr771oqFJtRNzMoXKhAQSoq8PEe4DfEL8Qvwi/gwyE6PTmDGkRHgw4KWhI9AbQwdDD0OPoHaEl0hINozvOK4SjgpP8iPoKqhEYkrclH0Nc+cmyW3gkxKfOq933auknio9NDC7XRtRh+Gt/ZA1Yw/SLBon9IZ1XFRlbmVs7C8LwHm6ybQXBvBkhEfpvHzZdqjZZS+x+jQ25o9KbVddhBTG4O7KJHLgUvuDnqxXZUnreosfVJtVVPhaC1PUEVA4sLOteMn0r6eNpIuaD9VR9lwLjalTk8qScz3jhsBxVQ7QUIyOGEf8A4UB5MsPRkvXNlln/TopjL+KsH3mqmplMa5p97TkI3Iy8u6S75XongGISCEMBVmOichJa/9OgEWnPJWwyS4hIXHBeOiSzBxROUpslDinXqeBkSp5Bk+WuZH1UNmuw5MbHcU6/OE6f1LTQpQ1abrYBpGbDYDtgpA9bpFZi1B44oRN0sdtsD2oQ+SekajBsaS8VRXOvi8ru//vwTwC/M7cLXhXwQPZhOUmQj9TIPmUpxCQaFTvUQ7JvWdL4ZATLDjfWZbks9ePtfWDsS7rRx5l/Z+O3Lg67rlPQO6+bRhGxom8ACPdO8PtkWwV8MZm1DjpL//s1oZDMoYq9uD7BmpJE0l2RbzOSBnwfLpbHoOMi9ETAvYtkjpmIRg8Kl2XK5tXMy6LR/Oms8fHn+1dvxMI94rcJ7GGJdJYCrl6++hGc/eXk6qDnjopjt7excXV15V4+9NLvYga35y53rcTFJHNcRTh3lhgcNklREDgaLBdHtfKDASF93zr5GX73zX7wHAzESWfwno3El2qQMLuOiD9n9odpRnEjKM+xeAi4zoculXC6FlwRusnYzC1aMUUEnExnFolB1Vqdt6zxKaDHO0qufguYdHlvRD485pbUXDg6dwmVMD/ahq/f9d9gDjZwKdRjrIr2UXTzpgzCgtRcAEE+ZgLCFF0LHE7kfrh8EDmEBwIEsVoOo4nycnXthOg1FAbTY0+PqVj16+LBJAsVkRU46Be2DR8e4Etgzx9QxBLP0QpEk0EuIw9bxMcHTJOqs8Z1rC1S4A5H2HtT299Cov+58HTxYitksiaGtkvj1JFkCUGG+/gKlOlRveg/weQHMFQo+/J8Xo4cvdmJSB+HhoOr7mKXrdZIGtTN4lzaSo5HjinP3OyL3qM4dhkB0x6tRjd3ELZigPrGzJ+vHgG6B/yK6UbkCt3z/1jvsnrarEGgezuGmVozj3BXZhbKGvM7eUfWJytH2NjhRZoJbFUdRMSlzdmlYMB8GbQZeqqxETpkHoLoCBEmxJZtHXpISL71xJkdgXKIQe6IoRDjGUe2MgKLzSxltHXVbZBgJ8cxtnu/U600+UT3NphDoYwKFaeWHQBG1cnyvcue0M7wrd5SLAJxJKOqh8DfpOfkLredE8WjfnEEoqkjYwktncloLhet8CzAbtQrFjkvUvTabJ9JEAlw2QiAba7fumXOF6URVkA7wTrMsvcgor5qCl98gAAfC6xXLZW3sX8Cg6ZH9rY/ix7s3pWv6gRaeY4PxHrmn/nea7t4WvEK62IMF3e3ZGNhMgHDCvCKllflnfHSDkhFwVVLyE5e5C1OHlL6d4Em19oIOzoOGXELvQCDOZ2jbhBB1xkcbm+/0bUXpqGAnAUrPzHwnDQtZPMwLaDpRNgAy7PljUsrlcqznN8Ai2GuP/MxYBSXANdLdTK3uItPhQSx0W/EQ+0igD8xk5K0zdjMl9HawSNSPfNG83MegmLrzS5DDsH3S6/Zb/c/uH+6n2vrRtCxN1evRQ5VfPs1uak4uVIbTU6Mue4eNDaENGnwtuVdRaBmrfLdZjSFhnUHPUGqmzxGmKQmvSFE/7MYBJsA03A1QwvhAAcmrCNA2t6MQTaEi02yhhbZed/vDb+1+f3u7j17jr41KBCmgzj1YltoiHK/NO6C1SJz7t+XVHWqkakseSDXnQwsIZJ/lnQn82O8MO6e/3dXdfp0+uBwqm23cmRKpFuQm7sDqBpo44iNHTrvDb0fd96eHyJV9qLzXxwb1VZcEuXMLXwc0UQ5kfbO2dX+ztr1dXXpJFXjQXPxDcCcC/JRYJSXlzbDacsm8zV2zuM9TdG2cb1gutQavtRSpNa+nXJr/CKCa0X4DrrGlvwsXpFeF9/kCPob48R4/kgA+Sq0rmHrTAdoNM9Vg9GNjguEuxM7EXCaj7W38XC6tFSj/0fY2fS+XOEvcQxXqYJq1ySSN5gm4Hfr2jqP96sqLx34e7FmbEaQMvO2vF6nk9eFGjC5rcO6ACUbPOQ/uaBVq4++Lj90DQQd0i8B3WifDb5AIuXF9kMkIRh+LRP+m4KcS9anMtYwATOi8kJTFGqVIWaQJhXvtHtgvZuk7EDMRxElcxNKCVWH1RyKUZdZrswKmrI1DeR9RZpbejKGU04RPRDY5wKROJb1Ob8Cg3TCcZxk2puo5roAiSMwiH41KxY4Zv6sCzaEPstSwYpxm8a1yrbwlpv832ELAgSwwXAJunRTsIJ3MEnlNTG5PYTP9WuSSUP139J3dzApwlmI2jsN7RCFPtV2c7Wk0S+Np0VKJr/SPEtgYocIiztLpRD2LKKRipUVY1nrmNNrFWGZTCfzJyinS8HCngCxUU1tBTsRUXMiMDYfgVab2TMFsbCFYZ0o3b4eUAowN9zcJ7kIkfBQVjDe5x8njKEMTIPoEKVOn99QvcQhjYZG9IhuBvYZpVDbKnR4F3c/ZsN7KDBiU5qYQiKkTZieUaHnQ6hGekhKUCn3SG7zPZYZ5LKvk5Ag/lQVcX1KHHILC1U+tbMw3am5ktqWilVbvoHMoK/XotYcmEYTRKI/SbCgyWK0rMJcAAbN0EePDBAAcrHLLHYt8TPh5AD3DY3aGXEes2GsMxFqHqzahe1m8AKJQqydiYmxfRrg1NL0HiY0M1+jLQFotn9cgfrZwayvzYQoyt1chn2ai+KCAmfNZaxpBT6P4Yp4Jc9SD05OezYjVBkD9XDLGJtA+UheEtAvfBu+w3owK9xE9jGY/CMdyQtDhOM6insiKGzSXQZFmIKdWNImnYIDmXDZU5xXw5mlwM8X7mqnF/w/fDayyQURPH4vUDnoj/CBNEtKNsoZp8MDUGek9GADvHu26MwUuA+dRYNP7OvZRBu87a4D4KEZztMr3oHPyraVTdXZAfiFhWTJEqhKG6Xxa8Gu71dhr6N44sqv9PMFQXofpRMS6u0RmbDgEyzHNp4w6ivnFTQlMQ8UMpRf2HnExxzahOXP7Mo8ITHivn3JW5SMpinkmzTKrmhMuTTWvtVgrKO/B3DNUMJUfmrc02IuALKKLsQCmaOA4nqkLpl1UnMzSKc2DSvNCZsR7CwhXMWChxkzDTBbSJEHQQzmTU5BFeFOCiwy7znQxTXBqsprwymyoaFqRAbWL0uiUyMMy2JnMSAQrfWknduXUcJRQmk3AdeqdMUdirn+TEBcWB6ejAtOTVmrJceU2QCSrZpRGAdZqBOuKdox9+GxDpgBHgoZJK6MhfQ60GvZxClKP9HqBzolBDWYTkEtjbc6ddrtNNyHmkCuMZqGGcvPmxbUepnkhEuCKlc1vP5zwhbbVU9B3rdPS01IZRIDbxEOZQ++6Rzv846BSO2rLFAELZJDlrpcKJC6m6IZoGQhlZpZNbiGOBpH3ZZhqSydIxGyIQXVPHETGvIYARgmSM41VQyeBzLojrjYETml+fG+JRba9M8t8JiZu49rTzSIJk1p3Md0r3MytxsTnQbg3acCAuKM0/E9vfJMjixlhBuVtOYybPscdYbb6NYjmEAdx10kbG3ZJN7QMUO6WOKzD10S2e1svWmqBYa2Xqn0hzcrAGhT4wnlfipsXVkIN5tAXTRU3wnEikQe8ZCdu1LF3kKWosMxVMGhKkjZ3VyUQgzaU+9x1PvSlSOJbPQIyMthmgYYzgC7ZNvIEHkn1zCFiqwdAL9CnZAaU7btbCxEnIkiMEVEV7ts0CG2HFfUQTHfdTxNZXeD9dGTf2PAaG4VCdd7Fkxi8/TClbaiCg4Otxg8M4xMYyHCewdBZVwCbljLi4LU5vL4pvbZtagw8GoEQct6lxhgcNbBAna9iDEFfBtJc4wdjkd3zuuVSxLsrYWyPaMKMZsRq67Jm2zboO5X2dVF2SSbMLnEjyorc85Uw5vn5dk/vNPHuojsqNZ8exekC3kNwA2MAU4EMJF/zq1sRXlhrTs/28G6A39aTSSrcQRLDlOxItUNRyq1uabWIKwx867EQaDjsAZ3rUmfXgVwPEQECygYAgT7f50ADB06I3uIZFjhtY2PCtIqwi4mVFJjkXCQb5tadodtmQ+X11CNMVtmkQf4MMX2RW/ummDm2ZZqhjYmg1Xe6vJqddJpY4XhnbJ0rqd5h+RR47Qd8b9x54EOUTfh/hRfX+HGD0dPdE7frf5dlELaGK4K9LYy8g69j8wA/PwiEXOPnnXsb+GfOYRXqFl/eOQersLeeB2WlR3R5UFU7d1uB+zqgx+8HgXtIl6v0TG31e9Uj/MRXPDrdpgo3S8GlZAaH7H6dB/iDk0ev8LvW8I0aHq4feRWlePdP8eVRHRpTSOOx1ccMcPhccD0toAc+UOes8OI8degH0Rva1/8t4cmFIhxsJvznk4S21paNH5oStq+7dsSPTQkJ13UYOxAxXYTL5W9BLXBDt6F/xmNXj8ZfsaKS9d+Xhov5G+bB/nFQ29AIc4drfT0QyDE+24mkW0envlwaiABfxOROnZjRCeouEQmQhnHMxQ31MRcfuKAPnLxW+fV0lvJN6lHnqWLeBJjEeZcSlvrOoBC4qogZrrRO84134QlRJfGnIkAx/uIJfDJCb4PyMPzv6qvxBHkE50F9/8RLt7e3JjU4ou+FYxleyqh8BXsCFH8uDbzxuGryxkvLKthpEdXWDqK8+9edffnrznKjs5N/3ZkI/7KzOXWGXudUq2LX9IM9lNHvAUbr76vcxFADKutfu4Iutr3LxWR7G6o0nlB/GjYCOstlWQJ1ualTJXcAXxxMZPI0ITIQ3haDiguQ87HfUl/eJ+EPg1VsO3grvfv0FQWkhigsFykcOXAh/EVTFV44cDZYXzceOytEY5dhdh9R4brm5LQxS+LpJR55cBC4+1JfPHmkLt76sFbhStUc+O8D/0Pgf6zYICaFuo0yXywSLz8FPhynbLa9aZrJUSZzWApqr4O1rOafA/dp+3Ed+4PD486vUbzQ53LVsVqRxBfTvVBi9eZMRLg6PizSGQTam12/egeGSMsdtntFw3/041TUktz8Uk4TqTY0UxrPf5z8z1rXRAhvw5H47o/TDGjdxBG+KIf68sfJhhXZJ6VaPH30n4jpqSIXhaDlGLQt9C9Cfxz6cej/L/Qvq26fNv6L3p4+/nEqQxpSooQ2Cf0zOMnw/Q7SXemxphiHBvv6D6Q5h59WKeudUziij4dOWYygeClvcgIoX7KI5RX6E1ivoOELRLhr7tFHc5/pcR57b2uO4545tls4cAIP/uq1Guwh/wjRlzR21RiykC9JOZR0dIZCZfRKpMgqcy/CulvQQGA2gB/8v71/4WsjR/bH4bfS0c4m3Yvi2OaSxE7DQyAXJiFkgCST4fCZT98wHozt2CaQyfK89n99VZJastsGMrPn/G57zgR3qXQvlUqlUlUaairgPM/TmTzP08hIrGREAtRL/HOFf75loeJkvDwRDx4sk1n669pFEhIDiuRrnflnVLbFyW29vb5uHxKThw9AsOB6Q5fGKovA1ajys7bga732uPZEOF0+1IF+h2Ez0k40GnXysPooXRL/FHBaRLv5n1mIWeAPNLT+7I16rRJepffp2dQG/f03xSeiZr8NReWVoZCbGQ1Fxt3rUWdkB/9sZeF2ttGAe/tVFPo+CaOopYtuRBtdQrKfa9FG4Xwvw9vRCQGc/rzAFNJWkZWuPUFtDsaXjA2YZM4evOEVOv/3v1fwtwThJ20XR05IOP2jVkV7i1NrIAwqbV6qNJlvIl9UczvM2siG//+YcqzvO2SKjP+qj8aM3T6NZLuyUJDB3d5+iyjropcH/cEkgLIKdN/D3acJwFwjyh5n9vnEdRq/zGgkJIhERDX9GoHlT+vLA1L989rPtYOOvEek+SoLEdEqsYW8KSOMp+aIShWpk8xlOiexQYlZ7ILaSYmaqcypC+AMjRfL/0qXHHCTwPANQ0HnKJIWQsskG3lMbk7V4mjW1yhqVaYgjwGBZwMLeaIhjy0Er942VtdTQFcsdJVL4ac/UavBC2911aQ3GgoQqoxNC16rNx+X2TSXU6TczlNIZJiIxr1SiFNreB/ECe8Dkjw90ArcIayo/Q7Qd2m4l0YS0qPmYY7wGGrB8Gfg306GBKojN4YsOMo3KIFnn+Y6lwmHrnur3KbZdftnpqXqt9m9mH5RctJ2Xg/LSgdKpOg8TDrv6EgWim6f7lshbzzLmKrZG5XQAl46wTOM7CjlIxy1D79hoa2uB+N7npD/GTL2azWCr2uv6YP2A/r/2kINKXFPcMiFOEKaOko+pYeFRNAbKqgRk5Gv1Xg6LC9XBxJw8Qbk8k1KN48gb2qL+FeFBRiB55moIUe1HQ6lVF/qiuO2Yv2aTYkq5R6Krbx4RMK0lg6whcpAooGnbo3/WqyIE5ERPFK5m6nzBy/Ad570cJBUTBjtJfewvYT8CIBqL2Ra/rQPoEIwmqyW1Q6T+tLai5V/JbUOp/xJuuQ95b6QZlXSKSZ5mOopxhx+SOWBJI66p2S78gzq73LmmUdWW9xV3gdvRFN+VC/G0U14LK349S+aGFR/M5atfTFaReWVJIRK56fayqqTK3vokyPKr0ywRc+kcKlcJHb76hVFvB8FVyfb4u/fL8/Udd67rKsxuLXOIi1THBXk5Qb/6ozrudpJHAjCtFJ7CO4wpDhzqPF9Fot2W8l9Abn0fYv3mcG4VxTD9jb9o39yevYtI5E0hDgUkH/OqE1UHjwMXiejvP0atm5kGkDpgI4JJ2obTC8/0h+eUh5SMCW4AwzSi3EAa81Je7ubdPoDXOhQRylpdDGcBOG73R3a30hi4ecpYHi6alUBmQVnBe1hTnMsbKYKm+K3qaK4qArDKzya016Y+UdWF98WUbnKMfBY3rTz3KPjAmm2I/N+pM6rP/6FUGSBV8Vn8UGtgplboa+Nd77ddR1V5dmj7rrQwu+Nu9qt0GoplO83IpWa1ix+nx3diA+VqxpaZRV5LJUWKItk/R60baiSzpP1qHwRbCuYgishP1RaSvcx1894/BlFUimVsihqn3F1bC+GZi7RNiqD972LTqfIH3b7QtLnXj94nkxoEr+J4yMvCwTIpZh8GyiYkPtZmEkxPh1cKgDfvWz3OmEkqDZ4ocQlGkSYdkYfbK2Hz/JoUrcSjX4KXRNLmTqwpTbwtZrcd7SZqJltpXEvCVPTFBQX3A+4bCEPsjDlJr3Iu6pq255PEAw5k74I3dkW8jALP6W1uVZtlsZq73vJBOZfrz7sbPtK8oilyI+pdncIkv0Sf+DjAt0EJ8rUtZeMx2gPjfGNZ311r/Gl5t51HXDoHyVv4CVgkOBFBsFysEJ1/xlogxZ6sJfTQt3c2o2EXJkuCIlVRfA16VQZW6qMJH4amfFWB6X7o6LTDnZfUF++iiXdU2V4hUce26LylLREvhnVKd8MNCIdhULEDp1s+FNdJkTR/+yKvgzhLgrl3mlRR/KS/JL8SMaobc7zB4t3SSa6fryXKV9/C/AtKRszNm0+KL8iMzxTk3vjm3PrXEyQzUj2kLv5Q7kbkewg9/KxUfqCvu0UVsotajIgFqxALCgLWIvn5aisHDLILXJovwE6D0nFd6oFOe7aLiJ0uDkmVigDBz/AoULQ6ccm0tCSfcnDASksHpIBI6X1bNrO9ouHJjMldGwCNYK+segKwIgJBFhuwixvfucVaAOUsWKohRMvrBkxdzUIhrte6zlbLNjimLkQwQwJc6jbIkNKILOw84TM6/AsuZeQSvUxKMkIonGvpl+rsMgP5cPq+jQQA3I0UxLu9EmFlPuw5VFuv46Ppko6jmRh/J2Qogz+Tg5PiyBnnGDEak6dPSBz7AmlPliaunxdeiDWCbhkfZjIBjqyM159Wq+DHDTZ2MkFLEBiUHCKiDiLktDZls8iiyUProWGJRGMVW/FEulKqzA2xFi0hIgIczCcQGiIZFmiNtsoS6N9iXg9l+am+iWNOSGYcIqQT10+sPiothGGPWY+1Yg3M6HIDspzOBBQz4R6PZqIXICBkxu6ntLtrzm6fdJuqRT6IXnpaOU1bg7okoFXDi8WDdKka9cM9FzNNXmvTz4RvqqPx/KnFD+WHzO0oz6eAOpxxpljl6X0ijR3TRWxjT04RueF7C/KwdMPHkjLL4dGrs+F4BDCYCYym2CAiI4IZhNAi0YYOk5y8+mqRd3sXSbfxn4xCxuzlfRJKumefJsi57gc6S0g9id6hM3M4AlMoJOELCLHxuZjBmd9KKNWreOppZJ9IxVG89YnzRvlL8iHUM3jbdR8BdwZb+F5KYQR4+ymC6mplg3OH12mBf0zzrrnjxqPknNyLIBbhoQ+qm8fdJlui6wl6fsERsYkSY0JNlYi+of9HfY+eKtslN5T3ggIz/6GEctH2Ehoh1Efrc6xQz3/mJH7pBo3DqJwHGNHco4FAU+Mon9G3i7sAwJzFmwpvbZ8YM8OnAnzJh4sfSXOFz3AAvlQyuzUBwj64B2q7NCoospfkdY8gXd+SKNIsdMs6RXaTAR7F73TUm+A9Qos4k9ZKKBkVnxItIkP/JqZrvCJZgxzrupzjp/pIKGtUzEVnYO+yeyfqHvzfKLg0zn2L0j7pgZH51C/fx9d9BnqVkLD8JkIXV/aQzVOB6OJerac4XARk+vHRpAVvZ6+64zr6gsB3/iL70bVXRlcGP+znQ5gS/9wlORdipX3hG5FxRLVIdSNqPZhtaQHqMHtoAdEfWX92WdT/WBsrBjPaSvLEJsvwLP4YJh06NcgSAsC0hntop8Yqbcm0Ph8Sfm9enbaXNcH+8BwyGePCCiWoAFoQwPQ9o4FbCSk3MGxte3LX7bfMU+RwVhBgkuyMwr2DkQk69V4xEfUcpgEcP6mUBccKZeK2UNlQ59yYRHIu21btWl7+93Bh2FOs623GZxg9c+gSLJT2igZi+MHdjPGNlevdtMcy+Dw8C3EA5OBPstU0Zqq7vm37ddb78E2rWivjKsEJwfptwAIwVhhWJFv+xtdGpDihsqZPj9v9+1mpcmPHUWpqHIHtXmq9FoK91KL0o8y5UUqrX0iyfUtGcLAJJ8FvLfkEY9vYbKITEIyDnIEKzj6wh9Rrz/0/x8UUdvd3NrMc7gRoYBmMXQLZK6DVlsqIyFEFbEhPtGS7BGmaKmfuaJs++SaqQ9ZQYB6lNBIs2c2oJ0AYGf8YbihkjBLF0PRsh/wnUFDfGNjLX8jUJAwTEivOzCNUR36LcV/tXmW0HantGWC5zC3/C07mspZLQ0d8+R/olfP6tvupOMY+X1LbacMmsadbSMIETsZBLrun1Dxgoxe5Us41hzsbCvNwHhj3PLWfaRGgpVduiZVSg42MyTCUj09KtejFDtbu+8DUxd97+9uud+cfj/wwKz1gnmxBugmLoVntf3zbFiRRG7ZIz1ySPUVYXpU6GJoJRjbCVE0hOVomISgBxjEcaBCvYDRs7dWW5hKJO28t0TC9SkT9YthKVM6tVnMJA9TEqw0QUnBR76oDbg5ubyilpFABlnYKaLD0OBRQArkMyGn0ZcEJYklVRC9FKSFDjxbA9h3WtMnKmIwqLGgKoCtD1UAs/zNRfkp3ujl/NwXd5xmYKSvKam6gbO3CSRBM1+qxAJPsvcLX2OHik7lXcXDWdnwh6UxFsXimBVv4SiCuXuA1tvdkgYtU6ErZgRQDhettjw1Q8imiYBuQNzZ3x9AI8dAd8IMxJ+Tr3ZDk4ElW6xZUuDdD87VowR9tDNESPuVQ5trzkr4yoQMqGU5Al4upVg6XRKRsJf0ZMuhNg3dO92Tnf6JUpZXwa0NSFVi/EdSWRhVN/y6hnZD9ABJ8BRX4bqzXn9m8pV6QwPhA3Iky++q0jB5WkKWyizEHTG7mvczW2w5dCjFjNwDSUJ0VflarmaLhaqi9brFMrX5fQpx2cNaqdFQiULOyeQX6FCXIs2KBOnie7TnsopqDOm2r5pjXF+zNEM/qq1KHhL4W2otxZoRX5lLZemaq5NqYlNXKPU0pVT9raLDkafkNyTFEOIbcJ7LlIBpDoMTwrpI2fZYNjyfgzlbtBkHkua4n4C6E0tTotUSAOIHpAmEjkrVHWaWyzxv2/KKHAbvefz9skjpxlAbNrUEm9LJHo5GULi01CkqkheTTH2W5ym4hjvcsqcnehUxi7BzsGcQYFZLsQbEy4Ie42ALK9Thh9e6DIa9Ao57LpOuOu1E7R0aAT40vWBE53KBZEcjQtQlW/Dkebys7Bm0Fyt5kqsUqIEJTm9oOjl+0DOa09wxbzjJrduzvHY5JvZEtnXnY4iWeejgdRSewkrwOorOU3E6hXNa4sBzcyUOviCCPnyYQwDfwa1cGk6S8OeDvXc1VqSSFiPMdPNFEIgI3rN7SVaEj/6r/6gj2VF+FMmsucYvFiKnhj9ythWEXnZIR78rJZOeK0DeKzoJnb8jna3Nt6phvRqBNNRPkGLLMnD7jqi+KDkCbXKy1uEZFZ6Ph43otupcX11pqx8MCbO6dLzzibWpbrayKmTiDNZZbl0TniXhbRtBLMvX6ZrRY62tHT5C87Wa8YLRAPaM+jaeN3XKVmdKd5tUaGQXjE+EMirqVCXtv3xunD1VzTCWEtHYYnskmcgeLToM7e31r4Tvyf2l8aJuRjrThkXlohHn7oLv5aUJEZvEbuSwvv04raQNHCutF7AOpU0lxyHkQrUO5wqYSqimjGvCqeLcr+IeVUGlqzKoLG5rqU3OrK1pWqBEGaQ6CVoTm0DP4mmKipyUpqxDGfM9dahaFVEDWq9r5zcPh2nl1Chg1m89R3FWM+YxxIBdM+RC2eTxDvgL2dHAgrqxxhbUvmsxIft5JBVDHuTazmaYTz356ecVzcy17c8a3/FlBKKMGdy3C6GNjoeKimn10K+jOqTel6PBn0V/A4q1D/2HJ9THP4tAtUO8VB/0O6xHNIxAeVmZzmodmfxHdWsa+6Q3SCatEUyN1p8pG0/aO2K1r2iPa2pLOB30qKSYQToryUmkhWutDK8CHa3dzRdGWnv37BE0eTPqvEKr8zAMWzD751Hg3xgEk4jNmTWT+KUd+HFyEkn17CVhNZ7Q85tmU/M70DsmJaRtYMC2py6LdvEfGOJnkxH9lwcmmChAQ0Cc/xiD6xw1vFKfqgypHiv+V3UaDvfn5mo0dDbw48WYaxqT7WmmcZHiKMuRLEp9G41hThotDsHakL1YnVjJ9LlXY1drRABwqIDQnHGTOP9addJyBO2zoIEAtV3RHYSiHHXkMk1ZJqpSrp5jpQrkGBUTUt+O+WgWTbV7qGhMA7oZnPKeUWncd71jttSTzzYTPUJ4t5mIH+J3a3V4Zb7VggBgncmXzpWlGXu01IiWhFu7vmF9gOtHzMC01p/QH6zPJEJ81Qii6Av5/RuRfkuQYEgjlQlJBwKaMNF8mHc73YmQOXXApl5HTPQzpeLDK/WUJtophVW3DoAvW0vA9VTnVBUv1GsLKtcKiYIUAUIKJSqLqiwgo+tCHXLU/mciUrTsK7XCrNt235Nev+QwD6+Ns9CAKnc6kITmGh/sZqmeEMlAbYPQ4eVRq0ipcGYN5g3NaHoL6KX69VIcP8+spfmsKyoarjwqTwBHYo5PJmrTTZ6sxLGcuCLD2NmFVupPlKmoMRkNPbNR6kXmyuITm5NfzoaU3b7Lwd8yN5k4mo2tqd+GYmcbYWdr461nEl/koNc5TEozRl4wDSwQzCC/lgoKNSNj629xXEOimmLfbHaU1+aMm938x1EWA23xIDr4sLRlzDsqtuZQtMzjG5vJ1coEvMxhPnBrkows/1JXjG6jSz5GKyB6sF69HzPrcRPdB4TLxKxgd0MZLh9etU67eV70Sz4ERvoQ5F9zWr0kOIKLid9ShXFTpaZVzBYlvQGBNgEKCzsKiyhFKdODsTMY4+AEwXZq0K/rspknFPHsJeB7WnS8nbglhBEe16IN+k7zHSkHvKUmRb/wpuD5xWQy6PO1kmp46pM7S0rK8KV8TLoqvVcsJxVS6HLTSqHWX7OQX43omU2LJl+rRE82LltlwTONM4iWKIwvcGVCw93YKLXDLaMJFZL0RHomJHFGmImIiIArFrjZOydzxuAlNUKlPLEpFtRYs7B3A3IPCyAN0GljXbUBHNe9JW3oW1KZuvc9if3ml+ZCohdGWfbugh24sfeUMdHqSP0KxxFseBQq3UxmhEp5IRjTg8oA0rQw5e4R7Svv68FQX/Y3Yx4pm8InVLpqGyXDcXB5WtCUoZMtog/CCQYGccylQhsn1YPnNJJKmXOZu2z20iheHDHyP3QDHt5KTIeK6EfEdORbIKYHvNaIvBvVQrgh7HCuAO9iGEHFPIu0ryJzGPEEqjEBDRtvH4YdCI7VYYK650v/86J6tdDtCuq3EcCbRgDXHnEHoyoZfDOrFr9Z9IbYTdL3meIKcJsnv9CHLbBdaCG9j9uDOsVUe1cYHXyprurHHtzugnX6X+vGfxpCkvK3Af55xhK+jmOCBawhxmCaPq9IdPQRAIEZ6L34y/37+NOn9C+cHrVz/3gAIll0PMA4LDoelBvj2XwB3Z1JIP7twvpMDf9xwf3LUn9WMr/OjVBeeEK5XqfXytVDzhvW1bSg3IGg7Mi//1oYf0FIMTdawqI0Jn9gLPDYTcnVrn1Jsv7mStbf8opX6/YB2MIOWAt3GojMF2Kv8lp19bU0SuMFqRAZwwyvM9LaJl03ZMpR362lVin+f/yIo+JhB+xIF4w4uqtkXuzw3ABu2I/VP+UTlFvAFcgcxdMgzG1MLZUCnv34tcZfHwxblm5BJBPdhEU0VEuruwEBJq/tJiTW4Q/5MuBvfvSaREohuJg6/cF2O/j3j3b6d03mZjZT9l8dxvQmSkCdKKKiDZDEktovmAb8wTTgW09D6prRXtHiLmJhTPbYoCm56p5fnAemJuJHVQ2ptGCqUebDwSTpKVTIqJe2lOnyFZ421fyhOjgrKkn4F6pgiVRzZXxe5NyzHzicz1xsJmhcMNSts31zj+x6aON48TLG9dxiFCvxFTceEXE8nNe2yoMiy4mB4cxn4MyLGxN9T25o7tHZcTuND7NwnIQkT8HxnOEuUYSbo116xkaLp8hZLeYoTFmUWYwRqueDi3BgtLRYpwChxzTYyj1QeEbmfIAoTnGqjrmzhwi+T4ofkPCnyZak+we2dJoXf3GGSjaXugaBIUi0GcRdqttm1zua2r0qc5Xk1zqeqpZHZYFugsPTsnIDYubr2sejxBw62b7PnuhhNluqpXqgG/QqymL8OeodS8xk6oXHlfTzzzzMans9/VKKVuz9UTIatak2lUKqB06RWe0XtsjHDxxMlUy81y/Zpy47aAUqidSXOAdRN03N1d1tNZrqkJjavvDA6I/rImbFKuswcJTrpPaohhm3lI4THSAGACxdFrKzA60iumaFxFMoJLT7vM3cPuNo78G+tq11EG2jlmgfnBI1KCtCIOG5xqZ9M26wg5RIh55zI2pye4c8KhVjenmOvWtEJfxyQcwyK9rwk4iS3Hfc8vlMC/aGxShRNfIbhhlAAHd1gXbEPZuKBudUnMV42R2dw9mQnw8ei32I7hemtG0cy1p339WPz4lW2CHLMhGIiQcuNvvftMWJOr5x9Ozy/EfkHOGVUXI/izTtGCrPjm0UvdR9K+dIwVtafdFkT1S1z+Ei2fy74Xit1DK/a9lJnQK3czfWdxwKoawILjscVNEad9Sf2buT2WRIrGVOth2ozluFEEWSvdeoxM5FN9cp005Ec+gQStc1dIvFZ2l1yazDrm9Owjxqr6zeUw8TV548w9/Vx+sxtePpY/XVqDfpc4O0ni1l7XGNAOypa/uR9zp7Z6xd9G1AXlgbkMquyrRi7NQryUQVv1aP8MUMKV5eq9N3En+fOQK06rKcuckgCb8kIe1ks+NjjX0ewtZHRNEsJJJq5V0MzbuAVip5rVRVyyn6Q9uF2IyJnL/btVTjYCBnGnfdfk0/FtJnIl+6R7yXlcYQFt29ISImakUKGRTK5uIf6qIIbLIs8lU5YXWmMn8lNgy1J2Ips8/yWHfqXBZG0iKmU4iphzhLPvVnyu6OptwWwfekthCnua/VCHCLs7iub7jR4qKqxYXbkMxpSOG32EfMfUSapi4cMOTV7MKl/mTR/GiJYO40aal40Wzt6O6/rv2RhTe15uWdW8NBVacbNK5oEcafXUZK5TJSli4jZT/jBOUyUv6cx1T7ypOWoKeeMKvnYHxjIZv11RWGbu6X4Gv5hnJQAizRhVxTP9YI/JbAdYU/uJTwKoc3ho2W2B4Nhva72RL7eILTQ4wEIZc1vpArjEjl7FI5FHbQxKag4WtI+qalarSEraYBwMaevw5GmZuKby8RNl+Kj6A0C6FnGGXpHooFMY5fBYHo2iDpdwoqX2jcmbRAUOrh1vuXvaQz3uu3lsuPk5PWsuPq6RTqLFzcrLiXunNCvgkpbg4WyEh++EbAZqMn+sVp2LF8567qd1X3Q4dxJveIO0mWy9j7r5MJad/twfhQczHtwdR6fQNXOKzd3KFaGiXx7RDJ5RsR/RHccSR/rzbHlWkeR8dQKXCTKtvhewJJfkAvwrViizUahSkfMO0eLpv4MIdfNa4bzadc/KpNW6ar9132Teq+et6WnYJONQYnKbMwftyGi/jmegoPe4ahn2cY3Fwl55i6zAowR/mxLNTLiw0S/IOhYheiVf4eC26Run3ZENwe0bJv0AIRLeWQ868T/cIuiRNzhLjI8X0HpYO+aGnVF2gftFVhztPGV3jdwlc+oLUL5tjoFJLb6RTm1HiTTsFZJdVLI1vURkxZoYR4bZpg5KbXST+nkcfWW52ChyFzkiIqck6SHhNZ8MEAFHDCbGUpbDwrjLeDSCY3axe4D6VuIcUR/Kazdw+tdlYCH8VVSzy7gTsR1O3piDtbRUYzLNnxrMMIs/z5r9IYt2YRiX23JFbZwiirbjnIKizin/OjrObt10A6hoVQESvpwbx8DQwKEUVFltJ7xlsUydXoYFDH6l7dh5kHMMkE5flpMMm2jCd4BFcecKuAMlis0lqQXUhSuiCp9R8wagZY3IpAuVpDoHV5SxIN62V/to09Od2D/ePJ6tNmG2xR/VyhnxHTs0PJMqigZTuJ1VQEi4FKAuOZbNNkvdEzufNeu6u6eRJd7Ki9YP7af8P8te86f9pEtF5uV7t5hI3q/v2zpSVcSTtOYM58NnVm2VT7zlTQ+B+jguvr+WZExnLJ2yM8jRw3xOrjNApDPUTmrdOIDAVixI7oExPCpQ/rvveQFfnM4cdk6GduTAbC45gMrpHT19Kte3/WrXs/i8yhJmJH+GXO90bFBVfP9+JBFgGhLhP1XKwOQTE53nhdI1fuD54lLS3E03iWvwk8K7AR+LLlOBtZ1w5O2IvJuJafT05qg1HH93NC/xo/J81H0yFJnz3ySkQFjlDofgYgg7gUT9ftm1hsR3apolDyppSASMrM1Lepgh9VdxDqje+lCNtSQ1UrAddRKzwHjAR6PglgmpwTwC/2gCsL+wDFGqaxh63poO9C/gLsFopySsrdkhJa0o6Td2pDgTa0veuXLILj07PjGkLnqNMn3wEC9gOiuHUGUzNP923OHzhYeFebqv3Eg+NcwlMDRvJaUbF21+8Pxb6rYYGChC3PVB1AsKq8nI4E4Oy5VbPefGh8cCPNlecpgYUxMxjB1XmvP26lsZhaEAQfD5Ihr4nxI5q8lUf1J4/0i1vo1XXWLBaL1xIeLj5q8N/a1ThHQ+xivWutj8jHY/Eo6Q/6384HF+P/Ldb9rMXFekWZNtePc4506cGPcA7AZylj/cY28Zr8f4TFZPAjHrP89Xxnwip5Oxzu5Q6vXxJ/PyFUFyXkQ8h5G6dpy767iL5fR+26CowAlfzteNn3klW1HjzTY8+k8AM0dOf5f/bITnfFyPx4O545M8ql3J2s/w6e5RGWM4E/2qZnP8iiQJkOMflUWS3WWE7z/+jCn4O/znL+83Th86hFaq/MFVbvTibX8sDVgR9U3e1Z7aq+vNdNsGpW8cF7P82imrmuUbc1p9790aHWmTfWIdnxcRQ2LUaos1eBcXX6hrrJwcWNTOPvzlgFgs466lbU5nOvOuVNV6kLblxnFDmtRLqHeafKIQNsrVMn3xKRnthbpNkDf4mXeCLvNbQM8yqDknxWyVCi5/Rlh5lvfquuUFL5IWe/MXoqmvOmYqW19t86CVYR8z83/mwC0R1yogE7nnzmXh3UusSQr/ZOQhET1hnDytuWuiwiWUxDi6UGvG7v5jCV65Em4SzGZRzpcgyUXUHTFNGfFQRqCou4cAJISQIWjt99yhKPk5AN4GtwiLilzTLC8sYZgaak89nwP5v+57KKvhq1VNl0u/H3k6ir0HOJtGQrHx0jgmeVtGdMUui4ubiBTsSt6nZJ1EHFlI5u1xPXH0n70s1GWishF9QIdEtQjPxsDmssu/uhklXTtjvNpnm8Zi78uXD/Vt3n059mrJjgtl6m8OX6q7tr/FrZlH3c41dWzzf8tgXnyRncYYyKoDt5MIZ/DKyci3FRE7pJmNXPjq+j3zDVZrTVZPOm406243yWWq2n3jyM+pwbwJXJy+3EMwr9ePIQPjk4LUCYvqTbR+PszQduGeztR9R2uCUiMFlVNTU8qlauaqWp9w6+Pu+Fqlj6KTdjSm3kIeQ2sw2LvjcS0Y0PS/H0/uqh80TKvm7Vb1tZb5sU4eecdCuR0seyOtbXxs+Mnf9okwpISqu1BXcvatjmX8BgzjJHyimt+ILs+sYbAWRecCcg55Zs+5EWlrFYSptc+dZkDB2VULYLuokysZfnbiQZy3dyjg6ezO6t5Z1fC55Q9Pf7ER8Ds6KVycMrLbIplWCr8SwpQTBAgS/Z5J/NEqh2PLX7tZYJeX86fwqQnz+l/PuV+dNrOsZ+drqVzLl4/Zy7DL7yfJvIzGV6WXFLpsf5Z5geT8YippcXU0xvQeNSWbiNK4oFbJDzVLFBbtNt2eBvabu0WMm0RU2zbVzY2ciz/5rnN1ZIP8391loMwKZB1nfSsTwpdFPIyGW55bjOXG4+Xntin0grr8F1hj6dgsrg4OrR5hYdP36iQpotsdeX8NneJxlNlUSQkxMh1ziFqshsIpnGFvH3BqXglCwkctNRV2Viz88BnlLD2OrT+83g/cEbIVf5986LFy8C4i61xhXKBqzJCI/5w8O4lqfTFX168V7Vc/hm5/3D/a0VVcsWuZV9uPniANWwS0XH6umkmPFORUGvs5aNfM3hLruF51Ou4BPSb5o3qhKwreSyADe8jVtgPNGxzpCt+YkWuYzP7XnPXJoLDQRsaVqOQUSLZDJtMHDZpRvVCzbusP7D9TR2vyKgrO+yIokz2OKsrunY65azz3oUdn1P5/HCdLB4Whs5vd+lWexPtPH4bjE5HdClQQ7vpwN4y2Hr3xvfgrC35Gpbjdk9u5eEeQ0+jqMldf/aKY6qW3LM6adIf9HPRt+GXlrAb0cDIY3vBVcaeHBJTeIPIwtAZ8TuP6V9r3Abk5K8pr3eOnewvhuKjKYGdzaZHi22x5ghsIDtiCdGShL2sYNHZ7DOiH9KNwpc3hp/EroMUXqnJqgGqpvXlkLXsfQbpXOba0f6+KNQr2eJRzoaVuVQzV06C92nTS0z31tat+Dopa5InhjXk2dFmJFdAa4B53LSmap7umqc5hbSdMy1e3X3rJCCi19CaTaNJEK/l/k3nTPWVuXKehrh14pcfsa/lu2vNU6lf6gRy8oD+wr9G9GXLQXupggfZ06FsDqDsBzZa8r85hW8MBWHYYckqarGU65lxg2kdtP6zGIYCQSwZn0K9phgK1MwA0E1zdWZI1fXPMgW2DTnRpELkOJC8PCF0U+J6ulUwb+7Qw1NRjn/wnsX3VmFY1+28NfptzExjd4urfTRNwXaLfJuspkBiVXJHqJuj30WA5fEsJlUPvzUFt4vQ8TMvCpCBAHEUikBz78FaGEQvt87OGS/T1F7h0Q5fhXkvRkaFNNvhrb3N3fbBxSR43Q06NNlUaAAWwnpSPnni+09+g+/PipU/KP+29ttvyR+cdp+8eK9+uA//O+WyrHMpfO/r1Qu9Xt7ex//PWy2n+Pz5fOH2zu7CrxMH9tN/Fppv30PPPVvk/8s858Vr09D6pPujOnaAZVG/7xvYzrb2/TjN/qP5m046tIegWlCnFBV6eHB3vv2/uAyGJwEGaGP2/sq955KPcCHbqBX6xcIIU8bLTcY3xZZltyfjJK8aAfNYPti4DyCko2nzQXIB4Me+c93sZcXYL+4moyIHv0MKwsy/HKR5D726i2KPx+Q/DJVy9riHlfmeby449WZnszN1H3sY5IYu32R9B4CJ3Dz0N5HRM0fZY5r+cmR1s+LCtcIWj3Y/o94oGx/QkQN9kDGDshIEVEZ8aU71wENQr/iYZ7xQSMCAyHGjgiZCbPGMYIHnBaQvpOJMc9M8XQPr6/g/5naUnOYYBnPNTcJVLCFslkbUny+aBFqCFuLduiEne3SlBoir4ngqSXdURF+t7EoiQzyoidaaW0XPyRZvF6cJBli3I0AdD6l1jcTWP+SgmPxBX3lWgmlMIBdLUkn3mjrMAuzWsV2wAEg3SCjkf+K7lrNle3McwKmAxof7g3S0CGv3bnfbkEcIb/IJoFSPSAVXbXdyed2J5/qzuYYtzqTpIOkw6QjxT6/XgO5bqi4NDmidT0vXu5/QGiLz8VY4CAkpjqBWfTb/7Ho5+Q7cMEkV07FGZrA7sVzvOAsXZSHC4rSWYBWwz+gyyia73UG6b/Raa4lyCu6uHanRJSPvbKat1ErhyQzMLghsVROnJ8hKA3jYhED1/dlwb4vecBk1YST4sSf80i+TM67vW+tL8VRWuPfx2bUGF1/RNI6VBgPlPnpeFgUOWiZ4Cpk1gEAtNx3X/8p5IFyzdLqo9yt9x/483jRiPjCCg9LZYI7EgxDNNqLXoHRWCoqBkE8J2/Kwdsk5SWML3wsXMaWyt9VL9qD7p9Fy449dTIBp518e9Sgu8bVx2sRRuI5XAfTeg1Q6oAKGWI8AHmpAMfykHT1rQGg3BV8H3tLKOUlRHewE4eB4JNbsmhMZ6Q9HtbqNJ/qfJEQiRjacuS177hAFXMLOgQvsTxlmoPg8azPRTaMLAgesmDgd2kPqY1gxB82Xiz/S1GjahLQ7FzoyXCHCl5OH8skgjZFv5v/OO0AcDMzxzNKyhjTJo4L74U1cur3zvkguwAnQbg5zVTGz7/RLOI8EgrlkwHbW/nkGW+JxBDMXDvMi2MYKdbAie/fx0/3CSun2fuuP6mVriVkMnswzY0y8KdUJpmcFLBN/TWVFwXsKcsTMI4rv6Zxo80eHwi9naiHaXQMzkJU1vPG4G1FXWGSHT1skOUp0xa5CjzvjhU/efr0qdzudorxBKcE9I0YeVYzH3K/SHrn4xZGktR8aewlfi08I9rXSZVsxMdoFmAaDZZgfuWC/Fc4vrcoJz1KXGwsiNe1q5TqSiL61c/UrzYa42gOdhyLXgzgw4dtOxplaXEh8cG93NgcjZJvte5Y/Q3LBFICOF/xUfn7OGq5CbQUlYUvwaYH553XHtuUSTEHf9fDL33ZqtHkAShk4eZAAezOtv7s1zI2P7SDsCH/MRe1k9PpN0TQBlK5GTnIZ++DI3Z8n2mxzCoEvfuzJDMXRAk/zJMgc4knD1nNJ8CNMI+nYYQtfgJDUm8I9c8GjX4eP9c+Z7Lam2KUkgQ/RqaDbh5FbRrdVOH/tDdW8dYFewc+w+s/lVgzsbwaraa6V4QThXtFGRYeMFok96hJ04tH3S+csZc+q0CXgX7N8SWul923lCSoBa9rh0cGQE2gBn5RbzxiA7QmBs16pItXDvsGI1V6L67CXY42ektC9bJLVgcJYSux7gvAjWAEbNHqLZHPQMFfY6HDCqECP6O0C+Rh4zavSjDkpTrVZF6kVeU3LT8ZR7iBuhpFdETrqNX6aRXm+ecmEx0EF9aRWj87TpXa+w2edtwrZmoQL3IOZTNV5tzirMfbG+9j+Ri3vIy7WMdj+gKnw7l1MJyzkvamOqDenXlHk8aiepA95+zswDMxlR8OOh2SzrhFdjU/0IWQgRRJ9B3igu3sYjSm30qhV5STPlH5/cGLqHm0fvAq6Kq5+rzZFi39c6vNN9rJ+pzoBldXuigVhyimBdf+Iy3dFKelm2KNxx6K9cftnBOnnnPiZtO/5/55Wu2L+svkS32jyFHN7G33EYSzvHmh2ZRW1hYEGlo2oYFnAOrYLQ0N68VpCuOUsoTSOOULCz5s6pDb0D5n95xymsbWDvenPBaBCWiy06e0bh6UhoLCuLy55rdOvY0vsXJ5kqQhEWBLLHH8Tx3a1apv7eGLebLiOwr9LIpaYa59N3BRPXYxh5vMJDIbep8dahxGIVhf//jf/yaldJ9YG3WdbtuX+o7LjIxd1fXNg6yEnuGcYff7InuyoPlpPWww9IuCIr7KCCJAiQHDJXWLOvClsFeLp/hKWTqQ+rwudRAvx1tewjOOtdaju5Aejiqe5zDVgXQAp8HMWOJvRRjBH+voalnFUo8Tl1eLQHdZuxJd9xjws0e6hkeo7XQUPFqf8mykvRTk2KK8sl0PKfBAEpc1RW219RzzivqRnhBnBK+iBcUlLQmvpSIiZ6hrDZm6K+ube6mBERV9XK/ei89pqKOa4jg1HXDCIjZc4cGSTsqkk5akk0aeFA5/W4n6VX/mLkv/giANZ5YilTgDi2dXmheuCk39s4iPhNI9cNh0KbSxv/nEi9SQEe4HOi0Sx86BpjBUeRE2V1jB53pa0xaIKUwK7VHPbBn0y+H9bnCOZh3bhVSCZqq9sm7gt32lvWFYZfjifDj5FokWAc6TkDBk3fFupMS//wpH/xXBzZEVBkXUMgWgCd7OQQrE9RfGOsPUbtmvdLZTfexrrnq+n97AJuJnmkdq8M+1wcbPtdMkjFo/1/7wZOTnmiln5sqK/TVoEwRaWKXJgWifh8vUq0lxNaH0CW3z8Z+4V6YJXV6Viqja48su7T4hSoRaqt5Kap3aGcIE4ge4BRB/uX9/xztqbBVoLWF8CPNlIphJgVoSkrG4WUwp26CUD4cvnwSH2Br6SU9IQapz2PfnwebB1s6O0MPLXy6RvFC86WUaMk9aVsNigw3WYJ+o3OSRcbhyfuSDaifd8phlGBm0bS8Jvq+sqdppjQh2kOTxy4J+jwi4OT6kboRVRZEU7g7AS9W6yr5TS+irUygVHtkYtXfCZVKcAFHIZbmlB2eoHf1Mpo/7P4MSdpkSdokSwl0a5x2YMu/Vin42gHSE203nc6PZakigDeCIas1NonJ0QiOSq9UpzUhl7mTx8nqZrmDPE8rxPFG/3yTxq0L9+kCloaiPyUYTvr4V8AqoV0AF5crXRCJTb4kn/lvi14V+S9wKd0Hm0ns4TNiRGRxVmHfuBv09fvYGV6QYo9J8yAYO8wPAIWFRhLhjuVNQO8yknIcryxHtLyQVvD7cfRsL4fqRmrWX0vlUAVmtsg3EhDI5zGqnKTAWNIYxf/bPxj/7ah4htJKn3l5ez9qwbUCEMSp4zC93zZa3BM7zwN3rBHvgFPQ8J8woD1rkxxDceADGBkxSunWUVushM7ntQd4hu00icvFA7eEPtNtOgcKWGgQQWtwWB4qzqMcVqtSgROEoA3DeOo6Ftls8SehYplPgYXE2gaVwkXNQPC6eGxw+QDjZSGj5+kHUnp4/sgQk3u94MncYb1GhPNLzNDsPbw3/fXor/rvSqOK/LEgvK5Htnorr+rVbXGL3JNa8siIz7LmqozQYY6G/t+n707b6euVZXe2CNsp1G2cNbTPQ3qslaZw/xnH1hLSBYyM4tLGmdQKfdpyUcWpSktwBf0QG5RnsJaRrOApzUq+Q2h/s0v14sT+YuIkqgqvW09aw/ukwHZppHFujkqmwo3tR1H5XhMpkB93Q3GoLVK8tHNj3xUt0TETtKr7UpsW5i11DMxiqTXsdDH/O5Grd01ZhFO3QOXyyXTGAqkntqgFU7LI9M4AxxrU9bwBVk9tzBlBxVSgTM5LBUG9EH0QlKDECPH+MY+uKkIqU8NsBP3HAvPFcKC8P+6mncz0wgWr2042QCHg8IAmVLnN5ovjojPAvDUE5pY1FHHE5kjJa2MaC7E0RtcZZCJZPGROJtlxk8jKsS/ob0Y8182PZ/IL0Kcrf1CH8vMg2wmH4GPdgQ6IJ9RNSoPrdWI1q9gI6apWIYu3p8Eo42KKxugaIn0c8IVgkscx4zPYK+b4oR+sXrXdsQKIXpH8YDr/tnBN977BSnUUGK30zWpbTi5W5WNFHGwgncLYFe7bdnAS4BoQHlSKgowO5UUBRAcoIzi/GOmhnT9ma1rRdf8Bn99u0sb6wK7j1HdNVxj9XG80bWmpP4bXueUc1z2/NzUOBxlisBW3Bc7rbN2Y88Brz3b0vYQnsliMVJjeMVNS+XS/DdHEvrT4AUi9+kB/1V6narfCQi0RY5RDx0Htn45z9U3PKynFpslfEV0n4LQkj/K59S+L9Aj86ta9xwj8u4pR/DJM4419/JvGBQjtNPGvzDFsOTNmApXgrytTjqWAnp/yh73D2iqj9vpjxDvO+iAwG/WwfFuG9hnuLpLdbHEEbJD3fw5kFH4/Nx2X4RB9lsFrb+LkRemIn1eGJnR8K4vzE+uWHAozoxkY5dpJY9jwsJCToH1Qp1DPqayfZwMi0rsKnUrATIQU/O93AXSMiSmndx872i4f7gY7JDD2oY0YOg1pd3JKgo7D9PsQ3bV5Ew3xTWMTk5Fd+wj2aw8oL9xpFRwPaMJT2ukjo1cNwK6GFMSZubEl5KkHFDuoUSnLBmUg0cxueiXaKT7hJiBsK8CxTaq/2kxfLz7JHKqUdqT//ipttmo5Lv26IMPLKh+HcJdSYbW2TdRyPiArFOQ6SEe7Usdr/pUqlQUi/TRDqGPvIpd8BW7oF+sW/VOCK8omzzRZPmmbuTxZnj2j/jnP6t4gL+tcMxVnttIC2OV77F18DU8XQWT0KPxaPcOcbZv/8WNBlC0iuh8XdO2DxetRJk7BJeoDmal3ibyMSGmOfCIH2xDoZQci1f1UVG0kqlkjXxa9GBSb/+teaXKtoAyrC/9WWI8etYRLn7eRZvlQoo3anmsSW5teX2PoowX02XYRWlWj0YEPmX5idc5qyyCjDSo4HzRYt6l+stey8LKQYFaLFBV8ratdnuD/0367+e6r//krLhV982Bss+9hDmYkW/RL4uN4SFsSQhka7H5gEftyhiz/Rf4vpc/37xCoFOSTSi/7XLlnfnXPY2pljYAAcvpM8d/xbc2zwg833Kp2/+Jpua6T8aZCNgl60Mxj8mEf5oi/Gh4Pd9wdzUPZhx6IaiWsuHTWsyJlFOYG4VXYqxlxamkjtCv7+IqWy6E3LVkG++U/wbsCz6W03GjjB60gtfEJ/fXj4nuyKrr7ZMOHCA5tG4rGPE2Q1kZ9dRv3ZN1k0IVLv6Tvl+/f5CQtuOG/u492wnXcsfP//mO//z2C68UeGMm6eelsI5ahZBLbyUn4/K8DEnFH6DURTS9un2d060u4gw43ERiWfMGIlRVByQTYcALfoCmmzRzSBH3S33KVjVka/r6fNIW4mX+V4+HaIMKJI47MkJDdj3Ux7+ZLKDTGPV66NZP6ixzDEG6i9SGIqdjiGbCaL7EhVw61CCXevoVyWbl3OYiJ58diEPGr/5huG4LN09vxHZh9nxQ4HzOKzrDa7BEH/nFC5CKsIFEq5WbAn9/I1N4s681FpJ84H50m3D6ePC4p0vEFaX8zsX9lZZ0FuMhsHy8UJ358yKigz6KrlwBHhhzpU0wE98CmOTjNjN8FBYig7Xav7S6g7SlDijCNolpIKNiOa0kkL4bpd0DgRefR3hktHPJT0QyPgdQnPwg4ZM8tG7Ca8SHSmINzaebtJLbqe7WKRB5ld8qqTqXyALhHVMrExvogeLOiQWsamR6YX3CuTuqgvjFHVGU6p7o2eMIVxh+5whsX9MdyouksOwqJeWaTKjtnE6r4p9gdXiLTo5u/NtXSGJUhhSmY53cr+ylSoqJl7F+wvSquWJ+GZrEe2+UWSndJyVOAVmCpy8MgxNmoXu4g1ijzjX08i2aivnykjI1HHHbnkEpXz2ILvzbGWE7LrNcRoW3vjvFlMnrqF/sf/urvokRrv4NxuocGY2GCVx+iSSm4f1toUz2Xe5FqcSa+Lm1CMIdMMXvRJ/rn1zgnxY0C3cowM1u6aL+W3cYg7TdC43dTPL9PIs9HhMcoi+geNcUYbewhemlzRxgyzuhz9dEbboYaxa1YXL9iDaDFAC3/32TANQaUn3Q7ZW980F2l0i8FV7bvj2GIM/dGN1LpJzZTzYJO35RJXX61v98cHFycn3auZOYClBFsT5bHxDswzb70Du+yFk7CDyQx5lmwm1aPKPCoFWbAyb/Ru7OZEpqVcOSNu4CacDYMdJWtyYs9LOCiQh2BiQ3ReWHsWvyGCaKzbFUhKHqhglFURr6xGGR6qCnrPxW0aaJv1kzReJcuJ459IADKFT2bdfWWcgkcXowpHGSiT4j9ZVgFteal/zJ3gPspxUeYCGsescFnP//3v5vIz+re+jmerT59lqpzra2OZkRKLftbN7IZ04fZOwjKpahSi9nQ/wwvblwXZoF1RI6HMYISsV43OhjgkI7wOBA6tVgvCA95QIhoYXMPgPWGefAvC169bu7sguwtbzILqo7ZC63VPCrR0Uf8S7pJNyUhCA/6z6n7NHcNF+WjYkFBBT+7tUloSM9E4S1ZGz8FymRUjiWh+ZPtPog3r9aM6l5Df/Uyt5FpmJ1ErO3F1u9mCdQd6nLfUIig4StpGgBIWuQxx0ZqdITlAmyz1ZNb6r+mYG85SlsxjUkbPrjolpijGtXhJcv7SYQ0WXrTkgxoEitoZG/hRUgZWpThUIc9gfFZJCJCN/gecVs44s/0/w4flYkXGf96XJftufgCxp2q2j2tAuLvnymg++Xj8x8dqOkR29v+I7P9wImv+dSJj8YIUbD36p51sgHB4o/Z2Q7td56w8KqJWz/ySZzN5mlV5zmyeMxhzoabcLcOiQWF7lYV8N9XTIl9+Uop8xQmuCmBIjTJO4gqVz8ZZtfaT9IeRjYhqTejFC2XCfzGEHdIqRJFRAv/ErFYKxkpurgU7J3j1Y9/zBN0xrtnG3bwAfFxo/LGcPi0q25ZgSPL5mP0GpXgIP8C5Junn/mnPPdpY5ERZa5UnHT6Zn/iqBT6s+I1HY7R2qzh3tVtBrlV6tdKFjVWsKkvq/CRK/3bHfjizV2m1GQEvZP4eJ3/uW5ITmGPb9yT4qvL2B1pYXZ8Z03SkTcBh5l3kO+qnsv89HfTyYhSb8cZ69twW0FXR8Iot1S6GcYfEpYDazKXHa8sV0bW5CuKY2lwOv9wSn6CfrikzHVPtkXLeyFIhYYTJVY8DyAi9KdOotRM2GtLTe9oMcMK0sdxqyJMTnBg6ntR3csI64p9SI/yphRa1k9kLiPyEFjLdbtziJgOe8E5PZF02XIX06UmVx7k5jRYvky6Rs3GFx4tJBmxhDYWVeZAIc0GlFlcGJFOwBRUA8zwprb9/h9F3IGAb4Bk9dDBEoCT3jKCmVTvz1FQ05bbVKeEPlPC69jzz3EpXvF5V/p5uvqMR8kyPrS3t7GS2tFBd+WTyN2vP1HOY7jnl8P0GLt4U6RihDg+0ZfVOeIO6lv0Tpw19pw0r9ScxTy8XoBUQAb5olCocC9oZTtT5JaA134VJ0/R0DE7Ke+Xv8G6czPVlnFS4MU6PZtwYJ9FxPAVMlhpl1Oyy7qE9I3E/2+ZMlJCPNLs/Jn9JUPt/LuyrLpD/W33Y+9ENnFa0An4s2SKrZjXvWWFDcv+AuNYK09i+iStdsQLG73EMDIcHrq8/xWX43OsnRWDTmV2LTvTXZJ47UnQYERz0Mr0V961mtpWl3ZbVfil1EHWt3KlyiL2sVx22WucYpRUryFo9WFG76a/X6pzufPiPqWYnxthGccqgpAarolxbXV1e9WLV+4hRBEMX1rBU9dlyr5agh3zVXbc5s35lPq7iChg9FI7XUo2KkjbE68F4ojA4lnSgmYqAxR0GRmHLqmE0GNQE6bfSS8+4BJ9xVjw5szQxKmkCORoNzz1/Wr4HZOfxmX4mmCr/xInD01N4pk88UF2mNIPKPGDxg1BCqmFoFKtI6GNbCePqM2tzu06+5DT6yl88+3V9+cv2u1gnOCszFBU1wTvvlOPHarSx3vmn9v9x1f6/uE9KNnjtR4eblIN985hARtx+d/BhCK9G+pYc75Wy5aYmp3v11r2Gh/b82/brrffMF0yWxmwWtxTqCJdgVIhckjHbJMRlTQyMdnj4lmArN4948pdG/OKEnbpT9UJyex0ypgb4UNd9RTnIPMJswVxthZPU3tJT2aJfDlfWaNhHFolnnRAr+7alMMwaKwZFWSAuEWTVQpoEUZ6ss9DPX46H677jXsxStDatnm2sJKnuy0UxZncFW+olbaDQcQ8ctdj+ZC+jsAsQNd9m4W3q8d9JkQB6UzV2omdb6M71zBa4sG/B+w/adSRveiHoZG4tl0wq0vptnemEkFeMo+nJ98h6Wb2Kq6tbuJCvqkuqbNPCgr6BWA/UJezecLIzU3lNQTEzVGJeeh+imRp9MzKQdjt0BNZNHLF+3NK0aPg4r9LpSoRcUPHM4p3N/Wf1yv3zZIGPos2TWLzt9s+0jkeLwm2+dJ2GvuoNUucTpzbnUrn9jtwJJj3SYdDv7c1tHEro6rmjcNX7hHZeDGkecMhr0w8SESnbIwdYXA27KCkb9Hpd2Iy3+2WZrtvNdvlUeKZ3G+GBdt4t0c2o9THE5r5GerAhJJGZkEiciFXmhkVyngHfZZeQ6a2IollBFGQ7R2Xtc0l2h6FFG6b3G9h+9s+z4XyU5mLmn6dTdLGNbmXNxzAx1qy2+cT9eOp8LNfdj0b5cS9vNgZNw2zL0l/MDpoXvc2OHHwtonPYKE2HUKbl+sY/VkKLQ8tnJejgIqUCd5PxmYWZZ56vaEIvk28WDl/ipH36RntmCePLWg2tx17N4CFOpTHGindet16MmgX7VWMMdZIQ9zCIdot3W1MmRBqvYfH8FpZJkZ3s6mHFjL+c1pq8vO1aWQnKcvzFYl3FD+3Bzls0dLp9D9dqzwcDz/H9lJX4q4qWzM0KNg1hfjVRmXlBUcME7TwkBiMTlN9CNl1A9i3DZfCqC8OTWyGfMIhWUUHFNOoqKvu82uFAMCu2u0mnP0B0YKTTvJRlDvoYmtwiCLlcrzs1zKbSbiifPnujS4Gj1IcDhFNocPsZMtKtW9GwXlFQD/XX624Ku2M8tX8cLW4+jPhpMi+GXqP5qgBpVIXXXBfeWFw2SJMY/4tRMi4qSufUQCWjtBWvltn01WgKgV8P8VMWmlw00x/2WZRGZRHqsQ2Sm5UluBjLUwW8//UFjXpV1Zxiatyit4mD84ApVNkQkaujSK5impFu9ko43dfJRIY74arUhW5m2hB3We6c8EJ0E7x12CmsD9/MmY/q3WunZMT+CtK7Dk1MHCMyeX0VGnZYamxhTydHmsUVTZHWQpZ3QgGrOL3528BFA99CueDAeFmhR5HBSAtN9hrIuR3hx0WtBl05eBcLZf48Jo0CPp1biOVmhW8sfXuxUkdRuBsxtvnufck85ya4ZPm0uf9u592rlrJEQ5gpdY1F/wyVQ9tEzf9pYa69eCJqxgXKdho3JK4nKib25xOZ0NT+7F1J/HzD/LCbOrzBekOY9okp0Q9gc0TBt8z62U6FzFYRU+1ZwkED1FNxuN+QxtvIG3yY5x9477isXvpBJKKPnFLp4fnJDEFuYZeE93yFCKqO2nz42U6Vlkn9DbeV1g+z52qS+BYTjoPW1sEK6Se1t0E1X1Am9M0B3lNA6ocDTTcW971ljy7gW95lzTvG4JvZT+WuhAH+rtQ2K/nz7mD8PiHNmLiRvSq0qO1k5DUA5Jtzl7i2CNKewqE+Sro5v0b26wfDF7fbF2xGtdG91wK7ihZ1Q+0qQ+7nsKURwyPWur+4BGDYHORL6Yy04MqR9uJsBgs5vOyMri4jF5fgIM4Uonj/bQphxNlC2IPuHql83iY3FHGw99Zmc3ZTcdtt12u4khFu03BGnG04NinDLZ9/w3JdXM4svioqW2kszAc31+lgTP6bf7noFhOdp3nLPPyj0LmWb5mLXag87yV96u4O/HGZLdtnasty74SecHsc+r1mC908/52GCUSLirYL5jfnavAMvVu3ZVG7zLJ/8ALjZHDdmY42ZmG2jBYYHe8NwLE8KcCHx2cAsSsfHxWrGeCpVQKQT/MM8qkJIHd14nt27gF1OBc+D5KTAk6og3KA8NNbIIHXef/pJL+7XtbHrsgLVphE52FCj5btYEHnDwydeqFSYbZrC3DvhjCnn/Ci/FNtW11BZcurZnMi2EvA3DF3ZoWSX9lkbxY8nNceDubFS97RtT5xav2VYSt1B/ZZwapn1CvwJ13gUydzngM2NX1ersJi+JThIXUskk8rHtKpRfKpx0MaMJJHKR7CcyBULSgkbulEn4I8lG2NYmnPS33BqVXk6+G9T+MFy7J9j6gqBhYMGBnRkW/8+8pPtd00rsS5tVC1UNBx3TZVGJzMVPDCCa5YBsiNccr2lZskBt4roQcsDK5Mgzaa8TQkzNe2+KQDhwTGi5EgqXhN8kFIJwtJYvIvJ5Hcp9UoD06Ux5yKMVEOQGhM8FrxYVcdr6B0znJkgCBcKTmj735t3ilMhXDsF0UOq4vqel+x0BhgaVuNCNd+o3DpBuBN7jgt1VfNbl8CoC+8af4LkyBtYDRNaptf6XYch8/DAb8ergjM5royP6gtzFxLY9a7a3esN6Abb4g3lorFeCOSXZjNm0vkMDCYJ039FLAuDZuuKv6aJtqd61+UuU6dHdkmeeihVhN30c9BZBcObRoaS/PQLfzz30BIi3nJj6+m8QXsmE4ueryYbmJsd19F7+7K3MLqA7VkK7GstqVvLhJgoFa1scHPF5+3N8KsPN7FEAkkXkefYBsut3xKeIUEe54iwGsAkKiCY+zgvp6gO4C+JL0KwiJZwZQSfkVC1WGK0j4jzZc4CfoToO6WTrA8B8zfxAlcGLDqnQV3APY3aoBPAdZbM3pEoAFAejOmz+f6k04u9LVlvvRmS6BtgGa31xibr17w2ZTm0PvW++otD0CS8KaKw4arCtVSN9oQAwizbXdOMdVVMwqwM59Pn0JzQmqy9WR2WuuVc1qfM6EoemY6SS2pFHCkfKS/uMCenlzkmplaAP2JtUB/WgH0JxUAO6UN7h8prdeTcmqtIuZe7CfamUYhFfMM+G1mOfT1jtHtZxzCl184GP+25ezTU79NEw+1HFoVSc9tH+rRzKNFatNkKvmgav8H4iAJMwlPR5X8nDOlyDSeEhou57C7TB6eyMxneIeW4cnCsrxwlufhyr6iUBk4zNDrV4F1sKDlfRIYVPNNq7/429CnZKHGUvJQO4pL5wyn1HdHQi0O0ro/2v64HbCejGFQq/sABLR7mI/o/YAPL69kGH58ZCuhiDha9UltINpVdEb3LmhLGs/Jj/auaNwVF9dt1LVHH2yUgYQ9RPcDZaSQ1km5ql3ZbaQt3zj2/xnHLsZnG1n619jINh9BRlO0rarWRPo/ZyALY9j07savzvr56IhxLj1xUCpejuaKf5mDWEv1skTyM3tWjBg3T9H32aWM56cIXYjVrAp1Lqai9vyLhoamf5hL2i0Ja8dfF0ncZGyNZXM17Upj7DpjN+p8y8RWp82Ivlb5C2lRG2xCf0IbQ+mNqeT1ZMpfq7aNKoVzXos0WokaIalE9UR+qL5Le2dYnB4YMGr4G3S8IFZZFNEr/qeSyzIZ8ZqqV7A3Utz7yKmq6q4/Xvc4sBPWo2vZwGVx1LYWVBSLbpCpZxCqmPKBgpXUP06f+j9ClVV+HuBTW5bCSfrMObDqycb+iWtWRFvrzp6t8NMJmwr9euL50v1UNUBZLfO9bFfB7Ov/2aQokoBx9Lm9EwaOUcgs1BZTlcg317+ebISq2XK2EfnaNrvW4zHB5lzRe2TECOBA7WeIZ4qUUKOv0Y3hKNeYQjafVTaOR/TzCTvR++0ETxh/wr/l+OLs9x2xoJ+0t5Laz7UxXL8nHaly1KXghwTsFPYRlBUvDl0mk3QwPeoo+rrWocVEkevgoc3Eb6MkDj2rI7fZt3Myh7v15nrezpeWyKvqAKG9NMXIJC6VDfxOqnZC7i1p8Y22SCgM80gKGE+fIhZ8tp5YSpuMvn2n7ir312reEMAlSxCV4dfou45eo8ahzeOQxZ9Pahk7FEejp0K46Sho7BPUPoFh4Bk/b/mqwpduOL9bQrSLo7NjUlHgD+Vl7XqPMyTD4Yb5YVCPeoyNX5wBGDpWoIEfWRi/rImuy7bHWVxcG1kkOxLKert2OjkXVDB9Ezcb9Pk7ok9BlQjR+n593faRqTaVjP+8hNjHMy5dfWjUdqvyS/MSYh/PluY39JrHvi7PVBS6pb/DJZEm5YVx577Ivvwa96DH6sTL9ZmZP6UmTRR0Aqiai++nS0tqlrcp8ZVKfGUSjyaUvk3pNDf5vfjLv/89uRf3VSy3Hp6gL8WIfyRU5QjclMt+PAFEQBbvwUcNbcjKXc0kohBsYl9JkqjtbfxAPKDtOmRc8Yhd4k4YMLGAV0uER0X2lsIHN7kz4hEyPndQPGWW9Hei/6Iw+WDp7aL4bJGqDK9a94aIpKv+vKRFrIsPBfJLFTAt0tihCbK2PbhUwUSEtD+nsz6wDeEiHkSmDG16cbOPoFegKOW79lmXIHqmjl6xR2zjubb0YWSjfzmYPTJqJRc3Oi7gV7yFHcKKpDMQSx0qgoe5n3xtmDGmpK7yWa+DxQHvwRSfxZCLRzTb+Ff1MjKRIJCkSYHAFJGN3rtPtcdEShsSKXeIubYLIj04GvntxL7qyOkkTJ94S06/VepPZeqEUn/iVPp9TXx8m3pn9wdPMzlnpzA9oBl88fbF4Qua4jvmL3OqFtCJ+4cLuHaXmnoVXuDj9r6tlBfxagdjUftsoasmbLA6qPqHISiZXT+9TgGGxyahm4ypGwv5FbDVFXmmgyviw7XKQhGWi8FQiMqj2inAl6pjnz11C8kVe25z9F4N8dkdzKwzbwhTZwhtMRkXw6qCdKP0GS/cZjJHZ4/64Yv9fXW+iCTHEiPOm0ymvQTwEaLIaaFAuZvmno/0DouBXC2ct5vwbq68jvbCdCoOkEqFjNNwkoRQuDhlFbYs9usA3PZj8redus//jgjHedRE6RF8nrqwugQ0MoJTKk86Mq8YxmQphP5wQ2zQlk8iQqx4slKpuAN7Ytu1eGixLP/CwGq12UbRUX6yJHxjQTabGvHXqY1YeO+X6DuNOFyNCu1eqJ0xzfPRLkgCOuH2eqpVaOKFonT8MpQKDw4FLPcIl8UkGSTwKZslqjqkI7eKt6YWFlUR0vRiw6q04kOEMsfrwLmuCYUsttdD9NIcwTUCa15ufpQReFKE1mHLPrVsuXXuRvAgamVL4sa2sYUhMt+xlTZ83mknjBa2BJ4gbrR0dGvnCfAcNHxkUI+eRU2hAeRYQzYat7GG1MVhNn0HEtlSfLe2ukTiNpgcEnNrKxB/qMmbZf6/o92GmL1Gv9TAOzcOGf+GRoEWvQY5g/ZokE0KsC1aHuf+0CIbALdp6e7O7osArppnmvrgTk3FdniL+oxctHMC5YoMMmo9SW3EZVQBk4GW8vmYFOAYqfijcllzWaTBEOx1HY+Tpi13H/D4Yo9F52cXEKDrU5EWfzuJVFfZ43HJT347ISENEpsu9REXiwJmqqkmaVuXquenOfX85NXzwKmnqgY7s+tTBc2jCzGNqALnPPpjWHRmkuDI/BGd5HrVKcMeTQEl2RZSk9mi2cSgYXYHa7lOR2YyUT4IiRt64UE7HbNPETyfCksocxOWsNuh32ZNwlDGWaeONzwdufB5t5/Qmyr9xNlxxJfNZtWeLrOKKInTzWk7zWk7zcnKYDz4blc2o0SKrl33L9R/3qWtA4/ZJsITp9e+jQQAt9IW3H1fJ3HiWMbV/iCXsCE2/bSEPxQcGaaMyNRcT1GK990ov/E63184Zrxj5JNIniV4i4OyZEJ/mnjA5bbDaV9So4LHn7qT01DUOn+qF+PTr9KNmujhcjSVgYgUbgCmYT02m3TXCrfKp+6Wl29yNVG1L8zIxM9RG0yzKlrcaFBLnYIMwdjCkpIOuh3rwYVma+6Qa++Qi8dc5vGCWttCsBo2j4XZl6yz7epucx4cuhbxFi7jzC0DTNwpQ0n++JPRH6sqou+cIpK9hZi7lYyLkMaf1VLVqRshWpOy8/yPengkYJnybyBIFBARhH11hs3UvzkJyNMFKSmYrl4SsDCKs6wW+RjOgm3cUrvI2zlJ0Pns2vRXYdTOKyhZbRCn6zrw4cMXOpheK+j82R1SFF+llPBxsAO32GM4EOg/2ziM35kpFQNMR8czoOG3LeqR6RelTgdhLXDUylxfTIr4XLWtOFRP5xxydlxKvBcRXAElKqq+k2eb8sCL7Ri8x0JfA3pKt3A+eBdgunuiUw4S2l7tQUOXI/VPNytAujxpfk+n24Jl+RUI675oDmfxnEepMeHoP4K62W5aRXU7IlAdMFNcma2nsjl87jeHzxnYoYU9LIGtKuDDss3Yi+h4XIQJuG6i2OpRE/8s458V/LOqta7nnamnlDuZvY3/cV3sZXJWBEkvGZ27HuCVHSCuRDaRsoU4UnsZWV2oy01R4T7BXC4U5nJhGZcL2o47d8MNUDdyCee5qYW3U1KJYd0qP3dku13Tdni4j9UKQW4o9Vos0XQoJGUcivu1GoZwQj8ixQuypFfoDdohIAm6US77yxdPqhjjX0MvPz4WJ9mpWKIl5GHYH3zHpNK2lVJlr7+lbgMxKLocafQtl6cFKUsQvulWruuVS+HSu3q6SKMrlR9IFKq1tC/yLj8yFKqoPFfzp4sRETfgJm2sFujJY82gzdWBcqyfwodX2lMhFLTTLtkhlRlKlbf3VO+SYUAXA/AEUuWtPucCdSBcsQRtHpaBiNglJvt0Z6+NKK+nyxRSwyii6qaCWA0gDdL0cEViobf33HRaKL3gGrz4sMoTJO+4ieuUDn06mtTdGPjnnQj+6Bass/MOkZirWaUV9vAhSdzos+tPY2CrYoPzVdXt341rcrNdu3Iat8d6Iqo/czNWOKNSbwNdnDGc01SXXI2PFTqN33LwQzYeoGyJqyMdlqeJJpK+8Ld/AKhuusxv1WJZ3KqhVJrl1zn4NfxoP2zIHBy7AKAggCzwWQc2bTc5YgwiMuznIhmFUbRE9S0Z+O6gTyIF9l0PrCoA6mEJe429UQFbTn7eEKfB7DeAwb8JWdyWJNpk9e88XyjiIxU279jIkSQjLKGbS2L7EL8a9Os1fjTpB239Z3HDn/F8kDnO3uiSq6XI/LAgVkl9ZHudFq3pu/nNcxaLuazXRY1vKqo7HJdFzV1368/GrdIICLc5S3Rqd2HAsNvP+rNhy+xAuiHDWNzK3IkaeE4yPlWRo4qyHOJ6Xg2onCcOtZnfP1obi6BlOajNfqCy2V3NCKRVaZR9amqJVfMeC0s40sWfpORP6FUoqmcvksLwXiGzRQ6MgMcs3ffcZ6C14EA57msF6raLb2HIOpcibkPFxEjQv+OuOQlOLiZ4sY4Br4lKo/mbq5RUlZ8Lwsed62aO3gozOE1RfB8GMZYC4gd/D5EJj8hotK1Mgxr+fsJCDbMEE5/B6GbRzreYCiDmVMwJK+fvQAk8FZPq2eAtnf/5Xi79VlYrP/ACxPHq6N3m3XVvn97TR0aLZEziwFvH2ag7nAxwf88eOnwVl9Y2TOu4UqPj2knpd4UiK3EVWeUBIy31FzDjST0rHv8Aamx6Crr+VYcBWJHTHVWNWwwTNNbA8HdCjbAqExcJDgjPC/7mDLg2wwx7WcZJqOJ+lchRhKwc8nYjHHdC8xHJrSxsRFELQPVRV6ic7Tln+Bz7gNZ2RrqBz2SPNOVc/HMErWb8+SiDBmw7O0prV8r+BwfEM2oV9FikzU3pn3bCabHG8dXSSY0GKKV/SDuM6eVfdkicr6iN6kizNCISMR6MNmlOOqG+kc7i77yzs7/1VkP+fj7Ii5bYpYvnrQKevntNcS1JRvaGd5PUUunMSMosiuRmukHJtY95vJVI+tFN4tf4+4VOmx38GKbxV/VjDCYFC1I2uNy/IFNEVZATn5xL1hHKXeeCEFw3IbpfUgkkhXJ5k4Kj0+MRr4Fwc3lbiVwvgx398MrRZuy8e7nXCipUjms09T7qwYetrRcHB5XYT2ew6XZ3b78S97GyHICuHDtC4jq7y0wfG6o3h/QTNqA8doMhddP0Ma5LjAgf+LczCQKUl/o4ddWh5G+dUgGwlaHnBE7al2ZhwZs63gei2VEJTi+6uFwSsmHgX7vF5QsgW7cJ26Rq85KfcyY3HcW63jjV2G9ncVLGJuieEMxbMwnWzNNVtbtqe8HNSVi33CpdCvmcSOtmrBbt7wIyl/HRQqIvmfANB4rC22mSnXVGsPt4yN5b/pFlmXtm1efM1qp1Ot9qqsvbPO3xOZvH5PcTQlTVwaIqUyY9OWkBO7h3jiejC+gbAFAEbjM5MG0vhOusSOMW/dzHBMTDs1ZDCS3qWl6MUfODSOYwftSxJCB0/GOmlQ8wKoQqIo1nD/wWF9M/g5zSrVOQnaPOXKuj/i0i1IoksS64KWBR9mh7fRUK5p8q/NafRJVtorftDM+UXB+D7smTc9AinzhuhT31rHv+3c4iEEXqEQUtLBCtoYKUWIListw8vzC7LPH21OJhROfiad+HekU9n1apbdmbm1+4V+D0yXH7EmtMcV8bZtZGcEpr9He88bi1SlOY8oQKL5giY0Re9F+GGbNV/joqNMNXhobtEmivpomH9KDtsYBYLM2isf/nEg6tv87JYR2GyqvdA6OEVDbK4z0yvwi15Z69QvMLIUv/aVB0Fgt9U2wDV1gMPRgPgq5ZFL+q/tHEwphP/fYzKBBykJqPMNwgErTB/JNOGqouHtfl6cbwcKJFYxjB3LlJsxVaZlI3rKQOa1RFxF94Hr2mjyNleubfrS59WQq/uG3VPqgDbmWRs0EoFuJ0cUdfVMwPLo96rUp/xPloka5UTDO6X+VIC7zRvFmIye3cf+98Re3V6rZSytrNvYDgcPcG39yoHBfyEzD8GTTLqKereyCgFPTxlXWRi8nMlPDYtvXMRG5RdTH5zgyIuaHOsR9e9Ko6ZTdFgev5h+r3Q+Rt9UnD3Db2G3U3sAzvig5NpwP1aK1Bm+J4AOnsH/V6fXZfJVv+STGr9rULoVwbdPKLZF8tin7losA8g5NPJVjG3I94ygPrGVXmfBW2/kxFYfQstxRSOriaHqArNUJQpfWXBMa8ckX11YriUnHBBrWyWlUXdFyla3xl8JCqCZSZ3Ib9YOKeirY7rhWeVUt+Vpq0rAhTOEa+7PBtppbdPG3lZ9qlMP+Zty3woUDDmDr44yg31GG/uSuQF7w9ZSp9HPFxyxufXI1PEZWeTqdymchW18bf3NpsQ+yd8BR55mbbOKuwvOhNn0p75lRaHvVn+4gIhTNnTbUVX1MBFUfZM+coy32YLrKq3ZyEA5Y71S/sfWH7Hk51uCRMcP6lTVJfUVVcF47KezkhXIHnswEnjsB7ZUWdJVEt8NJN50NjxLgyvKoQgMVSqAhuQyRJIloiyzLIdzcLxbPyri8g6+8qORdNc/AsrAK3VyRfCx+XYbO4f7OsDehgaJH4s1oax6p0pPFMPUWakrK3OvYqzaaxdusfxBWa0ibi8ggSN4RwR+IWD4RKYm42a7vnB9ViatV126lBG2ZvBQdkX4AnEtp0D1sOOmRl+pS3HMAcwTOL65LjjPMWyPdcDxxFyEfCuhjT6aHo9TQJxXX1NR4mGX9xE2b2l4ejJO9ejB2KUxeMT6h9wg1fNNWmIgbAX7LtldiHspBQfzaL6t5fiH/hf7jYqMweVlU1PpqFHUNEuXUJG4L5kVJ2QBcwt5HmPQut2HfsMkDYOO9W2HGzW3lHCSBqxOMm9nqeA2DDbdqG4BnAeLu7fPKkUU+esLCJMobrXumO0PJD5dG20s6Wlq7dSPWuWSnulksJCGj+5fG1sCGDHzi0LQzraoCSmON16CmgWFfa8eAbTEWYZGk4FUcL7gdY6EPKFfAhtrQyxe1zoEIfdvvGFJVzK+zBVe0Zm5LjHQgnmHMwFsqMrSxi21mjb5fXD0NR8vaoxkP4lmqPXzKvXrYjmfaIpWMc24nWoGxnUKvUflesT9/x/wP/C6xLLLU+AwX8r9F/9cWSxad7r5zmEVCVUqowz/Q2hGPt2bHCa6dxai4B//nPf/7/6T9jtHJWZuwhI/LwSvXzKDHbyWfxjnpWg2k7wO2GWh5omuTKbrymQe1hYLl7v/8+CZQkx11MnV5do7/E8L3RedHPq8eGcZ2R8Svicbqu1k8nSmnw0tG8nZUvMZI4/taJvtOcpr6m2KeAbIYCskoKcKSPCVQrV1A6LNCCk+bWFZ/wPoWXwhZn0P7CIMJGVnf8rYMi9TMdW5oQIHlqfxcrdKyMxQDBDsSF8pWK8stGq6vI2Yz1qnP/vtKN0PVMZUtdrvytA43zlyScgxnJW2myI1KEsm4aP6Cbxl/STb/q4Afppl935KsOVecFC4Fkxuqbb9RoQoT+1XtioyS+2cFZwi4JosP07nTiIzsEEgrvPhEd/YJzIQIdO+7uVXmebtR4NdNwCBrudpjU9qOcdera5PD332EJm9mXgVmNpMNJGLmPYKlgMUj/gHv8OMbmNDhBSep98nGkVaypflLJAkEQ08o6T0KLJpv60YpwjitFXJVPnrXPYpuRfs9Ufrah7opYOU6XboiiewZ1Y4F3nme6JiJ3n+RS2DWbsZXBu4G5SmjbcWNH0Dudo4R15sd0sNQ/OfYpK+Bre8RWwGaGKXXxLJEEwR3Rat19VDb9emy1Ti0jcWse5aeu/+5O6OkKk3iqy9/La61WJWeR5sqlhWMO1nIUSd5tWjo4g3cp9VnfSYoAdo/2JZ0te5x89cyCtaPrX+SbjnzbkbsOB9spXQzJs+j7L3HSftOJ8/bbTpy1dzvxmbUMghnfpf6d3W/ojxV8NPGx+hi/NHgN4JWoTWdfMo16IlO9JcaNdnNtPVWWfoSYdxMyFYZ6N+ULBwuS9IV5bJRRX4uoBfcb9FexmF/u3z8swnsNN3ZPVq4y6moWU2fzmLq7Q6skzO4/IUNy0jBQo8C3cycnLpm+D23tUQ3iQRyG3X6/GH2CgLVR/mzZ+C7mh3VUOC+lRkI7/VHZVdjW2yBu3IzkNqZTmPTx82+HSQdWkyGJbPk3EdEx2M0UPUREg0fNJTG8Etq/cF3CNv1xVCOd4JgsjZRY8zDEBS4p+5trrdXlSNmKD+mGLqrl7OCCd93lpkl6UpFCGVajGstJFVUktpI1ulLgJg1xoBqfUcMF4iRzXnEcpw+TSgQlA1N6WTp31BS93DRF8+600vTQqK3VBc6iRm0qLkSXCNMqxb4RqmC9mJBJHKbUq3Ndot9dGnXp1mVPRFQC960iOR3QSfDcYkStygZg9VPcJDG3fFFfVDiSXa8yLNpgyWH5wrNN4rmd2T2pwHD9NXaszYbZQmjDQAzbnjWgax+o0xN0UYvDKtlohCjhskiT4ZC6PobfNlGvPa49ETLXTBSwTJ7qwI6t25arIl3B8KPFhnfyYpKpz9A0FmbFHw63jE2x7I4Hswg7B3sG4Vp+SqHPrHGECFLyHNLD81T5HN3Sj4APVNJ7kvqSTlG26j1ZT8F/06sPO9v+JRb2rmJJjVjPNypcAiwUdfqn55sVRrWxUkk+bDpIPWtjuCCd7Q0XILDtoY/SPqPDZJzrjWl6/3e2rtJt7X/14beWpe9IJlDf1v4YD+hL7Vz9NIbZT0vsvVEhV1pik+JoEjfTj1VYukXSk5bQrpYMbA3onw52N98F5I4LfszKlGbLfbxNqeRt7vDwfWDmIeCnGUBdBiqFJ1MXNYxV0I2ZRQXOyizOkDrr4Dx9+rhljSG2u51iPAlIDdo7F9eOsJjZUwU/pd8ic9jXuGpkJSOFzKDBUBLQU5aDdkLtw+EgJl9ZZFR1kYQq/MxVuCL7KV1dbqh/W6V/1CSSv6TKWoNYArE41iLU7ZMErsHxa+s+OienjdqBUGNZwkU9/VjVEsKyZCdiSibA7/XEsZ2J6+0n9fUMCgJkF0MSKWWm0PnSY4hnAwSM2uod05GYVnMSowL+hvhHkmZJ0cBp6WZkpSkA5vVFSjLOq8JT8O7rEee+i2dJtQaWlQ5pz9GQ4hYKSo/7JDmcj9uQONnJh3AccnmlBxSdXtfXcsb3pTKyIq3ySKkl2a8USRRTEMj7iTquvCfNRtJJ+KnBDIjQNLE0nFON5tg8E1Zw4Ie5WnYIBV8yKtUmHsTRaGVGCd8+n4nCFdWSPA/dF0dZqi/Pn5Tun0xbtHlIXULlmNN/yoeQIg+lk0jMHUHiWANAAbG28qxH5N5Y722QENl6uobPRnOZvjP6XnmM79Un9JnTZxE3rvVo42p0KaP7jsJ5/1OghRrBPVBQrUo6S3xDTuV0cyvp9ewpuva6tltMTgf5ksDZIkSGc5p596nS74I9cSsPDu40/JKFpvYpjSvJno2/qmeFYhVqN081CNgQIJcuL/L/pnZU1P3BXRIzL5aQgVeS/+oidW5XilLWx4AqGvopYSL6CXN59FNyzCfBD5Qg1XdURrnHEw7hCjz0ncy2aIAe9+MmNylMNhLWc1oFpuPm3ecirNyvUOU/UF17MM1D9IDqWxm64XHL/in/a2UTR6RXjf3Cm4RP1OBFRSqjxRG7rUknpop9BpRVkGO5k6SHiCyovKIjWCG0JbwlVRe783BMHRwOqIdv1mYMZkmOtW1sd8IAKWZGsYodAtMB4cvycqe8/BgiSpyV5eRzyjl0xijwTAjlk2jJBazINR/QlCs+oC5ZfnKBMHdsNH28J7RtViCuyMZUDY2mbKxUYK7JZkUBBHPin3TCcmhopKB+ymIIwUiundK0a4nOh1kTyA28FLWPGe+LSPkNzJ9lmucr74EJO9azmWIRQU2DZXmEFP+tZnQcTwGTpYYESJfpLN+yJ7+5K+PBHI8vAM/3WdH07CT0s7ZnqWP6AWsP/GHzDftyjrmUf33h2FHZK223iXgNoXZ0s8WRPZX/HeMt9cqTZ1NotME9Xp+CXbfxZO196Td2u9eJHWtyEtVmPD2PXWf8bvzACp/8W06ykK+MU/42P5T7qopFlW9OFOhlkcCAfjzVinukrFEP85xY3vEe+zhqLLuQZUBWXEgTkFUHgsdVUDI1mkI6obbhfPWpFFNOBU2D4Kri64lpuXaI6rfS1+HdOgR0O2us2dZB8CXAYwtoMOCJBbgRVxKcmet+NA409Bs5XNUTS1PEk7aorYuPuNBHoBlVwYWjpRBpcyMLR8+ekXSfN+uJ10VAUq+PgGQW0tSQ3EKWubfN+swModbAVIveb9ne0wzAAf/iri+MK0xnkLXH+mCy9kT/EIjxWxf64IKvnv664q+GkDhgDs4TOAfP3DARJBWhvYhVHIxVVH9hszXVjcjcPAira/3BB2lBrIbyoi0Ndyi9QMgquWmT73nYbRuPOE5yN1Axbmwo8YmT6MQr1qlP3VQ/bDFjLNcthhetWKc23FR+a+ikI7Y05rshp8MJL8sXzgR/XcOIFe4U23MmuMaBOa3wekQGf5Jhltsdfl0jN94XSS+u66vjPMxqQNYjQhcnAJl+7g+ge9FAp2sa4nUnipiIULIho4ZHRnWXjPB1Zb847rgVelwK46SC51kGiaE3l57mIgVLATpcxmIvNCnVS1pJp2iL+O+9cqR8ykKik+YSlj+QU8QzO6iztJMtpJ3sJtqxYdvxSoslSRzoL8F7RUv97VHDIE0G6ph+kmSKj1h60seEhSSk6WY6+nfq9j1O/a7Sd9kz+nA7EotWS/DrtqpKhUzlc9qOpJ2FygrtPMjpqvUUIKUqkDjA1XHDb25Tqa1JdYAkVg24sSVqqYQqJ7N3aEqhAxt3iOolIo3pNKRW4R2/5vjPt79r6uwdx8I636dWc6x+02SoW4wZ4lmiKiftY21nvKXe101ib0lsNFsNDppe3Skhz+Rz8CaXPWEq5nAnzZr4+Lnl2EJIx9SCheKttJSK4+Uow5mUL1S3Unujqh4L4LQ5a81F8inhbp4cAX2pcUw5ZKAASwpCT69XVSnIvs5X9uyxC32wTGJ8tzXUYF1thqNyhEHhl5WbWUYaNhNxxh8YpcZqQ+q8KsJEPcRQ+s0xSB0RrnCm1Kufk1kL+kEnbVQBW8/1Mz9OfFOMSMAejJF80M3VKjLm7YazlJCmNWsAWkExEca4NvDaQD2i7r+3iZK4j+TnpbqzQsIRb7qx3HosXUOLSxj6JhEMEaBInxoitbdVjJPMnJF6XRtmVIjyQ3qv0bpXlymVQ3cKc8Y5+q6H9+i4YlB/fCia3Ot3xaXttMdF0VdFDw3bXV4mmAftqcS2cub9TJIRm+WL5jidmt92ARfrsZnldHaGadPwfIhAMfkwIbudvnJKQmvjt1DgGkfIImpPCqqL/a8QGJPAAXUVvKZFqw3BP7AAtu0GrSyXC3K5nEacuyQKCIU5GeF26WxK7RwZ84hZvD+Lo3SGprT/hDNt/wEreL007PF4OYoo2a9EViDiJK+9JMtg8yLvlq0JSgMSDLjOqByav64dHpmSiOfQAFEjzjRfssWJSNKPaVz1/tHFjcU75cqmzb1nTCFZNea8dBDXpDrV5ASfV9K6ihGGy2KZbffHf+GAAzdCLDnTVvdhmGPRfYMUfaAkdD3PysyjEU1juqlNCCdmlaT0e5l/6ww0md1B3s04o3ncTmgrHtrh4dv2hZZhlqXY/kY0TiIbpQS4g+d1NVFC8GTQIRPouQudirwHx3C01sqxApljsOYutdveeGY3YW4P4IsTuDqsO7TjVsGjrWxq6rImjef5AvZ9iOaNBla87813vmKmbp2XohVkz8lN8pz9tstYMfFNPTogtUmRv/xl+51E2+c1lx9W6faefMn7i1voO9FkE3qlKxb+y64H61y/DMboTTIO9g78rEIpUkXwQOWmXLYAKEu3ixwXnigg755AitJ+U1HOI0Z1RguVUffdwbJigbl/DoAJehydYNtx1EnvySAx+zaH0EoJUQgtCX7MXFEQb01djTIuBQasUB6i9KEqvSSDj5mv4wVV0CAw+ABeJwrchUNssa+DrA5Z594uDQC0WRl3dlrjwLow7h+6Pi646wdkNoVgYwjl93Ywo8DCZT7ZNHBpm+cTgyqkOLU/OVVVo9MR5wJX+ezGkUwCsJSpphd0ez0qqBy1P81lfXg64ptLJHcwl2CLW+Cnc40F0lsYC6Q3GAukNxkLpHONBbLmmhFLyMPPWG3WS4m5/8cMklYPUxPwiE2HDVHDh2ksckwiiV95ryBlGkSEXbqi98j3BUT1GRq2N6EFnwkQ0eI97nzDpAYnxL9K/vtZGbQxK9Q/4lj1bHNC+uqUOheKDN4yYWrpPxBCrdOZ71VmNscKSGlVCFbn/m+qSBhv8vAhJypa01PxpuHvgZ/wRP5bsTyiKYIPu+J4Q3klPh0Ze/uZ54HKTFpdpAeP1h+0wlRlM635h4gkSnD82mXnmAR7USTU6BPLh8uoBwLPU/BR18cfy6GG1Oxy/gSsaoaxngFr/eVhsLmenixGufJRZAYljQ+CqoalcHtVrhkgLKSoUrOs3MX5rlAb+2P2JDcpAo3rabh2C1rk+fkAZsCDS1f2V8I7GZU9sS/v/v3v3VqnlmZhYvNcDG+RI3NzwKfdLfJ8SjjPaIBF42VA8kEe4g9SFROlkXnFokfRz7c2t91xqCi9yICb03hgue7A/fQMW1Pu4HZrA8ve9PDNcrml/7PYXGkNOBk877nm+nRqHqc4RYLnDTsC3n94GA+VdPiSuJNHghjrrThUf5bWVqJ/Np42UX62am34jwR5OAxUTiilzxPn6y3eUOqv4yNVyqO1lWOuElR/2SUPPhypzFZrL9uhZxlmtVNYaE8FVEvaVrf05uPufpETt1aZPR1LKt8UUeUyW3wCWFiscxZopwtPitUin/sybcWXAOkyMtcmrXeSAuvrWi8X6Nz2+b6P11hnRV0Vpmg/ffZGy9l+rub68iifxadJcTwDVDv35B7qqbNFOELiLYfIyvS4ri3UGXfCpneLx8nxWrF6Sz8UizpywFUHpu5QL7/Ik3v51Kcu7ljwM6N6975irP9Hekqtf9h1Osp043dUU8APUXmv6CTZYiJ3Yp/8kYfRDMkbRYqkGz14g6N9o8jnEv6LvkZ+yzXT8g7gcIjGxOa5DS1Dix2sPq3XvZG4/UAYIoaezJ9sht3gQePWRPCEieBiyIO3oEfoTGArDJ8EuO/3Z5p5g5YjmT0yH/bC2uu7a1D7D5LFOP1bKOImIrjLhJtHsYd4tHnCN/wB/ewPSNg8mRR9c2VU5A/WeVDoKWDSh8FD1WLBhz4sLhTrznKZqp3c2RPK14H+bgi0GcboIGu2dcgJVeyJC8CozGZ3UXUR3DC7jC2uKnlnDIrCOtHDDfdNdyQg3aHUlnxTnlJM05Wqo1rUBp1A90Wq0QNiEBTl3hMzfiaJ5FVCvxil2096ZIWCOWZ5aEpGMA5GkS1JIv6j1BJW3X2AidRlCBsXvP6McT3vFJTz0K/0/3jJlM309fBBCuVAGdf6kSgntJ3RxJtEO5x6InlqDrp/etPzRM+LYhcbREHLzcgUQyajV8t1IZHeUZbochmuA32sJ/Wr5qpFelKXzdUocqt8eeWfSpaXrQysdTHhy0Y9iIMXB1tLR3u7EdT4Pcrfp8F00+pI+XhI7Vjys3yOSExGA35O4pD/0iz9c/nYbQaCOrgNAd5I448Yv02NWzGN2y6OOIlK6dIxWw2qUwATY1s/gV/fhX4YstpZoML6jOECP5lWhdjIcg+DF1dD0glA8ZD0atZ1evDoRg0t2Pxw+E2d3nZ8x0vz94FV7ANJlhXDSSxq3fOO0LGxVFnspT0E3N3Bbm5KlpMi5i+1ZDzQLdna3t/b1Q0BOPJVyMmtlMF2ojDbi9swsw/ukbhnYo5Pb4GvRklWnFz0pkX8HRKgcsQC9/ZEK/GqpvgigR+lyTkrYfv6pcCrSvVWXT120mhgDDuTgtg7+ncx6olIeQziVDZyAtSQrmdp6gXYaFN9tMF87Y4GfZAeXQpy7XSJ7tJ2rgOYUi1FrqbWFB61i5PQlITbv51+d4IRyLe6o2SBktT1r/NrEWE+q9XP0OhjLi977GqH+8S/iVWeZt5mpRw0zKibfy3o0thXMaOtgW1scEhvwYseBv2PE1wPc4d2h2PesmeP1TKLKeDQG3pYQ/s17cprz+I37TT+iYa7rQovw+L4VQnzcIYMns8ytSexBMP3j1zf/kWvqKVSlF+s9sch/la3IE0mg8YCUXDNFQWTkxlR8GFjPcSdYSR8DWQ3i2aPt8qBF01HgUvMozrdVZpfNbQ8jrvZUcG/K/3ncTIPAdTvs8diezrnnvnLKGN5+S4jkxF9/oXRqa9v7exvKsat9qYpXtDwxoJIxA7Hi2R2AKistyhrp89lVXd89/3BbDRA9tz1rJtZqehu49C80xjwGW0hndyWRhqWRhp/H43wCfvvo5LmfxeVNFwqadydStyuV9PJdQHDJvV6N68xu3vbPSlwGOFT1c1Xwc0eZcDR5rYHTIyIO/nOGX+dmxDYIqu1I21h7vC1j6FMvUFbXiPpk+OmKQuUvIYBhu4CykV4AcuTMEc0j4J/rUTKXgc5GPCEAPV1LgLidk6o1LQWfkXytlQywWZ1txXEZftUwgZeWcWUm97LQA0SRwGpIqNGdX5MLx2xEbZLoiVFkOC3kLNr55Ca3qGdajJFOregC7RtdBNRsCZlliaMQz01luzeseIGHOccmNz3S/EoPcF+iPJYO41TbLVhU+/EOrruslkTzJOUDRKzk0Bvrw53gboc529rloQPIRkYIXXrnU3bUoEUdClIifQu305axll2DalEj52sdABDPhmLo9zGzaL3oF+7UJzo69Bbm17GfyTh31LQlMupv6fM7snf0zj4ndI2pikJpTEKbaejIjkLkutrjj5+zUs6N5Xt9O9aC1chEf7MPoMyhm8i2uAZn37PDn4rtFR5P3gPHeSjgAnyIVCDw7cHIpKcV2usdraFpDd0J3C4UGPYzjYO1Itq2CrIi9gJgAXVsEvhL5LebA0uFhPl4CR8aQXO9xcpyZWkx3HwaimacXCh/AFFioSjdh43dICueDXy9W3cuQA+LHFclrk8P0EgwzadHVyBlvFmTsrx4qakt5Vz78KAK1vGtmEzO3ez3lh/rV1SBLA/8pOX1/FKwtjp+oy05FI/wktR4e1Y6U39QV28baPM9Rld+4NbtAZKWfcmROibkNB/1RbEcVAP/v3vGfh6HKw8Ce7fD6bgz+Jg9XEUiRt6yoO9srK8fIdOr2vSRNs9rcECMYd7e5H1vd5nN9iR/UCjnJ1iZkJuRfAJ1vrfQvCiDQdcnm3gtKLDWZQialfdahrO+Oi9vvzw14LPxLAeqroNI3g9A8Aw4JvJE7bUf98UcV9uPzH+SqH+/43UMiGVTCewgzrTIn45MDuAGQbwDuSU0Qz/XeTkPwSvPAFOvQx3NFPLK3zKG/DzcXcnmj3ouYTpjo0dFd6qqMGBt11BbBwqsfGLEhsX9Cj+cjJXPbY/a7+Tnxg/4olsGK0YmwCD891obp9aufRGs/nDLkuZ+DsTONUYeB/Q1UKm0GCFN4GX7dLTRTiC7lzpoYXN4VhjIhs+KSlGDL2b3asgDv5gVFxdXTWs+RiZlhiYkNrhQAlrCgm722j9/j/oxuD5VjvYpQR4YjEbl0HUlev7O+Uwn5/enI7IHk21HLdXgX6ExY0HRANMB3kgyiHx4YGhyhLBQIzGTghZlDoOwlIziwNnGSuXg5kKyZ7wHRzSXej62KwmN9XvKWdjQmpc/rTTWPRpxFn4MxgMA6jEIrJF3yyKBvjU4BfDMLcYL5kTvFa8U+YPwGAAfyuk29DILF00K+ii4dNFsx28VRJWYnfxzLkCRlA5tNbKoXRK1GtNyAx63JejovjTNw9mc7vXtUkWJu57GRU9GULpLtWYdJBJyH4O+672Vq9IRgSYedYDZ2pCpbKME5Avlg2afXhX021T5SzLLzluwhQSedOfVAnFULBz+u1C8aQZvDJekR2uygbHjMoZswqrk/LLrEVhdRw8yybmIkdsca36NDsS2riWwq+5NtcKWfmH5I6NPYtrZ3hSHB0SPI1ZMDZIv/XYZHZskM0fm2mPnxmGIFrQc/afgHJu4uSSWKbi5Xk7vy0vz+bxchWfv6bvDgYjZi6UzUKEdJJthnfFRPM+m8MyRzeVMujU4bCnZTRgqI4STCczGSNB/XCCKRHkilobMZrRwQXM4Uwiv3NSF/gAaUZZ+hgspwzJxEtdZ/Cal9JfJLpOplLubWG7iFoDdXgfC+V0tFnWh8Keh/iU9SiOHfjDpl8ADz633vXFEkURnkapoQnm8xwnyLR+oYAcc9dLNrVegMzrhYm9YtEARS+aTC2aPP+EEI75QHuesBW5zsOucnXc3uwoBUwxhiLEZKMX1ammV3YrNRsnR3lLh5k9Nl5nxl7XPmLyRSkJX3bGCd/OeTFfLPd/BaOjQCxRTnMpFzzSsVzgc+pwcJsq0rtX4QqFpufBptUmvs557ngAKAt0r3gHonEA8ZrA3N5vgb559FvyiXZiOCws9wfdINi4A4ON2q+1l29/MsdTs8l92FaY091QNk87uUnmOOqcgmeG7DP/UufZEPJGmrAt2yxprMrm4Y5WmRi+xWqOFd8Or7Fmz07bNxjizRysl8IfaF3nopvfunXLt22dtYNjIySaoVHSz+k1GIurO9uIxbCfhcJ8Cyk0qp2XV9QyFQNfTCnJk6UfmQblr/zWPX0SqAPE6QDhJdUlzK3nRdk+XAyDcFx1zfODrWczux9t/9rtW69N9ipbX8lYlNuUHOYbKJrFB5NWJUEkNzHo5LiM1JnUyPgMb4iLnKU25+h2/z42xcUYYTp74Osl4aJMUAZzLosTmPPU8/xoJuuxQdeOHcyrL7DkpKaBCmYxtRmHwdxEqRrmIxpSMu954d5RwwyItgaeqXAcCZNPT6KXT8Oq8+l5tVxWLB1moYlgnNTMKqWxkatyK5fKsUC7asXOME2ZGsEnwVvotXVio/wKk+WPGl6JbmlhJ7xIwubqaqQsRpk5WeMeblEaGUJjVY22bLXGK9Wiajv9AQtjfgh6gG+UOX/trVE5syYlsBSY0hQdKsJnx8rUcDpaFtzwWlqpQ8rIX3KmHAYsyDntgRA5XEilhcEN5fFv7DCaMsybDM4R6CzOS9V9IoqlOz3v4LweewFVqS1Ylz97QOJJ/fHtmCO/Lt6S1+ZuyR/vuCXfmeS4eYtvetY8TeXHKst243SMXNIEcOBNv3gofcRGibi5vxCzyZdACzCWgbHmY9yGGqB8mdkgH9z6bUR3yEOGrHaWLXTxHHtbpNhTvUl6AWzQxuLWc74L5kcAzjdru/mDNEDmkX+JBPYuJimcTdPV6SHJXuPz7oxt505fY+BFTEGhbG61eo3Zpjdpf6Wnw9GAfvw1gt/skcs6GWxRf2a6uU2upyuTmuv7kEzfdmfGZpkL9IErqqTbjNHmXxkghwSSSeLStQu/Nfd6cmtC5qWL23wWDP62CeaD2V+YX6U5Xd8eBBSDDktteoZZR0GAc6zF28yQVcfNk279fU7zM+xzh0rURSP1g2xO0pLuAl9cHMemrdxbwUkN9t/X+ehJvdkwpRexMAwZi/aEbn3w0P4Q1iBKcRFm8c/5UV6jfGRagqdevZ1tlHBM+k1KVE9rbREGhaS5iixR1DLN2Hn/WgUTGDsN2Xk/twlvdBN23n/kOBdu7ZTPrdfD06ZCvXYvFqVbJAjkeQ0/Kb3nqOcL82lZrG1RZpIsOxLwgpjXuAcWuiEq+KBoiRnWZ8OJJzbarQqevZtHOUW4VuZ4X2hc8CGTeFf9bSpDvZU49mI6fknCIiLUwo8avwR3NB6sUQFrVsCWo0hmXrwtGlQRqTZljuIOeDwqPAo0/pksB9VfJUI2MF7Mqvg6pq/GeUN81vEe7bHAUhSXC21g7giYdCT4lMuePDqT+bEvwE2L5XZJfM4RvfSHxTgWzSHGGUXDMwYFgK23zNeQ6KDIccDUL1rXH/yI3Pfbf1ru4+ZOrNrEyMiadSIKZHJWKNXWwBD0hBfD/A41lhHOsnKrrNojfViTEWXFvrms0KtSVtxMUlGVj7Bqs9p0za1nR2N0tbhntxirbt8fqv99BuPm49Phr+Bev1bv0uUo8pIdWwx1OXFYm9l9asYNJC6NkO5vCy5G9P32wkC1c3N3sq9cUd0q4akox8xCacerGm2V/pWJiGKeVB2rHealTsOZ2n6urSJ+Tv+jLK5M4Z3xDjVxq+xkW7ZGU80lsr+1iiAKkE3ckcJthdXBT2UPI571RdSE8jiP7ym+UhLyT/yperP1G0tCU1W7HJ/uID9bA1M8rOIZt/eaEB4IAc+uqlIlaiB1z0hZolRXkmBD8axSfrO6SG7wjVYpCxQivhm1lVlSR0vCcf8M5L3ddUqTagsSchZNC0bKyTZZu1zpNQ72sCHwr2gJxUxE28dQvMMYYgTqS0RTOGpXB3spEdWX9ZBYchR7SZRHbd2Y/Rsbs3+LxuzfuTH7XmPgoUrLdlujIgH8tfKmNVbiWoJFOw+Byy1Fl3BJWfEmxbwiab4jtUyN/MPThbxptUVXsw69aF7IrPRU94mMtqwD8du9Dvwt+/HXgb9x8LZP3ZddmO37D9wXvxn8LZt5M/hJu90tXZj9gdXudG3BgkpipzEU7lgZyPg+rbVS9margfdaOWBXXWLM3QGJrKL8AFdISQ1/AZu1KheyU5Ca3QdyoCRHL5+Nvg0Z+xTYDKjApIdqAzZDSmrmdwQTHTtw3HCsdu+a/JKGjm3qKniYtbJ5wCjBpSnN6EjIHeFNY+uOD7ky23jABjoVLVv2LYI+h2JewUJ+3+u0bqrZWRvX8kMi68odb1TSDPnv1ZUvWBA6WhLCsa6urf+UtH/CdYHm0g2V+gcWy8LWRIvb+sexnTXyp8vheuvKg15YtYtTC8Q6/kSIBZw1GyoGbNY0fgfW6Pey/r3SzhrGBX3WrNtfK/bXqv4l1GJr8i574+xswYMZHeWK0JIRBzuaMrZ4R3iUPiZ3+b9cFCPv7HVFdytSWA/gbGrUXI50iB0d9SypcffH1i/4s0JFzMnKpKOc8GvmWgEu/NT2nZmn0qpwFOoEUEsjjsNKEQ+fw+kEqRSciKwJlwCo2ksdc+2LsLmCwAaSJsq1435dexOK56PB5Rg6i0RuFsopOJznmSGYZ2GV1W+yqZqk0aVp6gTynWNSpb4XmVDx8qVNcrOXjM7Hbv1qLXK6slq4TM7wA2iY835HCuWwhKwxlMST9PCobQpzQ9g4N7mqoooNXyBUw6rK8Htfsc97RLXGLQmG2Kyq844SceJeJ0z5flEZacGnB+6dcRnnF2Xv5FKX23ho45xyW7yswsPIWSfMfPciFux4FPELRXP8QtmxCGVtcVbPl4gP5meXALM8Ya5CzRmihJQ/rCHxeyG9EHqHU9+wYNiWLuQ1QV57kF2C7AJSOuOXpAepS/q/Y9fgNjORA/AO2HoxaFMlsQLRIlFBJevHsQoNSs0NAfdiVp3hJpta4Wdp3JxldypL86Ys1+4cmYebdpry2h/EfkOa2+ha2cctxBbCm/F8kJkklkfZ4Gevv6W8XIHk4S+ICy694ci0NtYk5ITAtVQF+W8uTQsh5xNyWk3IaTUhu65x5HxCTisIOZ0h5HpdyBuGTs4bujocfq/yVoPxUBhCWk6w8bi1LIfEe9TONuhY7fZmrxjdbNLPDOTWfvA9rhEB/gm8TY2JnMeEZmxGy3UlA8SzTCYBTPx1n5zVbA9h5jm5kH+gkpnVHtkXApsnBFEcV8h5ZGdszxQDpll7UxRD/REtuWbbCkYyutdtmZnTRXXyqvzSkVkpc2uPKFX3DNi57YQ44aw/n9TgVJZKpNmhHQsBCYXgsLyF6ubHop+roKHanjZFyqyZbMqBne38ZeYTTpWoptqY/tIxJP1GxCoQ5qTX7Z/Zst7Sh5AMjKIpRzBw7yKot2lHFjJHbzuD7ks8W53qo+0hhftNrba+Nj7tnkzoUSVtzDFJM40V4q6jrEYdY115FkUWGmc6GjCHBV4mSQEV7g2LPgw+dZOq73Beqlp5oxhQhlA8Ss4pBgrneSSWEil+T+HJTYWnBUoxUu906esEHk3Vmtomn7ukB8vn1SczPgZQdZkOnDwO4W65Q2l1WVHpqxeHAjIHGzD9PrroH6hfs9H2Nil0n37YetEPGEv5V6d179t8clnog+/YyAuqanwZ1c4Lxl8XZTPgRpxrmOUaFOxpM43oJxGiN4fG5pMzBuSLNjuzoV64ieAqCR3Xy1Ye2Jp+Jq/cKs9MU9s23iKiKY4KFbmG3o3gHNgLHimjQor+3tbcLBRcNCoyLNT6kv7Hvedv97be3PvHPxARXGYxfEabVAXKy1fvmVmQ2VFukWKqruldGiVHBe3lrvOi6DguqNzoOqlRAWM0jttEX10c6MdUb/PYadXHzX3dprL6qSxG0JkCO01Ddh0IH/98ieuyr4rrc2/Qkb7bEel1pFDePdAXSOr4a5OojWocx/DpPdXbunwSbYS96UF4ogdBfqHDR+ts3hiB33RzFTLki4ppz/XEPUwOkqR2F6d+83gSK4zPMLgZYlqmFKOxncUJpbc1Lv/GsOfATdrJ9EOK3IkWD5fec6kR7JXlE6ZuoDir7+c5qw8rCHLJDDGbUA7FeGKXXqDWnl37s0pYtsH/1rl/f0Jbp46Zgc9vHb5ZVPHWr9nHgFfIVdYmnejwzgWHV1kYSSoeuUOHQ51odbXPZz3/95cd5pzsVuoFbdaRTGlGvEvQqxSj+7u6CKUMnG6p4zE281FmTM5R8mYnji+pZeQFbd2XCiFphNHD5x0TdHerQ0VG7c0OZWg/78RV6Nduj3JiyKpxfq/Adp0eqKmkvSHJoHkQ9doKFEiw51B30yd0lVCcnNCZWulXizwWOCfO4LBomxiaSy+6MGF6lDK1YSCiaLpxtCHepWmNWl3MlgE5qaIUVQaXcKR98+OCQRzHgt3zN+mSgvbG7Gy2zF5BdF695Sa0Ijt0H5XwtnunWAhK8km6/XGYRYtbiEeWYnoyB8PqJunx4gbJPJ6amM6iiYlkUZ6jZqm1Df1CvvEC1NoKfVIfa1KHTw54Od/Ojvzcx5HMqMSY1OunNTa1DwG6Ys2xh4vSy4b4aWCZn6Hc+WxuU3LZoIbDfVDx8GEkTc/QnjE1GP2gRt2//1lrgCJJa/GzPbNSZbaoQtYlpxeRxNKUamli7MNpDY2dbIyplovHz78dJh2IoKFQzFJvdVsIsrSVWs0Q/UZ8ZwpId8wbw2WXBuTyyECOY/Urar+I98CzbFUzjIm50rV3DwnNkNO8DHcHhW5hKFg/JiIiRYgqrCqSCebGUyYpvVstyXPwpt34Kgm/pGFEP2vfkvht0SblTfaU40Cgf9VOEbVX/LHR0kZghXu8UakJpqxUpooL8TPqGKk6fkYdz4s5Tj8BbpSOSrf2l96+FFLQP+xq9GN6rFq3zK2jZgwby0L1hd9LUnwwyL6hwPJG5GpB8wyZ+wZcZgW3Q0ZUhhcF8Ozs3dyAG3G5ATci2wYAbyZ8AgnZiOaxJlTi+9QnMLYneZNOwVQojrce1Doi2U3bgz7LrPGrgsNeRFTqs0da7P7/APlN7l2mxQMA"; -var Medium_IntelAmtWebApp_etag = "IeB7H1GRGwkVlI3IGH5z"; -var Medium_IntelAmtWebApp = "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"; -var Small_IntelAmtWebApp_etag = "Ci0RenuglliDcxGQPFS+"; -var Small_IntelAmtWebApp = "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"; - -// MeshCommander LMS (GZIP'ed, Base64) v0.7.8 -var _IntelAmtWebApp_etag = "N8Wf/McOVX3T6idS+oh9"; -var _IntelAmtWebApp = "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"; - -// MeshCommander Local (GZIP'ed, Base64) v0.7.8 -var FullSite_IntelAmtLocalWebApp_etag = "PR80FHg+cPmsp2l3pigx"; -var FullSite_IntelAmtLocalWebApp = "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"; - - -// Check the server certificate fingerprint -function onVerifyServer(clientName, certs) { - if (certs == null) { certs = clientName; } // Temporary thing until we fix duktape - try { for (var i in certs) { if (certs[i].fingerprint.replace(/:/g, '') == settings.serverhttpshash) { return; } } } catch (e) { } - if (settings.serverhttpshash != null) { - console.log('Error: Failed to verify server certificate.'); - console.log('Server TLS hash: ' + certs[i].fingerprint.replace(/:/g, '')); - exit(255); - throw 'Invalid server certificate'; - } -} - -// Various utility functions -function debug(level, message) { if ((settings.debuglevel != null) && (settings.debuglevel >= level)) { console.log(message); } } -function exit(status) { if (status == null) { status = 0; } try { process.exit(status); } catch (e) { } } -function getInstance(x, y) { for (var i in x) { if (x[i]["InstanceID"] == y) return x[i]; } return null; } -function md5hex(str) { return require('MD5Stream').create().syncHash(str).toString('hex'); } -function guidToStr(g) { return g.substring(6, 8) + g.substring(4, 6) + g.substring(2, 4) + g.substring(0, 2) + "-" + g.substring(10, 12) + g.substring(8, 10) + "-" + g.substring(14, 16) + g.substring(12, 14) + "-" + g.substring(16, 20) + "-" + g.substring(20); } -function parceArguments(argv) { var r = {}; for (var i in argv) { i = parseInt(i); if (argv[i].startsWith('--') == true) { var key = argv[i].substring(2).toLowerCase(), val = true; if (((i + 1) < argv.length) && (argv[i + 1].startsWith('--') == false)) { val = argv[i + 1]; } r[key] = val; } } return r; } - -// Convert an object to string with all functions -function objToString(x, p, ret) { - if (ret == undefined) ret = ''; - if (p == undefined) p = 0; - if (x == null) { return '[null]'; } - if (p > 8) { return '[...]'; } - if (x == undefined) { return '[undefined]'; } - if (typeof x == 'string') { if (p == 0) return x; return '"' + (x.split('\0')[0]) + '"'; } - if (typeof x == 'buffer') { return '[buffer]'; } - if (typeof x != 'object') { return x; } - var r = '{' + (ret ? '\r\n' : ' '); - for (var i in x) { - if (i != '_ObjectID') { r += (addPad(p + 2, ret) + i + ': ' + objToString(x[i], p + 2, ret) + (ret ? '\r\n' : ' ')); } - } - return r + addPad(p, ret) + '}'; -} - -// Return p number of spaces -function addPad(p, ret) { var r = ''; for (var i = 0; i < p; i++) { r += ' '; } return r; } - -// Parse the incoming arguments -function run(argv) { - if (meshCmdVersion[0] == '*') { meshCmdVersion = ''; } else { meshCmdVersion = ' v' + meshCmdVersion; } - var args = parceArguments(argv); - //console.log(JSON.stringify(argv)); - //console.log('addedModules = ' + JSON.stringify(addedModules)); - var actionpath = 'meshaction.txt'; - if (args.actionfile != null) { actionpath = args.actionfile; } - var actions = ['HELP', 'ROUTE', 'MICROLMS', 'AMTSCAN', 'AMTPOWER', 'AMTFEATURES', 'AMTNETWORK', 'AMTLOADWEBAPP', 'AMTLOADSMALLWEBAPP', 'AMTLOADLARGEWEBAPP', 'AMTCLEARWEBAPP', 'AMTSTORAGESTATE', 'AMTINFO', 'AMTINFODEBUG', 'AMTVERSIONS', 'AMTHASHES', 'AMTSAVESTATE', 'AMTSCRIPT', 'AMTUUID', 'AMTCCM', 'AMTACM', 'AMTDEACTIVATE', 'AMTACMDEACTIVATE', 'SMBIOS', 'RAWSMBIOS', 'MESHCOMMANDER', 'AMTAUDITLOG', 'AMTEVENTLOG', 'AMTPRESENCE']; - - // Load the action file - var actionfile = null; - try { actionfile = fs.readFileSync(actionpath); } catch (e) { } - if ((actionpath != 'meshaction.txt') && (actionfile == null)) { console.log('Unable to load \"' + actionpath + '\". Create this file or specify the location using --actionfile [filename].'); exit(1); return; } - if (actionfile != null) { try { settings = JSON.parse(actionfile); } catch (e) { console.log(actionpath, e); exit(1); return; } } else { if (argv.length >= 2) { settings = { action: argv[1] } } } - if (settings == null) { settings = {}; } - var settings2 = {}; for (var i in settings) { settings2[i.toLowerCase()] = settings[i]; } settings = settings2; - - // Set the arguments - if ((typeof args.action) == 'string') { settings.action = args.action; } - if ((typeof args.localport) == 'string') { settings.localport = parseInt(args.localport); } - if ((typeof args.remotenodeid) == 'string') { settings.remotenodeid = args.remotenodeid; } - if ((typeof args.name) == 'string') { settings.name = args.name; } - if ((typeof args.username) == 'string') { settings.username = args.username; } - if ((typeof args.password) == 'string') { settings.password = args.password; } - if ((typeof args.url) == 'string') { settings.url = args.url; } - if ((typeof args.profile) == 'string') { settings.profile = args.profile; } - if ((typeof args.type) == 'string') { settings.type = args.type; } - if ((typeof args.user) == 'string') { settings.username = args.user; } - if ((typeof args.pass) == 'string') { settings.password = args.pass; } - if ((typeof args.host) == 'string') { settings.hostname = args.host; } - if ((typeof args.hostname) == 'string') { settings.hostname = args.hostname; } - if ((typeof args.serverid) == 'string') { settings.serverid = args.serverid; } - if ((typeof args.serverhttpshash) == 'string') { settings.serverhttpshash = args.serverhttpshash; } - if ((typeof args.remoteport) == 'string') { settings.remoteport = parseInt(args.remoteport); } - if ((typeof args.out) == 'string') { settings.output = args.out; } - if ((typeof args.output) == 'string') { settings.output = args.output; } - if ((typeof args.debug) == 'string') { settings.debuglevel = parseInt(args.debug); } - if ((typeof args.debugflags) == 'string') { globalDebugFlags = parseInt(args.debugflags); } - if ((typeof args.script) == 'string') { settings.script = args.script; } - if ((typeof args.agent) == 'string') { settings.agent = args.agent; } - if ((typeof args.proxy) == 'string') { settings.proxy = args.proxy; } - if ((typeof args.floppy) == 'string') { settings.floppy = args.floppy; } - if ((typeof args.cdrom) == 'string') { settings.cdrom = args.cdrom; } - if ((typeof args.tag) == 'string') { settings.tag = args.tag; } - if ((typeof args.scan) == 'string') { settings.scan = args.scan; } - if ((typeof args.timeout) == 'string') { settings.timeout = parseInt(args.timeout); } - if ((typeof args.uuidoutput) == 'string' || args.uuidoutput) { settings.uuidoutput = args.uuidoutput; } - if (args.debug === true) { settings.debuglevel = 1; } - if (args.debug) { try { waitForDebugger(); } catch (e) { } } - if (args.noconsole) { settings.noconsole = true; } - if (args.nocommander) { settings.noconsole = true; } - if (args.lmsdebug) { settings.lmsdebug = true; } - if (args.json) { settings.json = true; } - if (args.tls) { settings.tls = true; } - if ((argv.length > 1) && (actions.indexOf(argv[1].toUpperCase()) >= 0)) { settings.action = argv[1]; } - - // Validate meshaction.txt - if (settings.action == null) { - console.log('MeshCentral Command (MeshCmd) ' + meshCmdVersion); - console.log('No action specified, use MeshCmd like this:\r\n'); - console.log(' meshcmd [action] [arguments...]\r\n'); - console.log('Valid MeshCentral actions:'); - console.log(' Route - Map a local TCP port to a remote computer.'); - console.log('\r\nValid local actions:'); - console.log(' SMBios - Display System Management BIOS tables for this computer.'); - console.log(' RawSMBios - Display RAW System Management BIOS tables for this computer.'); - console.log(' MicroLMS - Run MicroLMS, allowing local access to Intel AMT.'); - console.log(' AmtInfo - Show Intel AMT version and activation state.'); - console.log(' AmtVersions - Show all Intel ME version information.'); - console.log(' AmtHashes - Show all Intel AMT trusted activation hashes.'); - console.log(' AmtCCM - Activate Intel AMT into Client Control Mode.'); - console.log(' AmtACM - Activate Intel AMT into Admin Control Mode.'); - console.log(' AmtDeactivate - Deactivate Intel AMT if activated in Client Control mode.'); - console.log(' AmtAcmDeactivate - Deactivate Intel AMT if activated in Admin Control mode.'); - console.log('\r\nValid local or remote actions:'); - console.log(' MeshCommander - Launch a local MeshCommander web server.'); - console.log(' AmtUUID - Show Intel AMT unique identifier.'); - console.log(' AmtEventLog - Show the Intel AMT event log.'); - console.log(' AmtAuditLog - Show the Intel AMT audit log.'); - console.log(' AmtLoadWebApp - Load MeshCommander in Intel AMT 11.6+ firmware.'); - console.log(' AmtClearWebApp - Clear everything from Intel AMT web storage.'); - console.log(' AmtStorageState - Show contents of the Intel AMT web storage.'); - console.log(' AmtSaveState - Save all Intel AMT WSMAN object to file.'); - console.log(' AmtPresence - Heartbeat a local Intel AMT watchdog agent.'); - console.log(' AmtPower - Perform remote Intel AMT power operation.'); - console.log(' AmtScript - Run .mescript on Intel AMT.'); - console.log(' AmtIDER - Mount local disk image to remote computer.'); - console.log(' AmtFeatures - Intel AMT features & user consent.'); - console.log(' AmtNetwork - Intel AMT network interface settings.'); - console.log(' AmtScan - Search local network for Intel AMT devices.'); - console.log('\r\nHelp on a specific action using:\r\n'); - console.log(' meshcmd help [action]'); - exit(1); return; - } - if (settings.action == 'help') { - if (argv.length <= 2) { - actions.shift(); - console.log('Help usage:\r\n\r\n MeshCmd help [action]\r\n\r\nValid actions are: ' + actions.join(', ') + '.'); - exit(1); return; - } - var action = argv[2].toLowerCase(); - if (action == 'route') { - console.log("The route action is used along with a MeshCentral account to map a local TCP port to a remote port on any computer on your MeshCentral account. This action requires many arguments, to avoid specifying them all it's best to download the meshaction.txt file from the web site and place it in the current folder. Example usage:\r\n\r\n (Place meshaction.txt file in current folder)\r\n meshcmd route --pass myAccountPassword"); - } else if (action == 'smbios') { - console.log("SMBios action will display this computer's system management BIOS information. Example usage:\r\n\r\n meshcmd smbios --out smbios.txt\r\n"); - console.log('\r\Optional arguments:\r\n'); - console.log(' --output [filename] Optional filename to write the results to.'); - } else if (action == 'rawsmbios') { - console.log("RawSMBios action will display this computer's system management BIOS information in raw hexdecimal form. Example usage:\r\n\r\n meshcmd rawsmbios --out smbios.txt\r\n"); - console.log('\r\Optional arguments:\r\n'); - console.log(' --output [filename] Optional filename to write the results to.'); - } else if (action == 'amtinfo') { - console.log('AmtInfo action will get the version and activation state of Intel AMT on this computer. The command must be run on a computer with Intel AMT, must run as administrator and the Intel management driver must be installed. Example usage:\r\n\r\n meshcmd amtinfo'); - } else if ((action == 'amtversion') || (action == 'amtversions')) { - console.log('AmtVersions will display all version information about Intel AMT on this computer. The command must be run on a computer with Intel AMT, must run as administrator and the Intel management driver must be installed. Example usage:\r\n\r\n meshcmd amtversions'); - } else if (action == 'amthashes') { - console.log('Amthashes will display all trusted activations hashes for Intel AMT on this computer. The command must be run on a computer with Intel AMT, must run as administrator and the Intel management driver must be installed. These certificates hashes are used by Intel AMT when performing activation into ACM mode. Example usage:\r\n\r\n meshcmd amthashes'); - } else if ((action == 'microlms') || (action == 'lms') || (action == 'amtlms')) { - console.log('Starts MicroLMS on this computer, allowing local access to Intel AMT on TCP ports 16992 and 16993 when applicable. The command must be run on a computer with Intel AMT, must run as administrator and the Intel management driver must be installed. These certificates hashes are used by Intel AMT when performing activation into ACM mode. Example usage:\r\n\r\n meshcmd microlms'); - console.log('\r\nPossible arguments:\r\n'); - console.log(' --noconsole MeshCommander for LMS will no be available on port 16994.'); - console.log('\r\nRun as a background service:\r\n'); - console.log(' microlms install/uninstall/start/stop.'); - } else if (action == 'amtccm') { - console.log('AmtCCM will attempt to activate Intel AMT on this computer into client control mode (CCM). The command must be run on a computer with Intel AMT, must run as administrator and the Intel management driver must be installed. Intel AMT must be in "pre-provisioning" state for this command to work and a administrator password must be provided.'); - console.log('\r\nPossible arguments:\r\n'); - console.log(' --password [password] Admin password used to activate Intel AMT.'); - console.log('\r\nor:\r\n'); - console.log(' --url [wss://server] Url to the activation server.'); - console.log(' --tag [string] Optional string sent to the server during activation.'); - console.log(' --serverhttpshash [hash] Optional TLS server certificate hash.'); - console.log(' --profile [string] Optional profile used for server activation.'); - } else if (action == 'amtacm') { - console.log('AmtACM will attempt to activate Intel AMT on this computer into admin control mode (ACM). The command must be run on a computer with Intel AMT, must run as administrator and the Intel management driver must be installed. Intel AMT must be in "pre-provisioning" state for this command to work. Example usage:\r\n\r\n meshcmd amtacm --url [url]'); - console.log('\r\nPossible arguments:\r\n'); - console.log(' --url [wss://server] The address of the Intel AMT activation server.'); - console.log(' --tag [string] Optional string sent to the server during activation.'); - console.log(' --serverhttpshash [hash] Optional TLS server certificate hash.'); - console.log(' --profile [string] Optional profile used for server activation.'); - } else if (action == 'amtdeactivate') { - console.log('AmtDeactivate will attempt to deactivate Intel AMT on this computer when in client control mode (CCM). The command must be run on a computer with Intel AMT, must run as administrator and the Intel management driver must be installed. Intel AMT must be activated in client control mode for this command to work. Example usage:\r\n\r\n meshcmd amtdeactivate'); - } else if (action == 'amtacmdeactivate') { - console.log('AmtACMDeactivate will attempt to deactivate Intel AMT on this computer when in admin control mode (ACM). The command must be run on a computer with Intel AMT, must run as administrator and the Intel management driver must be installed. Intel AMT must be activated in admin control mode for this command to work. Example usage:\r\n\r\n meshcmd amtacmdeactivate'); - console.log('\r\nPossible arguments:\r\n'); - console.log(' --user [username] The Intel AMT login username, admin is default.'); - console.log(' --pass [password] The Intel AMT login password.'); - console.log(' --type [partial/full] Specifies to perform partial or full unprovision.'); - } else if (action == 'amtuuid') { - console.log('AmtUUID action will get the unique identifier of the local or remote Intel AMT computer. By default, the local UUID is obtained unless a host is specified. Intel AMT must be activated for this command to work. Example usage:\r\n\r\n meshcmd amtuuid --host 1.2.3.4 --user admin --pass mypassword --tls'); - console.log('\r\nPossible arguments:\r\n'); - console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); - console.log(' --user [username] The Intel AMT login username, admin is default.'); - console.log(' --pass [password] The Intel AMT login password.'); - console.log(' --tls Specifies that TLS must be used.'); - } else if ((action == 'amtloadwebapp') || (action == 'amtloadsmallwebapp') || (action == 'amtloadlargewebapp') || (action == 'amtclearwebapp') || (action == 'amtstoragestate')) { - console.log('AmtLoadWebApp action will load MeshCommander into Intel AMT 11.6 or higher. If the computer is in ACM mode, MeshCommander will replace the default index.htm on HTTP/16992 or HTTPS/16993. If Intel AMT is in CCM mode, MeshCommander will be installed alongside the default web page and will be accessible in the "Web Applications" section. This action works on Intel AMT 11.6 and higher only. Example usage:\r\n\r\n meshcmd amtloadwebapp --host 1.2.3.4 --user admin --pass mypassword --tls'); - console.log('\r\nPossible arguments:\r\n'); - console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); - console.log(' --user [username] The Intel AMT login username, admin is default.'); - console.log(' --pass [password] The Intel AMT login password.'); - console.log(' --tls Specifies that TLS must be used.'); - } else if (action == 'amtclearwebstorage') { - console.log('AmtClearWebStorage will clear the web storage of Intel AMT, removing any loaded firmware version of MeshCommander. This command can clear the local or a remote Intel AMT computer. By default, the local computer storage is cleared unless a host is specified. Intel AMT must be activated for this command to work. This action works on Intel AMT 11.6 and higher only. Example usage:\r\n\r\n meshcmd amtclearwebstorage --host 1.2.3.4 --user admin --pass mypassword --tls'); - console.log('\r\nPossible arguments:\r\n'); - console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); - console.log(' --user [username] The Intel AMT login username, admin is default.'); - console.log(' --pass [password] The Intel AMT login password.'); - console.log(' --tls Specifies that TLS must be used.'); - } else if (action == 'amtstoragestate') { - console.log('AmtStorageState will display the content of the web storage of Intel AMT including any loaded firmware version of MeshCommander. This command can read the storage state of a local or remote Intel AMT computer. By default, the local computer storage state is displayed unless a host is specified. Intel AMT must be activated for this command to work. This action works on Intel AMT 11.6 and higher only. Example usage:\r\n\r\n meshcmd amtstoragestate --host 1.2.3.4 --user admin --pass mypassword --tls'); - console.log('\r\nPossible arguments:\r\n'); - console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); - console.log(' --user [username] The Intel AMT login username, admin is default.'); - console.log(' --pass [password] The Intel AMT login password.'); - console.log(' --tls Specifies that TLS must be used.'); - } else if (action == 'amtsavestate') { - console.log('AmtSaveState action will fetch all the entire state of Intel AMT and save it as a JSON file. This action will take multiple minutes to perform. The command will fetch the local computer state unless host is specified. Intel AMT must be ativated for this command to work. Example usage:\r\n\r\n meshcmd amtsavestate --host 1.2.3.4 --user admin --pass mypassword --tls --output state.json'); - console.log('\r\nPossible arguments:\r\n'); - console.log(' --output [filename] The output file for the Intel AMT state in JSON format.'); - console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); - console.log(' --user [username] The Intel AMT login username, admin is default.'); - console.log(' --pass [password] The Intel AMT login password.'); - console.log(' --tls Specifies that TLS must be used.'); - } else if (action == 'amtpresence') { - console.log('AmtPresence will heartbeat a local Intel AMT watchdog agent. Example usage:\r\n\r\n meshcmd amtpresence --agent B4B6A24C-255E-A75C-F5E8-B00B4D946AA7'); - console.log('\r\nPossible arguments:\r\n'); - console.log(' --user [username] The Intel AMT login username, admin is default.'); - console.log(' --pass [password] The Intel AMT login password.'); - console.log(' --agent [uuid] The unique identifier of the watchdog agent.'); - } else if (action == 'amtscript') { - console.log('AmtScript will run a .mescript file on the local or remote Intel AMT. Script files can be built using the MeshCommander script editor and be used to setup or perform actions on Intel AMT. Example usage:\r\n\r\n meshcmd amtscript --script myscript.mescript --host 1.2.3.4 --user admin --pass mypassword --tls'); - console.log('\r\nPossible arguments:\r\n'); - console.log(' --script [filename] The script file to run on Intel AMT.'); - console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); - console.log(' --user [username] The Intel AMT login username, admin is default.'); - console.log(' --pass [password] The Intel AMT login password.'); - console.log(' --tls Specifies that TLS must be used.'); - } else if (action == 'amtpower') { - console.log('AmtPower will get current pwoer state or send a reboot command to a remote Intel AMT device. Example usage:\r\n\r\n meshcmd amtpower --reset --host 1.2.3.4 --user admin --pass mypassword --tls'); - console.log('\r\nRequired arguments:\r\n'); - console.log(' --host [hostname] The IP address or DNS name of Intel AMT.'); - console.log(' --pass [password] The Intel AMT login password.'); - console.log('\r\nOptional arguments:\r\n'); - console.log(' --reset, --poweron, --poweroff, --powercycle, --sleep, --hibernate'); - console.log(' --user [username] The Intel AMT login username, admin is default.'); - console.log(' --tls Specifies that TLS must be used.'); - } else if (action == 'amtnetwork') { - console.log('AmtNetwork is used to get/set Intel AMT network interface configuration. Example usage:\r\n\r\n meshcmd amtnetwork --host 1.2.3.4 --user admin --pass mypassword --dhcp'); - console.log('\r\nRequired arguments:\r\n'); - console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); - console.log(' --pass [password] The Intel AMT login password.'); - console.log('\r\nOptional arguments:\r\n'); - console.log(' --user [username] The Intel AMT login username, admin is default.'); - console.log(' --tls Specifies that TLS must be used.'); - console.log(' --ipsync [0 or 1] Change the wired IPSync setting on Intel AMT 7+'); - console.log(' --dhcp Change IPv4 wired interface to DHCP mode'); - console.log(' --static Change IPv4 wired interface to static IP mode'); - console.log(' --ip [1.2.3.4] Static IPv4 address (required)'); - console.log(' --subnet [1.2.3.4] Static IPv4 subnet mask'); - console.log(' --gateway [1.2.3.4] Static IPv4 default gateway'); - console.log(' --dns [1.2.3.4] Primary DNS IPv4 address'); - console.log(' --dns2 [1.2.3.4] Secondary DNS IPv4 address'); - } else if (action == 'amtfeatures') { - console.log('AmtFeatures is used to get/set Intel AMT feature configuration. Example usage:\r\n\r\n meshcmd amtfeatures --host 1.2.3.4 --user admin --pass mypassword --tls --redir 1'); - console.log('\r\nRequired arguments:\r\n'); - console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); - console.log(' --pass [password] The Intel AMT login password.'); - console.log('\r\nOptional arguments:\r\n'); - console.log(' --user [username] The Intel AMT login username, admin is default.'); - console.log(' --tls Specifies that TLS must be used.'); - console.log(' --consent [none/kvm/all] Set Intel AMT user consent feature.'); - console.log(' --redir [0/1] Set Intel AMT redirection port feature.'); - console.log(' --kvm [0/1] Set Intel AMT KVM feature.'); - console.log(' --sol [0/1] Set Intel AMT Serial-over-LAN feature.'); - console.log(' --ider [0/1] Set Intel AMT IDE redirection feature.'); - } else if (action == 'meshcommander') { - console.log('This action launched a local web server that hosts MeshCommander, a Intel AMT management console.'); - console.log('\r\nPossible arguments:\r\n'); - console.log(' --localport [port] Local port used for the web server, 3000 is default.'); - console.log('\r\nRun as a background service:\r\n'); - console.log(' meshcommander install/uninstall/start/stop.'); - } else if (action == 'amteventlog') { - console.log('AmtEventLog action will fetch the local or remote event log. Example usage:\r\n\r\n meshcmd amteventlog --host 1.2.3.4 --user admin --pass mypassword --tls --output events.txt'); - console.log('\r\nPossible arguments:\r\n'); - console.log(' --output [filename] The output file for the Intel AMT event log.'); - console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); - console.log(' --user [username] The Intel AMT login username, admin is default.'); - console.log(' --pass [password] The Intel AMT login password.'); - console.log(' --tls Specifies that TLS must be used.'); - console.log(' --uuidoutput Output with unique identifier as the filename.'); - console.log(' --json Output as a JSON format.'); - } else if (action == 'amtauditlog') { - console.log('AmtAuditLog action will fetch the local or remote audit log. If used localy, no username/password is required. Example usage:\r\n\r\n meshcmd amtauditlog --host 1.2.3.4 --user admin --pass mypassword --tls --output audit.json'); - console.log('\r\nPossible arguments:\r\n'); - console.log(' --output [filename] The output file for the Intel AMT audit log.'); - console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); - console.log(' --user [username] The Intel AMT login username, admin is default.'); - console.log(' --pass [password] The Intel AMT login password.'); - console.log(' --tls Specifies that TLS must be used.'); - console.log(' --uuidoutput Output with unique identifier as the filename.'); - console.log(' --json Output as a JSON format.'); - } else if (action == 'amtider') { - console.log('AmtIDER will mount a local disk images to a remote Intel AMT computer. Example usage:\r\n\r\n meshcmd amtider --host 1.2.3.4 --user admin --pass mypassword --tls --floppy disk.img --cdrom disk.iso'); - console.log('\r\nPossible arguments:\r\n'); - console.log(' --host [hostname] The IP address or DNS name of Intel AMT.'); - console.log(' --user [username] The Intel AMT login username, admin is default.'); - console.log(' --pass [password] The Intel AMT login password.'); - console.log(' --tls Specifies that TLS must be used.'); - console.log(' --floppy [file] Specifies .img file to be mounted as a flppy disk.'); - console.log(' --cdrom [file] Specifies .img file to be mounted as a CDROM disk.'); - console.log(' --timeout [seconds] Optional, disconnect after number of seconds without disk read.'); - } else if (action == 'amtscan') { - console.log('AmtSCAN will look for Intel AMT device on the network. Example usage:\r\n\r\n meshcmd amtscan --scan 192.168.1.0/24'); - console.log('\r\Required arguments:\r\n'); - console.log(' --scan [ip range] The IP address range to perform the scan on.'); - } else { - actions.shift(); - console.log('Invalid action, usage:\r\n\r\n meshcmd help [action]\r\n\r\nValid actions are: ' + actions.join(', ') + '.'); - } - exit(1); return; - } - settings.action = settings.action.toLowerCase(); - debug(1, "Settings: " + JSON.stringify(settings)); - - // Setup the proxy if needed - if ((typeof settings.proxy) == 'string') { - var proxy = settings.proxy.split(':'), proxyport = (proxy.length == 2) ? parseInt(proxy[1]) : 0; - if ((proxy.length != 2) || (proxy[0].length < 1) || (proxyport < 1) || (proxyport > 65535)) { console.log('Invalid \"proxy\" specified, use --proxy [hostname]:[port].'); exit(1); return; } - try { require('global-tunnel').initialize({ host: proxy[0], port: proxyport }); } catch (ex) { console.log(ex); exit(1); return; } - console.log('Proxy set to ' + proxy[0] + ':' + proxyport); - } - - if (settings.action == 'smbios') { - // Display SM BIOS tables in raw form - SMBiosTables = require('smbios'); - SMBiosTables.get(function (data) { - var r = SMBiosTables.parse(data); - var out = objToString(r, 0, '\r\n'); - if (settings.output == null) { console.log(out); } else { var file = fs.openSync(settings.output, 'w'); fs.writeSync(file, Buffer.from(out, 'utf8')); fs.closeSync(file); } - exit(1); - }); - } else if (settings.action == 'rawsmbios') { - // Display SM BIOS tables in raw form - SMBiosTables = require('smbios'); - SMBiosTables.get(function (data) { - var out = ''; - for (var i in data) { var header = false; for (var j in data[i]) { if (data[i][j].length > 0) { if (header == false) { out += ('Table type #' + i + ((SMBiosTables.smTableTypes[i] == null) ? '' : (', ' + SMBiosTables.smTableTypes[i]))) + '\r\n'; header = true; } out += (' ' + data[i][j].toString('hex')) + '\r\n'; } } } - if (settings.output == null) { console.log(out); } else { var file = fs.openSync(settings.output, 'w'); fs.writeSync(file, Buffer.from(out, 'utf8')); fs.closeSync(file); } - exit(1); - }); - } else if (settings.action == 'route') { - // MeshCentral Router, port map local TCP port to a remote computer - if ((settings.localport == null) || (typeof settings.localport != 'number') || (settings.localport < 0) || (settings.localport > 65535)) { console.log('No or invalid \"localPort\" specified, use --localport [localport].'); exit(1); return; } - if ((settings.remotenodeid == null) || (typeof settings.remotenodeid != 'string')) { console.log('No or invalid \"remoteNodeId\" specified.'); exit(1); return; } - if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { console.log('No or invalid \"username\" specified, use --username [username].'); exit(1); return; } - if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } - if ((settings.serverid == null) || (typeof settings.serverid != 'string') || (settings.serverid.length != 96)) { console.log('No or invalid \"serverId\" specified.'); exit(1); return; } - if ((settings.serverhttpshash == null) || (typeof settings.serverhttpshash != 'string') || (settings.serverhttpshash.length != 96)) { console.log('No or invalid \"serverHttpsHash\" specified.'); exit(1); return; } - if ((settings.remoteport == null) || (typeof settings.remoteport != 'number') || (settings.remoteport < 0) || (settings.remoteport > 65535)) { console.log('No or invalid \"remotePort\" specified, use --remoteport [remoteport].'); exit(1); return; } - if (settings.serverurl != null) { startRouter(); } else { discoverMeshServer(); } // Start MeshCentral Router - } else if ((settings.action == 'amtloadwebapp') || (settings.action == 'amtloadsmallwebapp') || (settings.action == 'amtloadlargewebapp') || (settings.action == 'amtclearwebapp') || (settings.action == 'amtstoragestate')) { // Intel AMT Web Application Actions - // Intel AMT 11.6+ Load MeshCommander into firmware - if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } - if ((settings.hostname == null) || (typeof settings.hostname != 'string') || (settings.hostname == '')) { settings.hostname = '127.0.0.1'; } - if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } - settings.protocol = 'http:'; - settings.localport = 16992; - debug(1, "Settings: " + JSON.stringify(settings)); - digest = require('http-digest').create(settings.username, settings.password); - digest.http = require('http'); - if (settings.action == 'amtstoragestate') { - getAmtStorage(function (statusCode, data) { if (statusCode == 200) { console.log("Storage State: " + JSON.stringify(data, null, 2)); exit(); return; } else { console.log("Unable to read storage state."); exit(); return; } }); - } else { - if (settings.action == 'amtloadwebapp') { settings.webapp = Medium_IntelAmtWebApp; } - else if (settings.action == 'amtloadsmallwebapp') { settings.webapp = Small_IntelAmtWebApp; } - else if (settings.action == 'amtloadlargewebapp') { settings.webapp = Large_IntelAmtWebApp; } - else if (settings.action == 'amtclearwebapp') { settings.webapp = null; } - nextStepStorageUpload(); - } - } else if ((settings.action == 'amtversion') || (settings.action == 'amtversions') || (settings.action == 'amtver')) { - // Display Intel ME versions - var amtMeiModule, amtMei; - try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } - amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); - amtMei.getVersion(function (val) { - console.log("BIOS Version = " + val.BiosVersion.toString()); - for (var version in val.Versions) { - var extras = '', skuBits = ['', 'iQST', 'ASF', 'AMT', 'ISM', 'TPM', '', '', 'HomeIT', '', 'WOX', '', '', 'AT-p', 'Corporate', 'L3 Mgt Upgrade']; - if (val.Versions[version].Description == 'Sku') { - var n = parseInt(val.Versions[version].Version), x = [], xx = 1; - for (var i = 0; i < skuBits.length; i++) { if ((n & xx) != 0) { x.push(skuBits[i]); } xx = xx << 1; } - if (x.length > 0) { extras = ' (' + x.join(', ') + ')' } - } - console.log(val.Versions[version].Description + " = " + val.Versions[version].Version + extras); - } - exit(1); return; - }); - } else if (settings.action == 'amthashes') { - // Display Intel AMT list of trusted hashes - var amtMeiModule, amtMei; - try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } - amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); - amtMei.getHashHandles(function (handles) { - exitOnCount = handles.length; - for (var i = 0; i < handles.length; ++i) { - this.getCertHashEntry(handles[i], function (result) { - console.log(result.name + ', (' + (result.isDefault ? 'Default' : '') + (result.isActive ? ', Active' : ', Disabled') + ')\r\n ' + result.hashAlgorithmStr + ': ' + result.certificateHash); - if (--exitOnCount == 0) { exit(1); } - }); - } - }); - } else if (settings.action == 'netinfo') { - // Display network information - var interfaces = require('os').networkInterfaces(); - console.log(JSON.stringify(interfaces, 2, ' ')); - exit(0); return; - } else if (settings.action == 'amtinfo') { - // Display Intel AMT version and activation state - mestate = {}; - var amtMeiModule, amtMei; - try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } - amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); - amtMei.getVersion(function (result) { - if (result) { - for (var version in result.Versions) { - if (result.Versions[version].Description == 'AMT') { mestate.ver = result.Versions[version].Version; } - if (result.Versions[version].Description == 'Sku') { mestate.sku = parseInt(result.Versions[version].Version); } - } - } - }); - amtMei.getProvisioningState(function (result) { if (result) { mestate.ProvisioningState = result; } }); - amtMei.getProvisioningMode(function (result) { if (result) { mestate.ProvisioningMode = result; } }); - amtMei.getEHBCState(function (result) { if (result) { mestate.ehbc = result; } }); - amtMei.getControlMode(function (result) { if (result) { mestate.controlmode = result; } }); - amtMei.getMACAddresses(function (result) { if (result) { mestate.mac = result; } }); - amtMei.getLanInterfaceSettings(0, function (result) { if (result) { mestate.net0 = result; } }); - amtMei.getLanInterfaceSettings(1, function (result) { if (result) { mestate.net1 = result; } }); - amtMei.getUuid(function (result) { if ((result != null) && (result.uuid != null)) { mestate.uuid = result.uuid; } }); - amtMei.getDnsSuffix(function (result) { - if (result) { mestate.dns = result; } - if (mestate.ver && mestate.ProvisioningState && mestate.ProvisioningMode) { - var str = 'Intel ME v' + mestate.ver; - if (mestate.sku & 8) { str = 'Intel AMT v' + mestate.ver } - else if (mestate.sku & 16) { str = 'Intel SM v' + mestate.ver } - if (mestate.ProvisioningState.stateStr == 'PRE') { str += ', pre-provisioning state'; } - else if (mestate.ProvisioningState.stateStr == 'IN') { str += ', in-provisioning state'; } - else if (mestate.ProvisioningState.stateStr == 'POST') { - if (mestate.ProvisioningMode) { - if (mestate.controlmode) { - if (mestate.ProvisioningMode.modeStr == 'ENTERPRISE') { str += ', activated in ' + ["none", "client control mode", "admin control mode", "remote assistance mode"][mestate.controlmode.controlMode]; } else { str += ', activated in ' + mestate.ProvisioningMode.modeStr; } - } else { - str += ', activated in ' + mestate.ProvisioningMode.modeStr; - } - } - } - if ((mestate.ehbc) && (mestate.ehbc.EHBC == true)) { str += ', EHBC enabled'; } - str += '.'; - if (mestate.net0 != null) { str += '\r\nWired ' + ((mestate.net0.enabled == 1) ? 'Enabled' : 'Disabled') + ((mestate.net0.dhcpEnabled == 1) ? ', DHCP' : ', Static') + ', ' + mestate.net0.mac + (mestate.net0.address == '0.0.0.0' ? '' : (', ' + mestate.net0.address)); } - if (mestate.net1 != null) { str += '\r\nWireless ' + ((mestate.net1.enabled == 1) ? 'Enabled' : 'Disabled') + ((mestate.net1.dhcpEnabled == 1) ? ', DHCP' : ', Static') + ', ' + mestate.net1.mac + (mestate.net1.address == '0.0.0.0' ? '' : (', ' + mestate.net1.address)); } - if ((mestate.ProvisioningState.stateStr != 'POST') && (mestate.net0 != null) && (mestate.net0.enabled == 1)) { - if (mestate.dns != null) { - // Intel AMT has a trusted DNS suffix set, use that one. - str += '\r\nTrusted DNS suffix: ' + mestate.dns; - } else { - // Look for the DNS suffix for the Intel AMT Ethernet interface - var fqdn = null, interfaces = require('os').networkInterfaces(); - for (var i in interfaces) { - for (var j in interfaces[i]) { - if ((interfaces[i][j].mac == mestate.net0.mac) && (interfaces[i][j].fqdn != null) && (interfaces[i][j].fqdn != '')) { fqdn = interfaces[i][j].fqdn; } - } - } - if (fqdn != null) { str += '\r\nDNS suffix: ' + fqdn; } - } - } - console.log(str + '.'); - } else { - console.log('Intel(R) AMT not supported.'); - } - exit(1); - }); - } else if (settings.action == 'amtinfodebug') { - // Display Intel AMT version and activation state - mestate = {}; - var amtMeiModule, amtMei; - try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } - amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); - amtMei.getVersion(function (result) { console.log('getVersion: ' + JSON.stringify(result)); }); - amtMei.getProvisioningState(function (result) { console.log('getProvisioningState: ' + JSON.stringify(result)); }); - amtMei.getProvisioningMode(function (result) { console.log('getProvisioningMode: ' + JSON.stringify(result)); }); - amtMei.getEHBCState(function (result) { if (result) { console.log('getEHBCState: ' + JSON.stringify(result)); } }); - amtMei.getControlMode(function (result) { if (result) { console.log('getControlMode: ' + JSON.stringify(result)); } }); - amtMei.getMACAddresses(function (result) { if (result) { console.log('getMACAddresses: ' + JSON.stringify(result)); } }); - amtMei.getLanInterfaceSettings(0, function (result) { console.log('getLanInterfaceSettings0: ' + JSON.stringify(result)); }); - amtMei.getLanInterfaceSettings(1, function (result) { console.log('getLanInterfaceSettings1: ' + JSON.stringify(result)); }); - amtMei.getUuid(function (result) { console.log('getUuid: ' + JSON.stringify(result)); }); - amtMei.getDnsSuffix(function (result) { console.log('getDnsSuffix: ' + JSON.stringify(result)); exit(1); }); - } else if (settings.action == 'amtsavestate') { - // Save the entire state of Intel AMT info a JSON file - if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } - if ((settings.hostname == null) || (typeof settings.hostname != 'string') || (settings.hostname == '')) { settings.hostname = '127.0.0.1'; } - if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } - if ((settings.output == null) || (typeof settings.output != 'string') || (settings.output == '')) { console.log('No or invalid \"output\" file specified, use --output [filename].'); exit(1); return; } - settings.protocol = 'http:'; - settings.localport = 16992; - debug(1, "Settings: " + JSON.stringify(settings)); - saveEntireAmtState(); - } else if ((settings.action == 'microlms') || (settings.action == 'amtlms') || (settings.action == 'lms')) { - // Start Intel AMT MicroLMS - startLms(function (state) { - console.log(['MicroLMS did not start. Must run as administrator or LMS already active.', 'MicroLMS started.', 'MicroLMS started, MeshCommander on HTTP/16994.', 'MEI error'][state]); - if (((state == 0) || (state == 3)) && (settings.noconsole === true)) { exit(0); } else { console.log('Press ctrl-c to exit.'); } - }, settings.noconsole !== true); - } else if (settings.action == 'amtpresence') { - // Heartbeat a Intel AMT watchdog - if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } - if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } - if ((settings.agent == null) || (typeof settings.agent != 'string') || (settings.agent == '')) { console.log('No or invalid \"agent\" specified, use --agent [agent].'); exit(1); return; } - performAmtAgentPresence(); - } else if (settings.action == 'amtscript') { - // Start running a MEScript - if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } - if ((settings.hostname == null) || (typeof settings.hostname != 'string') || (settings.hostname == '')) { settings.hostname = '127.0.0.1'; } - if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } - if ((settings.script == null) || (typeof settings.script != 'string') || (settings.script == '')) { if (mescriptJSON != '') { settings.scriptjson = mescriptJSON; } else { console.log('No or invalid \"script\" file specified, use --script [filename].'); exit(1); return; } } - startMeScript(); - } else if (settings.action == 'amtuuid') { - // Start running - if (settings.hostname != null) { - if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } - if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } - } - settings.protocol = 'http:'; - settings.localport = 16992; - debug(1, "Settings: " + JSON.stringify(settings)); - getAmtUuid(); - } else if (settings.action == 'amtccm') { - // Start activation to CCM - if (((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) && ((settings.url == null) || (typeof settings.url != 'string') || (settings.url == ''))) { console.log('No or invalid parameters specified, use --password [password] or --url [url].'); exit(1); return; } - if ((typeof settings.profile != 'string') || (settings.profile == '')) { settings.profile = null; } - settings.protocol = 'http:'; - settings.localport = 16992; - debug(1, "Settings: " + JSON.stringify(settings)); - if (settings.password != null) { activeToCCM(); } else { activeToACM(); } - } else if (settings.action == 'amtacm') { - // Start activation to ACM - if ((settings.url == null) || (typeof settings.url != 'string') || (settings.url == '')) { console.log('No activation server URL specified, use --url [url].'); exit(1); return; } - if ((typeof settings.profile != 'string') || (settings.profile == '')) { settings.profile = null; } - debug(1, "Settings: " + JSON.stringify(settings)); - activeToACM(); - } else if (settings.action == 'amtdiscover') { - // Intel AMT server discovery, tell the server the state of Intel AMT. - if ((settings.url == null) || (typeof settings.url != 'string') || (settings.url == '')) { console.log('No activation server URL specified, use --url [url].'); exit(1); return; } - debug(1, "Settings: " + JSON.stringify(settings)); - activeToACM(); - } else if (settings.action == 'amtdeactivate') { - // Deactivate CCM - debug(1, "Settings: " + JSON.stringify(settings)); - deactivateCCM(); - } else if (settings.action == 'amtacmdeactivate') { - // Deactivate ACM - if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } - if ((settings.type == null) || (typeof settings.type != 'string') || (settings.type == '')) { console.log('Unprovisioning \"type\" must be specified, use --type [partial/full].'); exit(1); return; } - if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } - if (settings.hostname == null) { settings.hostname = '127.0.0.1'; } - if (settings.tls == null) { settings.tls = false; } - debug(1, "Settings: " + JSON.stringify(settings)); - deactivateACM(); - } else if (settings.action == 'meshcommander') { // Start MeshCommander - startMeshCommander(); - //} else if (settings.action == 'amtdisable') { // Disable AMT Network Interface - // amtDisable(); - } else if (settings.action == 'amtscan') { - // Scan the network for Intel AMT devices - if ((settings.scan == null) || (typeof settings.scan != 'string') || (settings.scan == '')) { console.log('No or invalid \"scan\" specified, use --scan [ip range].'); exit(1); return; } - console.log('Scanning: ' + settings.scan + '...'); - var AMTScannerModule = require('amt-scanner'); - var amtscanner = new AMTScannerModule(), r = ''; - amtscanner.scan(settings.scan, 2000, function (data) { - if (data.length > 0) { - r = '', pstates = ['NotActivated', 'InActivation', 'Activated']; - for (var i in data) { - var x = data[i]; - if (r != '') { r += '\r\n'; } - r += x.address + ' - Intel AMT v' + x.majorVersion + '.' + x.minorVersion; - if (x.provisioningState < 3) { r += (', ' + pstates[x.provisioningState]); } - if (x.provisioningState == 2) { r += (', ' + x.openPorts.join(', ')); } - r += '.'; - } - } else { - r = 'No Intel AMT found.'; - } - console.log(r); - exit(1); - }); - } else if (settings.action == 'amtauditlog') { // Read the Intel AMT audit log - if (settings.hostname != null) { - if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } - if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } - } else { settings.hostname = '127.0.0.1'; } - readAmtAuditLog(); - } else if (settings.action == 'amteventlog') { // Read the Intel AMT audit log - if (settings.hostname != null) { - if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } - if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } - } else { settings.hostname = '127.0.0.1'; } - readAmtEventLog(); - } else if (settings.action == 'amtider') { // Remote mount IDER image - if ((settings.hostname == null) || (typeof settings.hostname != 'string') || (settings.hostname == '')) { console.log('No or invalid \"hostname\" specified, use --hostname [password].'); exit(1); return; } - if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } - if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } - if ((settings.floppy == null) || (typeof settings.floppy != 'string') || (settings.floppy == '')) { settings.floppy = null; } - if ((settings.cdrom == null) || (typeof settings.cdrom != 'string') || (settings.cdrom == '')) { settings.cdrom = null; } - if ((settings.floppy == null) && (settings.cdrom == null)) { console.log('No or invalid \"floppy\" or \"cdrom\" specified, use --floppy [file] or --cdrom [file].'); exit(1); return; } - performIder(); - } else if (settings.action == 'amtnetwork') { // Perform remote Intel AMT wired IPv4 configuration operation - if (settings.hostname == null) { settings.hostname = '127.0.0.1'; } - if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } - if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } - performAmtNetConfig(args); - } else if (settings.action == 'amtfeatures') { // Perform remote Intel AMT feature configuration operation - if (settings.hostname == null) { settings.hostname = '127.0.0.1'; } - if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } - if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } - performAmtFeatureConfig(args); - } else if (settings.action == 'amtpower') { // Perform remote Intel AMT power operation - if ((settings.hostname == null) || (typeof settings.hostname != 'string') || (settings.hostname == '')) { console.log('No or invalid \"hostname\" specified, use --hostname [host].'); exit(1); return; } - if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } - if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } - - /* - 2 = Power On - 3 = Sleep - Light - 4 = Sleep - Deep - 5 = Power Cycle (Off Soft) - 6 = Power Off - Hard - 7 = Hibernate - 8 = Power Off - Soft - 9 = Power Cycle (Off Hard) - 10 = Master Bus Reset - 11 = Diagnostic Interrupt (NMI) - 12 = Power Off - Soft Graceful - 13 = Power Off - Hard Graceful - 14 = Master Bus Reset Graceful - 15 = Power Cycle (Off - Soft Graceful) - 16 = Power Cycle (Off - Hard Graceful) - */ - - settings.poweraction = 0; - if (args.poweron) { settings.poweraction = 2; } - if (args.sleep) { settings.poweraction = 3; } - if (args.powercycle) { settings.poweraction = 5; } - if (args.poweroff) { settings.poweraction = 6; } - if (args.hibernate) { settings.poweraction = 7; } - if (args.reset) { settings.poweraction = 10; } - //if (settings.poweraction == 0) { console.log('No power action, specify --poweron, --sleep, --powercycle, --poweroff, --hibernate, --reset.'); exit(1); return; } - performAmtPowerAction(); - } else { - console.log('Invalid \"action\" specified.'); exit(1); return; - } -} - -// -// Intel AMT Agent Presence -// - -function performAmtAgentPresence() { startLms(function () { tempWatchdogTimer = setTimeout(performAmtAgentPresenceRegister, 3000); }); } - -function performAmtAgentPresenceRegister() { - // Setup the Intel AMT WSMAN stack - tempWatchdogTimer = null; - var transport = require('amt-wsman-duk'); - var wsman = require('amt-wsman'); - var amt = require('amt'); - wsstack = new wsman(transport, '127.0.0.1', settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); - amtstack = new amt(wsstack); - - // Register the watchdog - watchdog = { DeviceID: Buffer.from(guidToStr(settings.agent.split('-').join('')).split('-').join(''), 'hex').toString('base64'), Retry: 0 }; - amtstack.AMT_AgentPresenceWatchdog_RegisterAgent(performAmtAgentPresenceRegisterRetry, watchdog, watchdog.Seq, { 'DeviceID': watchdog.DeviceID }); -} - -// Called after the agent is registered -function performAmtAgentPresenceRegisterRetry(stack, name, response, status, watchdog) { - if ((status == 200) && (response.Body.SessionSequenceNumber) && (response.Body.TimeoutInterval)) { - console.log('Asserting presence of the watchdog...'); - watchdog.Seq = response.Body.SessionSequenceNumber; - watchdog.Interval = response.Body.TimeoutInterval * 800; - watchdog.Retry = 0; - tempWatchdogTimer = setTimeout(performAmtAgentPresenceAssert, watchdog.Interval); - } else { - debug(1, 'Failed to register, status = ' + status); - watchdog.Retry++; - if (watchdog.Retry < 5) { - tempWatchdogTimer = setTimeout(function () { amtstack.AMT_AgentPresenceWatchdog_RegisterAgent(performAmtAgentPresenceRegisterRetry, watchdog, watchdog.Seq, { 'DeviceID': watchdog.DeviceID }); }, 1000); - } else { - console.log('Failed to register this watchdog.'); - process.exit(0); - } - } -} - -// Start a new agent assert -function performAmtAgentPresenceAssert() { - watchdog.Seq++; - amtstack.AMT_AgentPresenceWatchdog_AssertPresence(watchdog.Seq, performAmtAgentPresenceAssertRetry, watchdog, 0, { 'DeviceID': watchdog.DeviceID }); -} - -// Called after the agent is asserted -function performAmtAgentPresenceAssertRetry(stack, name, response, status, watchdog) { - if (status == 200) { - debug(1, 'Succesful assert, sequence = ' + watchdog.Seq); - watchdog.Retry = 0; - tempWatchdogTimer = setTimeout(performAmtAgentPresenceAssert, watchdog.Interval); - } else { - debug(1, 'Failed to assert, status = ' + status); - watchdog.Retry++; - if (watchdog.Retry < 5) { - amtstack.AMT_AgentPresenceWatchdog_AssertPresence(watchdog.Seq, performAmtAgentPresenceAssertRetry, watchdog, 0, { 'DeviceID': watchdog.DeviceID }); - } else { - console.log('Failed to assert presence on this watchdog.'); - process.exit(0); - } - } -} - -function performAmtAgentPresenceEx5(stack, name, response, status, watchdog) { - console.log('b', status, watchdog); - if (status == 200) { - watchdog.Retry = 0; - } else { - watchdog.Retry++; - if (watchdog.Retry < 5) { - amtstack.AMT_AgentPresenceWatchdog_AssertPresence(watchdog.Seq, performAmtAgentPresenceEx4, watchdog, 0, { 'DeviceID': watchdog.DeviceID }); - } else { - console.log('Failed to assert presence on this watchdog.'); - process.exit(0); - } - } -} - - -// -// Intel AMT Event Log -// - -function readAmtEventLog() { - // See if MicroLMS needs to be started - if ((settings.hostname == '127.0.0.1') || (settings.hostname.toLowerCase() == 'localhost')) { - settings.noconsole = true; startLms(readAmtEventLogEx); - } else { - readAmtEventLogEx(9999); - } -} - -function readAmtEventLogEx(x) { - if (x == 9999) { - var transport = require('amt-wsman-duk'); - var wsman = require('amt-wsman'); - var amt = require('amt'); - wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); - amtstack = new amt(wsstack); - amtstack.GetMessageLog(readAmtEventLogEx2); - } else { - osamtstack.GetMessageLog(readAmtEventLogEx2); - } -} - -function readAmtEventLogEx2(stack, messages) { - if (messages == null) { - console.log('Unable to get event log.'); - } else { - var out = ''; - if (settings.json) { - out = JSON.stringify(messages, 4, ' '); - } else { - for (var i in messages) { out += messages[i].Time + ', ' + messages[i].EntityStr + ', ' + messages[i].Desc + ', ' + messages[i].EventSeverity + '\r\n'; } - } - if ((settings.output == null || settings.output == "") && !settings.uuidoutput) { console.log(out); exit(1); } - else { - try { - if (settings.output) { - var file = fs.openSync(settings.output, 'w'); - fs.writeSync(file, Buffer.from(out)); - fs.closeSync(file); - exit(1); - } - else if (settings.uuidoutput) { - var destpath = null; //Dest path where messagelog file will be saved - if ((typeof settings.uuidoutput) == 'string') { - fs.statSync(settings.uuidoutput).isDirectory();//Validate directory path - destpath = settings.uuidoutput; - } - //Generate uuid and append it to dest path - stack.Get('CIM_ComputerSystemPackage', function (obj, name, response, xstatus, tag) { - if (xstatus == 200) { - var eventlogsfile = path.join(destpath, guidToStr(response.Body.PlatformGUID.toLowerCase() + '_Event' + (settings.json ? '.json' : '.csv'))); - var file = fs.openSync(eventlogsfile, 'w'); - fs.writeSync(file, Buffer.from(out)); - fs.closeSync(file); - } else { - console.log('Intel AMT is not available or not activated, status = ' + status + '.'); - } exit(1); - }); - } - else{ - console.log('Invalid action, usage:\r\n\r\n meshcmd help amtauditlog'); - exit(1); - } - } - catch (e) { - console.log(e); - exit(1); - } - } - } -} - -// -// Intel AMT Audit Log -// - -function readAmtAuditLog() { - // See if MicroLMS needs to be started - if ((settings.hostname == '127.0.0.1') || (settings.hostname.toLowerCase() == 'localhost')) { - settings.noconsole = true; startLms(readAmtAuditLogEx); - } else { - readAmtAuditLogEx(9999); - } -} - -function readAmtAuditLogEx(x) { - if (x == 9999) { - var transport = require('amt-wsman-duk'); - var wsman = require('amt-wsman'); - var amt = require('amt'); - wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); - amtstack = new amt(wsstack); - amtstack.GetAuditLog(readAmtAuditLogEx2); - } else { - osamtstack.GetAuditLog(readAmtAuditLogEx2); - } -} - -function readAmtAuditLogEx2(stack, response, status) { - if (status != 200) { - console.log('Unable to get audit log, status = ' + status + '.'); - } else { - var out = ''; - if (settings.json) { - out = JSON.stringify(response, 4, ' '); - } else { - for (var i in response) { - var name = ((response[i].Initiator != '') ? (response[i].Initiator + ': ') : '') - out += (response[i].Time + ' - ' + name + response[i].Event + '\r\n'); - } - } - if ((settings.output == null || settings.output == "") && !settings.uuidoutput) { console.log(out); exit(1); } - else { - try { - if (settings.output) { - var file = fs.openSync(settings.output, 'w'); - fs.writeSync(file, Buffer.from(out)); - fs.closeSync(file); - exit(1); - } - else if (settings.uuidoutput) { - var destpath = null; //Dest path where auditlog file will be saved - if ((typeof settings.uuidoutput) == 'string') { - fs.statSync(settings.uuidoutput).isDirectory();//Validate directory path - destpath = settings.uuidoutput; - } - //Generate uuid and append it to dest path - stack.Get('CIM_ComputerSystemPackage', function (obj, name, response, xstatus, tag) { - if (xstatus == 200) { - var auditlogsfile = path.join(destpath, guidToStr(response.Body.PlatformGUID.toLowerCase() + '_Audit' + (settings.json ? '.json' : '.csv'))); - var file = fs.openSync(auditlogsfile, 'w'); - fs.writeSync(file, Buffer.from(out)); - fs.closeSync(file); - } else { - console.log('Intel AMT is not available or not activated, status = ' + status + '.'); - } exit(1); - }); - } - else{ - console.log('Invalid action, usage:\r\n\r\n meshcmd help amtauditlog'); - exit(1); - } - } - catch (e) { - console.log(e); - exit(1); - } - } - } -} - -// -// Disable AMT Network -// - -//function amtDisable() { -// settings.noconsole = true; -// startLms(amtDisableEx); -//} - -//function amtDisableEx(stack, response, status) { -// //console.log(osamtstack); -// osamtstack.Get('AMT_EthernetPortSettings', function (stack, name, response, status) { -// console.log(response.Body); -// }); -//} - -// -// MeshCommander local web server -// - -function startMeshCommander() { - if (settings.localport == null) { settings.localport = 3000; } - - // Start the web server - var http = require('http'); - webServer = http.createServer(); - webServer.listen(settings.localport); - webServer.wsList = {}; - webServer.wsListIndex = 0; - webServer.on('upgrade', function (req, socket, head) { - //console.log("WebSocket for " + req.url.split('?')[0]); - switch (req.url.split('?')[0]) { - case '/webrelay.ashx': // MeshCommander relay channel - var ws = socket.upgradeWebSocket(); - socket.ws = ws; - ws.wsIndex = ++webServer.wsListIndex; - webServer.wsList[ws.wsIndex] = ws; // Keep a reference so the websocket and forwarder don't get disposed. - ws.pause(); - - // We got a new web socket connection, initiate a TCP connection to the target Intel AMT host/port. - var webargs = parseUrlArguments(req.url); - if (webargs.p) { webargs.p = parseInt(webargs.p); } - if (webargs.tls) { webargs.tls = parseInt(webargs.tls); } - if (webargs.tls1only) { webargs.tls1only = parseInt(webargs.tls1only); } - if (webargs.port) { webargs.port = parseInt(webargs.port); } - debug(1, 'Opening web socket connection to ' + webargs.host + ':' + webargs.port + '.'); - //console.log('Opening web socket connection to ' + webargs.host + ':' + webargs.port + '.'); - if (webargs.tls == 0) { - // If this is TCP (without TLS) set a normal TCP socket - var net = require('net'); - ws.forwardclient = net.connect({ host: webargs.host, port: webargs.port }) - ws.forwardclient.on('connect', function () { debug(1, 'Connected TCP to ' + webargs.host + ':' + webargs.port + '.'); this.pipe(this.ws, { end: false }); this.ws.pipe(this, { end: false }); }); - ws.forwardclient.on('error', function () { debug(1, 'TCP connection error to ' + webargs.host + ':' + webargs.port + '.'); try { this.ws.end(); } catch (e) { } }); - ws.forwardclient.ws = ws; - } else { - // If TLS is going to be used, setup a TLS socket - var tls = require('tls'); - var tlsoptions = { host: webargs.host, port: webargs.port, secureProtocol: ((webargs.tls1only == 1) ? 'TLSv1_method' : 'SSLv23_method'), rejectUnauthorized: false }; - ws.forwardclient = tls.connect(tlsoptions, function () { debug(1, 'Connected TLS to ' + webargs.host + ':' + webargs.port + '.'); this.pipe(this.ws, { end: false }); this.ws.pipe(this, { end: false }); }); - ws.forwardclient.on('error', function () { debug(1, 'TLS connection error to ' + webargs.host + ':' + webargs.port + '.'); try { this.ws.end(); } catch (e) { } }); - ws.forwardclient.ws = ws; - } - - // Handle pipe closure - ws.on('end', function () { debug(1, 'Disconnected from ' + webargs.host + ':' + webargs.port + '.'); try { this.forwardclient.end(); } catch (e) { } delete webServer.wsList[this.wsIndex]; }); - ws.forwardclient.on('end', function () { try { this.ws.end(); } catch (e) { } }); - - break; - default: - socket.end(); - break; - } - }); - webServer.on('request', function (req, rsp) { - //console.log("WebRequest for " + req.url.split('?')[0]); - switch (req.url.split('?')[0]) { - case '/': // Serve MeshCommander Web Application - var meshcommander = null; - try { meshcommander = fs.readFileSync('meshcommander.htm'); } catch (e) { } - if (meshcommander != null) { - rsp.writeHead(200, 'OK', { Server: 'JSLMS', 'Cache-Control': 'max-age=0, no-cache', 'X-Frame-Options': 'DENY', 'Content-Type': 'text/html', 'Transfer-Encoding': 'chunked' }); - rsp.end(meshcommander); - } else { - rsp.writeHead(200, 'OK', { Server: 'JSLMS', 'Cache-Control': 'max-age=0, no-cache', 'X-Frame-Options': 'DENY', 'Content-Type': 'text/html', 'Content-Encoding': 'gzip', 'Transfer-Encoding': 'chunked', ETag: FullSite_IntelAmtLocalWebApp_etag }); - rsp.end(Buffer.from(FullSite_IntelAmtLocalWebApp, 'base64')); - } - break; - default: // Unknown request - rsp.statusCode = 404; - rsp.statusMessage = "Not Found"; - rsp.end(); - break; - } - }); - console.log('MeshCommander running on HTTP port ' + settings.localport + '.'); - console.log('Press ctrl-c to exit.'); -} - - -// -// Deactivate Intel AMT CCM -// - -// When called, this will use MEI to deactivate Intel AMT when it's in CCM mode. Simply calls "unprovision" on MEI and checks the return code. -function deactivateCCM() { - var amtMeiModule, amtMei; - try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } - amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); - amtMei.unprovision(1, function (status) { if (status == 0) { console.log('Success'); } else { console.log('Error ' + status); } exit(1); }); -} - - -// -// Activate Intel AMT to CCM -// - -function activeToCCM() { - // See if MicroLMS needs to be started and setup the $$OsAdmin wsman stack - settings.noconsole = true; - startLms(activeToCCMEx); // TODO: Fix this so that it works even if LMS already running. -} - -function activeToCCMEx(state) { - osamtstack.BatchEnum(null, ['*AMT_GeneralSettings', '*IPS_HostBasedSetupService'], activeToCCMEx2); -} - -function activeToCCMEx2(stack, name, responses, status) { - if (status != 200) { console.log('Failed to fetch activation status, status ' + status); exit(1); } - else if (responses['IPS_HostBasedSetupService'].response['AllowedControlModes'].length != 2) { console.log('Client control mode activation not allowed'); exit(1); } - else { osamtstack.IPS_HostBasedSetupService_Setup(2, md5hex('admin:' + responses['AMT_GeneralSettings'].response['DigestRealm'] + ':' + settings.password).substring(0, 32), null, null, null, null, activeToCCMEx3); } -} - -function activeToCCMEx3(stack, name, responses, status) { - if (status != 200) { console.log('Failed to activate, status ' + status); } - else if (responses.Body.ReturnValue != 0) { console.log('Client control mode activation failed: ' + responses.Body.ReturnValueStr); } - else { console.log('Success'); exit(0); } - exit(1); -} - - - - -// -// Deactivate Intel AMT ACM -// - -// When called, this will use MEI to deactivate Intel AMT when it's in ACM mode. Calls "unprovision" on MEI and checks the return code. -function deactivateACM() { - settings.noconsole = true; - startLms(deactivateACMEx); -} - -function deactivateACMEx() { - var transport = require('amt-wsman-duk'); - var wsman = require('amt-wsman'); - var amt = require('amt'); - wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); - amtstack = new amt(wsstack); - amtstack.Get("AMT_SetupAndConfigurationService", function (stack, name, responses, status) { - if (status !== 200) { - console.log('Command not allowed. Status: ' + status); - exit(1); - } else { - var sacs = responses.Body; - if (sacs.ZeroTouchConfigurationEnabled == true) { sacs.ZeroTouchConfigurationEnabled = true; } - amtstack.Put("AMT_SetupAndConfigurationService", sacs, function (stack, name, responses, status) { - if (settings.type == 'full') { - amtstack.AMT_SetupAndConfigurationService_Unprovision(2, function (stack, name, responses, status) { - if (status != 200) { console.log('Failed to fully unconfigure AMT, status ' + status); exit(1); } - else if (responses.Body.ReturnValue != 0) { console.log('Unprovision failed: ' + responses.Body.ReturnValueStr); exit(1); } - else { console.log('AMT fully unprovisioned.'); exit(0); } - }); - } else { - console.log('Only full unprovision is currently supported.'); - exit(0); - } - //} else if (settings.type == 'partial') { - // amtstack.AMT_SetupAndConfigurationService_PartialUnprovision(null, function (stack, name, responses, status) { - // if (status != 200) { console.log('Failed to partially unconfigure AMT, status ' + status); exit(1); } - // else if (responses.Body.ReturnValue != 0) { console.log('Unprovision failed: ' + responses.Body.ReturnValueStr); exit(1); } - // else { console.log('AMT partially unprovisioned.'); exit(0); } - // }); - //} - }); - } - }); -} - -// -// Get Intel AMT activation hashes -// - -var trustedHashes = null; -function getTrustedHashes(amtMei, func, tag) { - if (trustedHashes != null) { func(tag); } - trustedHashes = []; - amtMei.getHashHandles(function (handles) { - var exitOnCount = handles.length; - for (var i = 0; i < handles.length; ++i) { - this.getCertHashEntry(handles[i], function (result) { - if (result.isActive == 1) { trustedHashes.push(result.certificateHash.toLowerCase()); } - if (--exitOnCount == 0) { func(tag); } - }); - } - }); -} - -// -// Activate Intel AMT to with server (ACM or CCM) -// - -function activeToACM() { - console.log('Starting Intel AMT activation attempt...'); - settings.noconsole = true; - - // Display Intel AMT version and activation state - mestate = {}; - var amtMeiModule, amtMei; - try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } - amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); - amtMei.getProvisioningState(function (result) { if (result) { mestate.ProvisioningState = result; } }); - amtMei.getVersion(function (val) { mestate.vers = {}; if (val != null) { for (var version in val.Versions) { mestate.vers[val.Versions[version].Description] = val.Versions[version].Version; } } }); - amtMei.getLanInterfaceSettings(0, function (result) { if (result) { mestate.net0 = result; } }); - amtMei.getUuid(function (result) { if ((result != null) && (result.uuid != null)) { mestate.uuid = result.uuid; } }); - amtMei.getControlMode(function (result) { if (result != null) { mestate.controlMode = result.controlMode; } }); // controlMode: 0 = NoActivated, 1 = CCM, 2 = ACM - amtMei.getDnsSuffix(function (result) { - if ((mestate.vers == null) || (mestate.vers['AMT'] == null)) { console.log("Unable to get Intel AMT version."); exit(100); return; } - if (mestate.ProvisioningState == null) { console.log("Unable to read Intel AMT activation state."); exit(100); return; } - if ((settings.action != 'amtdiscover') && (mestate.controlMode == 2)) { console.log("Intel AMT already activation in admin control mode."); exit(100); return; } - if (mestate.uuid == null) { console.log("Unable to get Intel AMT UUID."); exit(100); return; } - var fqdn = null; - if ((mestate.net0 == null) && (meinfo.net0.enabled != 0)) { console.log("No Intel AMT wired interface, can't perform ACM activation."); exit(100); return; } - if (result) { fqdn = result; } // If Intel AMT has a trusted DNS suffix set, use that one. - else { - // Look for the DNS suffix for the Intel AMT Ethernet interface - var interfaces = require('os').networkInterfaces(); - for (var i in interfaces) { - for (var j in interfaces[i]) { - if ((interfaces[i][j].mac == mestate.net0.mac) && (interfaces[i][j].fqdn != null) && (interfaces[i][j].fqdn != '')) { fqdn = interfaces[i][j].fqdn; } - } - } - } - if (fqdn != null) { - settings.fqdn = fqdn; - settings.uuid = mestate.uuid; - getTrustedHashes(amtMei, function () { startLms(getFwNonce, amtMei); }); - } else { - console.log("Trusted DNS suffix not set, can't perform ACM activation."); exit(100); return; - } - }); -} - -// Gets the FWNonce from AMT and saves it to a file. -function getFwNonce() { - osamtstack.BatchEnum(null, ['*AMT_GeneralSettings', '*IPS_HostBasedSetupService'], function (stack, name, responses, status) { - if (status != 200) { console.log("Unable to get firmware activation nonce, status=" + status); exit(100); return; } - var fwNonce = responses['IPS_HostBasedSetupService'].response['ConfigurationNonce']; - var digestRealm = responses['AMT_GeneralSettings'].response['DigestRealm']; - var allowedModes = responses['IPS_HostBasedSetupService'].response['AllowedControlModes']; // 1 = CCM, 2 = ACM - activeToACMEx(fwNonce, settings.fqdn, digestRealm, settings.uuid, allowedModes); - }); -} - -// Connect to the activation server and perform ACM activation -function activeToACMEx(fwNonce, dnsSuffix, digestRealm, uuid, allowedModes) { - console.log('FQDN: ' + dnsSuffix); - console.log('UUID: ' + uuid); - console.log('Realm: ' + digestRealm); - console.log('Nonce: ' + fwNonce); - console.log('Connecting to ' + settings.url); - - // Establish WebSocket connection to activation server - var options = http.parseUri(settings.url); - options.checkServerIdentity = onVerifyServer; - options.rejectUnauthorized = false; - var connection = http.request(options); - connection.on('upgrade', function (response, socket) { - settings.xxsocket = socket; - if (settings.action == 'amtdiscover') { console.log('Connected, performing discovery...'); } else { console.log('Connected, requesting activation...'); } - socket.on('end', function () { console.log('Connection closed'); exit(0); }); - socket.on('error', function () { console.log('Connection error'); exit(100); }); - socket.on('data', function (data) { - // Parse and check the response - var cmd = null; - try { cmd = JSON.parse(data); } catch (ex) { console.log('Unable to parse server response: ' + data); exit(100); return; } - if (typeof cmd != 'object') { console.log('Invalid server response: ' + cmd); exit(100); return; } - if (typeof cmd.errorText == 'string') { console.log('Server error: ' + cmd.errorText); exit(100); return; } - if (typeof cmd.messageText == 'string') { console.log('Server: ' + cmd.messageText); return; } - switch (cmd.action) { - case 'acmactivate': { - // Server responded with ACM activation response - if (typeof cmd.signature != 'string') { console.log('Invalid server signature'); exit(100); return; } - if (typeof cmd.password != 'string') { console.log('Invalid server password'); exit(100); return; } - if (typeof cmd.nonce != 'string') { console.log('Invalid server nonce'); exit(100); return; } - if (typeof cmd.certs != 'object') { console.log('Invalid server certificates'); exit(100); return; } - settings.xxprofileScript = cmd.profileScript; - settings.xxrawpassword = cmd.rawpassword; - - cmd.index = 0; - // If we are in CCM mode, deactivate. - if (mestate.controlMode == 1) { - amtMei.unprovision(1, function (status) { - if (status == 0) { - console.log('Intel AMT CCM deactivated, holding 10 seconds...'); - // We are ready to go, perform ACM activation. - settings.xxTimer = setTimeout(function () { performAcmActivation(cmd, AcmActivationCompleted); }, 10000); - } else { - console.log('Intel AMT CCM deactivation error ' + status); exit(1); return; - } - }); - } else { - // We are ready to go, perform ACM activation. - performAcmActivation(cmd, AcmActivationCompleted); - } - break; - } - case 'ccmactivate': { - // Server responded with CCM activation response - if (typeof cmd.password != 'string') { console.log('Invalid server password'); exit(100); return; } - settings.xxprofileScript = cmd.profileScript; - settings.xxrawpassword = cmd.rawpassword; - - // If we are already in CCM mode, deactivate. - if (mestate.controlMode == 1) { - amtMei.unprovision(1, function (status) { - if (status == 0) { - console.log('Intel AMT CCM deactivated, holding 10 seconds...'); - // We are ready to go, perform CCM activation. - settings.xxTimer = setTimeout(function () { osamtstack.IPS_HostBasedSetupService_Setup(2, cmd.password, null, null, null, null, performCcmActivation); }, 10000); - } else { - console.log('Intel AMT CCM deactivation error ' + status); exit(1); return; - } - }); - } else { - // We are ready to go, perform CCM activation. - osamtstack.IPS_HostBasedSetupService_Setup(2, cmd.password, null, null, null, null, performCcmActivation); - } - break; - } - case 'amtdiscover': { - console.log('Done.'); - exit(0); - break; - } - default: { - console.log('Invalid server response, command: ' + cmd.action); exit(100); - break; - } - } - }); - - var action = 'acmactivate'; - if (settings.action == 'amtccm') { action = 'ccmactivate'; } - if (settings.action == 'amtdiscover') { action = 'amtdiscover'; } - socket.write({ client: 'meshcmd', version: 1, action: action, fqdn: dnsSuffix, realm: digestRealm, nonce: fwNonce, uuid: uuid, profile: settings.profile, hashes: trustedHashes, tag: settings.tag, name: settings.name, ver: mestate.vers['AMT'], build: mestate.vers['Build Number'], sku: parseInt(mestate.vers['Sku']), modes: allowedModes, currentMode: mestate.controlMode, hostname: require('os').hostname() }); - }); - connection.end(); -} - -function performCcmActivation(stack, name, responses, status) { - if (status != 200) { - settings.xxsocket.write({ client: 'meshcmd', version: 1, action: 'ccmactivate-failed', uuid: mestate.uuid }); - console.log('Failed to activate, status ' + status); - } else if (responses.Body.ReturnValue != 0) { - settings.xxsocket.write({ client: 'meshcmd', version: 1, action: 'ccmactivate-failed', uuid: mestate.uuid }); - console.log('Intel AMT CCM activation failed: ' + responses.Body.ReturnValueStr); - } else { - settings.xxsocket.write({ client: 'meshcmd', version: 1, action: 'ccmactivate-success', uuid: mestate.uuid }); - if ((settings.xxprofileScript !== null) && (settings.xxrawpassword != null)) { - console.log("Intel AMT CCM activation success, applying profile..."); - settings.scriptjson = settings.xxprofileScript; - settings.password = settings.xxrawpassword; // This is only going to work if the server sends the raw password - settings.username = 'admin'; - startMeScriptEx(function () { console.log('Intel AMT profile applied.'); socket.end(); exit(0); }, stack); - return; - } else { - console.log('Intel AMT CCM activation success.'); - settings.xxsocket.end(); - exit(0); - return; - } - } - settings.xxsocket.end(); - exit(1); -} - -function AcmActivationCompleted(result) { - if (result == false) { - console.log('Intel AMT ACM activation failed.'); - settings.xxsocket.write({ client: 'meshcmd', version: 1, action: 'acmactivate-failed', uuid: mestate.uuid }); - settings.xxsocket.end(); - exit(1); - } else { - if ((settings.xxprofileScript !== null) && (settings.xxrawpassword != null)) { - console.log('Intel AMT ACM activation success, applying profile...'); - settings.scriptjson = settings.xxprofileScript; - settings.password = settings.xxrawpassword; // This is only going to work if the server sends the raw password - settings.username = 'admin'; - startMeScriptEx(function () { console.log('Intel AMT profile applied.'); settings.xxsocket.end(); exit(0); }, stack); - } else { - console.log('Intel AMT ACM activation success.'); - settings.xxsocket.write({ client: 'meshcmd', version: 1, action: 'acmactivate-success', uuid: mestate.uuid }); - settings.xxsocket.end(); - exit(0); - } - } -} - -// Recursive function to inject the provisioning certificates into AMT in the proper order and completes ACM activation -function performAcmActivation(acmdata, func) { - var leaf = (acmdata.index == 0), root = (acmdata.index == (acmdata.certs.length - 1)); - if ((acmdata.index < acmdata.certs.length) && (acmdata.certs[acmdata.index] != null)) { - osamtstack.IPS_HostBasedSetupService_AddNextCertInChain(acmdata.certs[acmdata.index], leaf, root, function (stack, name, responses, status) { - if (status !== 200) { console.log('AddNextCertInChain error, status=' + status); exit(1); return; } - else if (responses['Body']['ReturnValue'] !== 0) { console.log('AddNextCertInChain error: ' + responses['Body']['ReturnValue']); exit(1); return; } - else { acmdata.index++; performAcmActivation(acmdata, func); } - }); - } else { - //console.log(acmdata.password, acmdata.nonce, acmdata.signature); - osamtstack.IPS_HostBasedSetupService_AdminSetup(2, acmdata.password, acmdata.nonce, 2, acmdata.signature, - function (stack, name, responses, status) { - if (status !== 200) { console.log('Error, AdminSetup status: ' + status); } - else if (responses['Body']['ReturnValue'] != 0) { console.log('Error, AdminSetup return value: ' + responses['Body']['ReturnValue']); } - func((status == 200) && (responses['Body']['ReturnValue'] == 0)); - } - ); - } -} - -// -// Get AMT UUID -// - -// Called to get the UUID of Intel AMT, start by setting up MicroLMS if we are doing the operation on the local computer -function getAmtUuid() { - if (settings.hostname == null) { - var amtMeiModule, amtMei; - try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } - amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); - amtMei.getUuid(function (result) { if ((result == null) || (result.uuid == null)) { console.log('Failed.'); } else { console.log(result.uuid); } exit(1); }); - } else { - if ((settings.hostname == '127.0.0.1') || (settings.hostname.toLowerCase() == 'localhost')) { settings.noconsole = true; startLms(getAmtUuidEx); return; } else { getAmtUuidEx(); } - } -} - -// Fetch the computer's UUID by fetching the CIM_ComputerSystemPackage WSMAN object. -function getAmtUuidEx() { - var transport = require('amt-wsman-duk'); - var wsman = require('amt-wsman'); - var amt = require('amt'); - wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); - amtstack = new amt(wsstack); - amtstack.Get("CIM_ComputerSystemPackage", function (obj, name, response, xstatus, tag) { - if (xstatus == 200) { console.log("GUID: " + guidToStr(response.Body.PlatformGUID.toLowerCase())); } else { console.log("Intel AMT is not available or not activated."); } exit(1); - }); -} - - -// -// Run MESCRIPT -// - -// Run a .mescript targeting local or remote Intel AMT. -function startMeScript() { - // See if MicroLMS needs to be started - if ((settings.hostname == '127.0.0.1') || (settings.hostname.toLowerCase() == 'localhost')) { settings.noconsole = true; startLms(startMeScriptEx); return; } else { startMeScriptEx(); } -} - -function startMeScriptEx(callback, amtstack) { - //console.log('Running script...'); - var transport = require('amt-wsman-duk'); - var wsman = require('amt-wsman'); - var amt = require('amt'); - if (!wsstack) { wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); } - if (!amtstack) { amtstack = new amt(wsstack); } - //IntelAmtEntireStateProgress = 101; - //amtstack.onProcessChanged = onWsmanProcessChanged; - - var scriptData = null; - if (settings.script != null) { - try { scriptData = fs.readFileSync(settings.script); } catch (e) { console.log('Unable to read script file (1): ' + settings.script + '.'); exit(1); return; } - } else { - scriptData = settings.scriptjson; - } - if (scriptData == null) { console.log('Unable to read script file (2): ' + settings.script + '.'); exit(1); return; } - try { scriptData = JSON.parse(scriptData); } catch (e) { console.log('Unable to read script file (3): ' + settings.script + '.'); exit(1); return; } - if (scriptData.mescript == null) { console.log('Unable to read script file (4): ' + settings.script + '.'); exit(1); return; } - var scriptData = Buffer.from(scriptData.mescript, 'base64'); - - var scriptModule = require('amt-script'); - var script = scriptModule.setup(scriptData, {}) - script.amtstack = amtstack; - script.start(); - script.onCompleted = function () { if (callback) { callback(); } exit(1); } -} - - -// -// FETCH ALL INTEL AMT STATE -// - -function saveEntireAmtState2() { - console.log('Fetching all Intel AMT state, this may take a few minutes...'); - var transport = require('amt-wsman-duk'); - var wsman = require('amt-wsman'); - var amt = require('amt'); - wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); - amtstack = new amt(wsstack); - amtstack.onProcessChanged = onWsmanProcessChanged; - //var AllWsman = "AMT_GeneralSystemDefenseCapabilities".split(','); - var AllWsman = "AMT_8021xCredentialContext,AMT_8021XProfile,AMT_ActiveFilterStatistics,AMT_AgentPresenceCapabilities,AMT_AgentPresenceInterfacePolicy,AMT_AgentPresenceService,AMT_AgentPresenceWatchdog,AMT_AgentPresenceWatchdogAction,AMT_AlarmClockService,IPS_AlarmClockOccurrence,AMT_AssetTable,AMT_AssetTableService,AMT_AuditLog,AMT_AuditPolicyRule,AMT_AuthorizationService,AMT_BootCapabilities,AMT_BootSettingData,AMT_ComplexFilterEntryBase,AMT_CRL,AMT_CryptographicCapabilities,AMT_EACCredentialContext,AMT_EndpointAccessControlService,AMT_EnvironmentDetectionInterfacePolicy,AMT_EnvironmentDetectionSettingData,AMT_EthernetPortSettings,AMT_EventLogEntry,AMT_EventManagerService,AMT_EventSubscriber,AMT_FilterEntryBase,AMT_FilterInSystemDefensePolicy,AMT_GeneralSettings,AMT_GeneralSystemDefenseCapabilities,AMT_Hdr8021Filter,AMT_HeuristicPacketFilterInterfacePolicy,AMT_HeuristicPacketFilterSettings,AMT_HeuristicPacketFilterStatistics,AMT_InterfacePolicy,AMT_IPHeadersFilter,AMT_KerberosSettingData,AMT_ManagementPresenceRemoteSAP,AMT_MessageLog,AMT_MPSUsernamePassword,AMT_NetworkFilter,AMT_NetworkPortDefaultSystemDefensePolicy,AMT_NetworkPortSystemDefenseCapabilities,AMT_NetworkPortSystemDefensePolicy,AMT_PCIDevice,AMT_PETCapabilities,AMT_PETFilterForTarget,AMT_PETFilterSetting,AMT_ProvisioningCertificateHash,AMT_PublicKeyCertificate,AMT_PublicKeyManagementCapabilities,AMT_PublicKeyManagementService,AMT_PublicPrivateKeyPair,AMT_RedirectionService,AMT_RemoteAccessCapabilities,AMT_RemoteAccessCredentialContext,AMT_RemoteAccessPolicyAppliesToMPS,AMT_RemoteAccessPolicyRule,AMT_RemoteAccessService,AMT_SetupAndConfigurationService,AMT_SNMPEventSubscriber,AMT_StateTransitionCondition,AMT_SystemDefensePolicy,AMT_SystemDefensePolicyInService,AMT_SystemDefenseService,AMT_SystemPowerScheme,AMT_ThirdPartyDataStorageAdministrationService,AMT_ThirdPartyDataStorageService,AMT_TimeSynchronizationService,AMT_TLSCredentialContext,AMT_TLSProtocolEndpoint,AMT_TLSProtocolEndpointCollection,AMT_TLSSettingData,AMT_TrapTargetForService,AMT_UserInitiatedConnectionService,AMT_WebUIService,AMT_WiFiPortConfigurationService,CIM_AbstractIndicationSubscription,CIM_Account,CIM_AccountManagementCapabilities,CIM_AccountManagementService,CIM_AccountOnSystem,CIM_AdminDomain,CIM_AlertIndication,CIM_AssignedIdentity,CIM_AssociatedPowerManagementService,CIM_AuthenticationService,CIM_AuthorizationService,CIM_BIOSElement,CIM_BIOSFeature,CIM_BIOSFeatureBIOSElements,CIM_BootConfigSetting,CIM_BootService,CIM_BootSettingData,CIM_BootSourceSetting,CIM_Capabilities,CIM_Card,CIM_Chassis,CIM_Chip,CIM_Collection,CIM_Component,CIM_ComputerSystem,CIM_ComputerSystemPackage,CIM_ConcreteComponent,CIM_ConcreteDependency,CIM_Controller,CIM_CoolingDevice,CIM_Credential,CIM_CredentialContext,CIM_CredentialManagementService,CIM_Dependency,CIM_DeviceSAPImplementation,CIM_ElementCapabilities,CIM_ElementConformsToProfile,CIM_ElementLocation,CIM_ElementSettingData,CIM_ElementSoftwareIdentity,CIM_ElementStatisticalData,CIM_EnabledLogicalElement,CIM_EnabledLogicalElementCapabilities,CIM_EthernetPort,CIM_Fan,CIM_FilterCollection,CIM_FilterCollectionSubscription,CIM_HostedAccessPoint,CIM_HostedDependency,CIM_HostedService,CIM_Identity,CIM_IEEE8021xCapabilities,CIM_IEEE8021xSettings,CIM_Indication,CIM_IndicationService,CIM_InstalledSoftwareIdentity,CIM_KVMRedirectionSAP,CIM_LANEndpoint,CIM_ListenerDestination,CIM_ListenerDestinationWSManagement,CIM_Location,CIM_Log,CIM_LogEntry,CIM_LogicalDevice,CIM_LogicalElement,CIM_LogicalPort,CIM_LogicalPortCapabilities,CIM_LogManagesRecord,CIM_ManagedCredential,CIM_ManagedElement,CIM_ManagedSystemElement,CIM_MediaAccessDevice,CIM_MemberOfCollection,CIM_Memory,CIM_MessageLog,CIM_NetworkPort,CIM_NetworkPortCapabilities,CIM_NetworkPortConfigurationService,CIM_OrderedComponent,CIM_OwningCollectionElement,CIM_OwningJobElement,CIM_PCIController,CIM_PhysicalComponent,CIM_PhysicalElement,CIM_PhysicalElementLocation,CIM_PhysicalFrame,CIM_PhysicalMemory,CIM_PhysicalPackage,CIM_Policy,CIM_PolicyAction,CIM_PolicyCondition,CIM_PolicyInSystem,CIM_PolicyRule,CIM_PolicyRuleInSystem,CIM_PolicySet,CIM_PolicySetAppliesToElement,CIM_PolicySetInSystem,CIM_PowerManagementCapabilities,CIM_PowerManagementService,CIM_PowerSupply,CIM_Privilege,CIM_PrivilegeManagementCapabilities,CIM_PrivilegeManagementService,CIM_ProcessIndication,CIM_Processor,CIM_ProtocolEndpoint,CIM_ProvidesServiceToElement,CIM_Realizes,CIM_RecordForLog,CIM_RecordLog,CIM_RedirectionService,CIM_ReferencedProfile,CIM_RegisteredProfile,CIM_RemoteAccessAvailableToElement,CIM_RemoteIdentity,CIM_RemotePort,CIM_RemoteServiceAccessPoint,CIM_Role,CIM_RoleBasedAuthorizationService,CIM_RoleBasedManagementCapabilities,CIM_RoleLimitedToTarget,CIM_SAPAvailableForElement,CIM_SecurityService,CIM_Sensor,CIM_Service,CIM_ServiceAccessBySAP,CIM_ServiceAccessPoint,CIM_ServiceAffectsElement,CIM_ServiceAvailableToElement,CIM_ServiceSAPDependency,CIM_ServiceServiceDependency,CIM_SettingData,CIM_SharedCredential,CIM_SoftwareElement,CIM_SoftwareFeature,CIM_SoftwareFeatureSoftwareElements,CIM_SoftwareIdentity,CIM_StatisticalData,CIM_StorageExtent,CIM_System,CIM_SystemBIOS,CIM_SystemComponent,CIM_SystemDevice,CIM_SystemPackaging,CIM_UseOfLog,CIM_Watchdog,CIM_WiFiEndpoint,CIM_WiFiEndpointCapabilities,CIM_WiFiEndpointSettings,CIM_WiFiPort,CIM_WiFiPortCapabilities,IPS_AdminProvisioningRecord,IPS_ClientProvisioningRecord,IPS_HostBasedSetupService,IPS_HostIPSettings,IPS_IderSessionUsingPort,IPS_IPv6PortSettings,IPS_KVMRedirectionSettingData,IPS_KvmSessionUsingPort,IPS_ManualProvisioningRecord,IPS_OptInService,IPS_ProvisioningAuditRecord,IPS_ProvisioningRecordLog,IPS_RasSessionUsingPort,IPS_ScreenSettingData,IPS_SecIOService,IPS_SessionUsingPort,IPS_SolSessionUsingPort,IPS_TLSProvisioningRecord".split(','); - IntelAmtEntireStateProgress = 101; - IntelAmtEntireStateCalls = 3; - IntelAmtEntireState = { 'localtime': Date(), 'utctime': new Date().toUTCString(), 'isotime': new Date().toISOString() }; - amtstack.BatchEnum(null, AllWsman, saveEntireAmtStateOk2, null, true); - amtstack.GetAuditLog(saveEntireAmtStateOk3); - amtstack.GetMessageLog(saveEntireAmtStateOk4); - -} - -// Save the entire Intel AMT state -function saveEntireAmtState() { - // See if MicroLMS needs to be started - if ((settings.hostname == '127.0.0.1') || (settings.hostname.toLowerCase() == 'localhost')) { - settings.noconsole = true; - startLms().then(saveEntireAmtState2); - } - else { - saveEntireAmtState2(); - } -} - -function onWsmanProcessChanged(a, b) { var x = Math.floor((a * 100) / b); if (x < IntelAmtEntireStateProgress) { IntelAmtEntireStateProgress = x; console.log((100 - x) + '%'); } } -function saveEntireAmtStateOk2(stack, name, responses, status) { if (status == 600) { console.log('ERROR: Unable to connect to Intel(R) AMT.'); exit(2); } IntelAmtEntireState['wsmanenums'] = responses; saveEntireAmtStateDone(); } -function saveEntireAmtStateOk3(stack, messages, status) { if (status == 600) { console.log('ERROR: Unable to connect to Intel(R) AMT.'); exit(2); } IntelAmtEntireState['auditlog'] = messages; saveEntireAmtStateDone(); } -function saveEntireAmtStateOk4(stack, messages, tag, status) { if (status == 600) { console.log('ERROR: Unable to connect to Intel(R) AMT.'); exit(2); } IntelAmtEntireState['eventlog'] = messages; saveEntireAmtStateDone(); } - -// Called when the entire state of Intel AMT is fetched. -function saveEntireAmtStateDone() { - if (--IntelAmtEntireStateCalls != 0) return; - var out = fs.openSync(settings.output, 'w'); - fs.writeSync(out, Buffer.from(JSON.stringify(IntelAmtEntireState))); - fs.closeSync(out); - console.log('Done, results written to ' + settings.output + '.'); - exit(1); -} - - -// -// FETCH ALL INTEL AMT MEI STATE -// - -// Get Intel AMT information using MEI -// TODO: If this call is called many time at once, it's going to cause issues. -var getAmtInfoFetching = null; -var getAmtInfoFetchingTimer = null; -function getAmtInfo(func, tag) { - if (amtMei == null) { if (func != null) { func(null, tag); } return; } - if (getAmtInfoFetching != null) { getAmtInfoFetching.push({ f: func, t: tag }); return; } - getAmtInfoFetching = [{ f: func, t: tag }]; - amtMeiTmpState = { Flags: 0, TrustedHashes: [] }; // Flags: 1=EHBC, 2=CCM, 4=ACM - getAmtInfoFetchingTimer = setTimeout(function () { - // MEI failed to respond, break out and reset everthing. - for (var i in getAmtInfoFetching) { if (getAmtInfoFetching[i].f != null) { getAmtInfoFetching[i].f(amtMeiTmpState, getAmtInfoFetching[i].t); } } - getAmtInfoFetching = null; - getAmtInfoFetchingTimer = null; - var amtMeiModule, amtMei; - try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } - amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); - }, 3000); - amtMei.getProtocolVersion(function (result) { if (result != null) { amtMeiTmpState.MeiVersion = result; } }); - amtMei.getVersion(function (val) { - amtMeiTmpState.Versions = {}; - if (val != null) { - for (var version in val.Versions) { amtMeiTmpState.Versions[val.Versions[version].Description] = val.Versions[version].Version; } - amtMei.getProvisioningMode(function (result) { if (result != null) { amtMeiTmpState.ProvisioningMode = result.mode; } }); - amtMei.getProvisioningState(function (result) { if (result != null) { amtMeiTmpState.ProvisioningState = result.state; } }); - amtMei.getEHBCState(function (result) { if ((result != null) && (result.EHBC == true)) { amtMeiTmpState.Flags += 1; } }); - amtMei.getControlMode(function (result) { if (result != null) { if (result.controlMode == 1) { amtMeiTmpState.Flags += 2; } if (result.controlMode == 2) { amtMeiTmpState.Flags += 4; } } }); - //amtMei.getMACAddresses(function (result) { if (result != null) { amtMeiTmpState.mac = result; } }); - amtMei.getDnsSuffix(function (result) { if (result != null) { amtMeiTmpState.dns = result; } }); - amtMei.getHashHandles(function (handles) { - exitOnCount = handles.length; - for (var i = 0; i < handles.length; ++i) { - amtMei.getCertHashEntry(handles[i], function (result) { - amtMeiTmpState.TrustedHashes.push({ Active: result.isActive, Default: result.isDefault, HashAlgorithm: result.hashAlgorithm, Name: result.name, Hash: result.certificateHash }); - if (--exitOnCount == 0) { - amtMeiTmpState.Notifications = lmsNotifications; amtMeiState = amtMeiTmpState; - for (var i in getAmtInfoFetching) { if (getAmtInfoFetching[i].f != null) { getAmtInfoFetching[i].f(amtMeiTmpState, getAmtInfoFetching[i].t); } } - getAmtInfoFetching = null; - clearTimeout(getAmtInfoFetchingTimer); - getAmtInfoFetchingTimer = null; - } - }); - } - }); - } else { - amtMeiState = amtMeiTmpState; - amtMeiState.ProvisioningMode = -858993460; - amtMeiState.TrustedHashes = {}; - amtMeiState.Notifications = lmsNotifications; - //console.log('getAmtInfo3', JSON.stringify(amtMeiState)); - if (func != null) { func(amtMeiState, tag); } - } - }); -} - - -// -// MicroLMS -// - -var lmsControlSockets = {}; -var lmsControlSocketsNextId = 1; -var lmsNotifications = []; -var amtLms = null; -var promise = require('promise'); - -function startLms(func, lmscommander, tag) { - var ret = new promise(function (res, rej) { this._res = res; this._rej = rej; }); - var lme_heci = null - try { lme_heci = require('amt-lme'); } catch (ex) { } - if (lme_heci == null) { if (func != null) { func(0, tag); } this.promise._res(); return; } - - //var amtLms = null; - var http = require('http'); - - console.log('Setting up MEI...'); - try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } - amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); - //console.log("PTHI Connected."); - - console.log('Setting up LME...'); - amtLms = new lme_heci({ debug: settings.lmsdebug }); - amtLms.promise = ret; - amtLms.on('error', function (e) { - //console.log('LME connection failed', e); - if (lmscommander === true) { //settings.noconsole !== true) { - startMeshCommanderLms(); - //console.log("LMS started, MeshCommander on HTTP/16994."); - tempTimer = setTimeout(function () { delete tempTimer; setupMeiOsAdmin(func, 2, tag); }, 100); - } else { - //console.log('LME connection failed: ' + JSON.stringify(e)); - tempTimer = setTimeout(function () { delete tempTimer; setupMeiOsAdmin(func, 0, tag); }, 100); - } - this.promise._res(); - }); - amtLms.on('notify', function (data, options, str, code) { - if (code == 'iAMT0052-3') { - kvmGetData(); - } else if (str != null) { - var notify = { date: Date.now(), str: str, code: code }; - lmsNotifications.push(notify); - while (lmsNotifications.length > 100) { lmsNotifications.shift(); } - var notifyBuf = Buffer.concat([Buffer.from('0900', 'hex'), Buffer.from(JSON.stringify(notify))]) // Add a notification - for (var i in lmsControlSockets) { lmsControlSockets[i].write(notifyBuf); } - } - }); - //console.log('LME Connecting...'); - amtLms.on('bind', function (mapping) { - if (mapping[16992]) { this.removeAllListeners('bind'); } else { return; } - //console.log('LMS Bounded'); - amtLms.connected = true; - this.promise._res(); - - //console.log("LME Connected."); - if (settings.noconsole !== true) { - startMeshCommanderLms(); - //console.log("LMS started, MeshCommander on HTTP/16994."); - tempTimer = setTimeout(function () { delete tempTimer; setupMeiOsAdmin(func, 2, tag); }, 100); - //console.logReferenceCount(tempTimer); - } else { - //console.log("LMS started."); - tempTimer = setTimeout(function () { delete tempTimer; setupMeiOsAdmin(func, 1, tag); }, 100); - //console.logReferenceCount(tempTimer); - } - - }); - return (ret); -} - -function startMeshCommanderLms() { - - amtLms.meshCommander = http.createServer(); - amtLms.meshCommander.listen(16994); - amtLms.meshCommander.on('upgrade', function (req, socket, head) { - //console.log("WebSocket for " + req.url.split('?')[0]); - switch (req.url.split('?')[0]) { - case '/lms.ashx': // MeshCommander control channel (PTHI) - socket.ws = socket.upgradeWebSocket(); - socket.ws.on('data', processLmsControlData); - socket.ws.on('end', function () { if (lmsControlSockets[this.id]) { delete lmsControlSockets[this.id]; /*console.log('removeControl', JSON.stringify(lmsControlSockets));*/ } }); - var id = lmsControlSocketsNextId++; - lmsControlSockets[id] = socket.ws; - socket.ws.id = id; - //socket.ws.write(Buffer.concat([Buffer.from('0900', 'hex'), Buffer.from(JSON.stringify(lmsNotifications))])); // Send out full list of notifications - //console.log('addControl', JSON.stringify(lmsControlSockets)); - break; - case '/webrelay.ashx': // MeshCommander data channel (LME) - socket.ws = socket.upgradeWebSocket(); - if (amtLms.connected == true) { - // Route traffic directly into MicroLMS - amtLms.bindDuplexStream(socket.ws, 'IPv4', 16992); - } else { - // Route traffic to real LMS service - var net = require('net'); - socket.relay = net.connect({ host: '127.0.0.1', port: 16992 }) - socket.relay.on('connect', function () { - socket.ws.on('data', function (data) { socket.relay.write(data); }); - socket.ws.on('end', function () { socket.relay.end(); }); - }); - socket.relay.on('data', function (data) { socket.ws.write(data); }); - socket.relay.on('close', function () { socket.ws.end(); }); - } - break; - default: - socket.end(); - break; - } - }); - amtLms.meshCommander.on('request', function (req, rsp) { - //console.log("WebRequest for " + req.url.split('?')[0]); - switch (req.url.split('?')[0]) { - case '/': // Serve MeshCommander Web Application for LMS - var lmscommander = null; - try { lmscommander = fs.readFileSync('lmscommander.htm'); } catch (e) { } - if (lmscommander != null) { - rsp.writeHead(200, 'OK', { Server: 'JSLMS', 'Cache-Control': 'max-age=0, no-cache', 'X-Frame-Options': 'DENY', 'Content-Type': 'text/html', 'Transfer-Encoding': 'chunked' }); - rsp.end(lmscommander); - } else { - rsp.writeHead(200, 'OK', { Server: 'JSLMS', 'Cache-Control': 'max-age=0, no-cache', 'X-Frame-Options': 'DENY', 'Content-Type': 'text/html', 'Content-Encoding': 'gzip', 'Transfer-Encoding': 'chunked', ETag: _IntelAmtWebApp_etag }); - rsp.end(Buffer.from(_IntelAmtWebApp, "base64")); - } - break; - default: // Unknown request - rsp.statusCode = 404; - rsp.statusMessage = "Not Found"; - rsp.end(); - break; - } - - }); -} - -function setupMeiOsAdmin(func, state, tag) { - if (amtMei == null) { - if (func) { func(state, tag); } - } else { - amtMei.getLocalSystemAccount(function (x) { - var transport = require('amt-wsman-duk'); - var wsman = require('amt-wsman'); - var amt = require('amt'); - oswsstack = new wsman(transport, '127.0.0.1', 16992, x.user, x.pass, false); - osamtstack = new amt(oswsstack); - if (func) { func(state, tag); } - - //var AllWsman = "CIM_SoftwareIdentity,IPS_SecIOService,IPS_ScreenSettingData,IPS_ProvisioningRecordLog,IPS_HostBasedSetupService,IPS_HostIPSettings,IPS_IPv6PortSettings".split(','); - //osamtstack.BatchEnum(null, AllWsman, startLmsWsmanResponse, null, true); - //************************************* - - // Setup KVM data channel if this is Intel AMT 12 or above - amtMei.getVersion(function (x) { - var amtver = null; - try { for (var i in x.Versions) { if (x.Versions[i].Description == 'AMT') amtver = parseInt(x.Versions[i].Version.split('.')[0]); } } catch (e) { } - if ((amtver != null) && (amtver >= 12)) { - kvmGetData('skip'); // Clear any previous data, this is a dummy read to about handling old data. - tempTimer = setInterval(function () { kvmGetData(); }, 2000); // Start polling for KVM data. - kvmSetData(JSON.stringify({ action: 'restart', ver: 1 })); // Send a restart command to advise the console if present that MicroLMS just started. - } - }); - }); - } -} - -function kvmGetData(tag) { - osamtstack.IPS_KVMRedirectionSettingData_DataChannelRead(kvmDataGetResponse, tag); -} - -function kvmDataGetResponse(stack, name, response, status, tag) { - if ((tag != 'skip') && (status == 200) && (response.Body.ReturnValue == 0)) { - var val = null; - try { val = Buffer.from(response.Body.DataMessage, 'base64').toString(); } catch (e) { return } - if (val != null) { kvmProcessData(response.Body.RealmsBitmap, response.Body.MessageId, val); } - } -} - -var webRtcDesktop = null; -function kvmProcessData(realms, messageId, val) { - var data = null; - try { data = JSON.parse(val) } catch (e) { } - if ((data != null) && (data.action)) { - if (data.action == 'present') { kvmSetData(JSON.stringify({ action: 'present', ver: 1, platform: process.platform })); } - if (data.action == 'offer') { - webRtcDesktop = {}; - var rtc = require('ILibWebRTC'); - webRtcDesktop.webrtc = rtc.createConnection(); - webRtcDesktop.webrtc.on('connected', function () { }); - webRtcDesktop.webrtc.on('disconnected', function () { webRtcCleanUp(); }); - webRtcDesktop.webrtc.on('dataChannel', function (rtcchannel) { - webRtcDesktop.rtcchannel = rtcchannel; - var kvmmodule = require('meshDesktop'); - webRtcDesktop.kvm = kvmmodule.getRemoteDesktopStream(); - webRtcDesktop.kvm.pipe(webRtcDesktop.rtcchannel, { dataTypeSkip: 1, end: false }); - webRtcDesktop.rtcchannel.on('end', function () { webRtcCleanUp(); }); - webRtcDesktop.rtcchannel.on('data', function (x) { kvmCtrlData(this, x); }); - webRtcDesktop.rtcchannel.pipe(webRtcDesktop.kvm, { dataTypeSkip: 1, end: false }); - //webRtcDesktop.kvm.on('end', function () { console.log('WebRTC DataChannel closed2'); webRtcCleanUp(); }); - //webRtcDesktop.rtcchannel.on('data', function (data) { console.log('WebRTC data: ' + data); }); - }); - kvmSetData(JSON.stringify({ action: 'answer', ver: 1, sdp: webRtcDesktop.webrtc.setOffer(data.sdp) })); - } - } -} - -// Polyfill path.join -var path = { - join: function () { - var x = []; - for (var i in arguments) { - var w = arguments[i]; - if (w != null) { - while (w.endsWith('/') || w.endsWith('\\')) { w = w.substring(0, w.length - 1); } - if (i != 0) { - while (w.startsWith('/') || w.startsWith('\\')) { w = w.substring(1); } - } - x.push(w); - } - } - if (x.length == 0) return '/'; - return x.join('/'); - } -}; - -// Get a formated response for a given directory path -function getDirectoryInfo(reqpath) { - var response = { path: reqpath, dir: [] }; - if (((reqpath == undefined) || (reqpath == '')) && (process.platform == 'win32')) { - // List all the drives in the root, or the root itself - var results = null; - try { results = fs.readDrivesSync(); } catch (e) { } // TODO: Anyway to get drive total size and free space? Could draw a progress bar. - //console.log('a', objToString(results, 0, ' ')); - if (results != null) { - for (var i = 0; i < results.length; ++i) { - var drive = { n: results[i].name, t: 1 }; - if (results[i].type == 'REMOVABLE') { drive.dt = 'removable'; } // TODO: See if this is USB/CDROM or something else, we can draw icons. - response.dir.push(drive); - } - } - } else { - // List all the files and folders in this path - if (reqpath == '') { reqpath = '/'; } - var xpath = path.join(reqpath, '*'); - var results = null; - - try { results = fs.readdirSync(xpath); } catch (e) { } - if (results != null) { - for (var i = 0; i < results.length; ++i) { - if ((results[i] != '.') && (results[i] != '..')) { - var stat = null, p = path.join(reqpath, results[i]); - try { stat = fs.statSync(p); } catch (e) { } // TODO: Get file size/date - if ((stat != null) && (stat != undefined)) { - if (stat.isDirectory() == true) { - response.dir.push({ n: results[i], t: 2, d: stat.mtime }); - } else { - response.dir.push({ n: results[i], t: 3, s: stat.size, d: stat.mtime }); - } - } - } - } - } - } - return response; -} - -// Process KVM control channel data -function kvmCtrlData(channel, cmd) { - if (cmd.length > 0 && cmd.charCodeAt(0) != 123) { - // This is upload data - if (this.fileupload != null) { - cmd = Buffer.from(cmd, 'base64'); - var header = cmd.readUInt32BE(0); - if ((header == 0x01000000) || (header == 0x01000001)) { - fs.writeSync(this.fileupload.fp, cmd.slice(4)); - channel.write({ action: 'upload', sub: 'ack', reqid: this.fileupload.reqid }); - if (header == 0x01000001) { fs.closeSync(this.fileupload.fp); this.fileupload = null; } // Close the file - } - } - return; - } - //console.log('KVM Ctrl Data', cmd); - - try { cmd = JSON.parse(cmd); } catch (ex) { console.error('Invalid JSON: ' + cmd); return; } - if ((cmd.path != null) && (process.platform != 'win32') && (cmd.path[0] != '/')) { cmd.path = '/' + cmd.path; } // Add '/' to paths on non-windows - switch (cmd.action) { - case 'ping': { - // This is a keep alive - channel.write({ action: 'pong' }); - break; - } - case 'ls': { - /* - // Close the watcher if required - var samepath = ((this.httprequest.watcher != undefined) && (cmd.path == this.httprequest.watcher.path)); - if ((this.httprequest.watcher != undefined) && (samepath == false)) { - //console.log('Closing watcher: ' + this.httprequest.watcher.path); - //this.httprequest.watcher.close(); // TODO: This line causes the agent to crash!!!! - delete this.httprequest.watcher; - } - */ - - // Send the folder content to the browser - var response = getDirectoryInfo(cmd.path); - if (cmd.reqid != undefined) { response.reqid = cmd.reqid; } - channel.write(response); - - /* - // Start the directory watcher - if ((cmd.path != '') && (samepath == false)) { - var watcher = fs.watch(cmd.path, onFileWatcher); - watcher.tunnel = this.httprequest; - watcher.path = cmd.path; - this.httprequest.watcher = watcher; - //console.log('Starting watcher: ' + this.httprequest.watcher.path); - } - */ - break; - } - case 'mkdir': { - // Create a new empty folder - fs.mkdirSync(cmd.path); - break; - } - case 'rm': { - // Remove many files or folders - for (var i in cmd.delfiles) { - var fullpath = path.join(cmd.path, cmd.delfiles[i]); - try { fs.unlinkSync(fullpath); } catch (e) { console.log(e); } - } - break; - } - case 'rename': { - // Rename a file or folder - var oldfullpath = path.join(cmd.path, cmd.oldname); - var newfullpath = path.join(cmd.path, cmd.newname); - try { fs.renameSync(oldfullpath, newfullpath); } catch (e) { console.log(e); } - break; - } - case 'download': { - // Download a file, to browser - var sendNextBlock = 0; - if (cmd.sub == 'start') { // Setup the download - if (this.filedownload != null) { channel.write({ action: 'download', sub: 'cancel', id: this.filedownload.id }); delete this.filedownload; } - this.filedownload = { id: cmd.id, path: cmd.path, ptr: 0 } - try { this.filedownload.f = fs.openSync(this.filedownload.path, 'rbN'); } catch (e) { channel.write({ action: 'download', sub: 'cancel', id: this.filedownload.id }); delete this.filedownload; } - if (this.filedownload) { channel.write({ action: 'download', sub: 'start', id: cmd.id }); } - } else if ((this.filedownload != null) && (cmd.id == this.filedownload.id)) { // Download commands - if (cmd.sub == 'startack') { sendNextBlock = 8; } else if (cmd.sub == 'stop') { delete this.filedownload; } else if (cmd.sub == 'ack') { sendNextBlock = 1; } - } - // Send the next download block(s) - while (sendNextBlock > 0) { - sendNextBlock--; - var buf = Buffer.alloc(4096); - var len = fs.readSync(this.filedownload.f, buf, 4, 4092, null); - this.filedownload.ptr += len; - if (len < 4092) { buf.writeInt32BE(0x01000001, 0); fs.closeSync(this.filedownload.f); delete this.filedownload; sendNextBlock = 0; } else { buf.writeInt32BE(0x01000000, 0); } - channel.write(buf.slice(0, len + 4).toString('base64')); // Write as Base64 - } - break; - } - case 'upload': { - // Upload a file, from browser - if (cmd.sub == 'start') { // Start the upload - if (this.fileupload != null) { fs.closeSync(this.fileupload.fp); } - if (!cmd.path || !cmd.name) break; - this.fileupload = { reqid: cmd.reqid }; - var filepath = path.join(cmd.path, cmd.name); - try { this.fileupload.fp = fs.openSync(filepath, 'wbN'); } catch (e) { } - if (this.fileupload.fp) { channel.write({ action: 'upload', sub: 'start', reqid: this.fileupload.reqid }); } else { this.fileupload = null; channel.write({ action: 'upload', sub: 'error', reqid: this.fileupload.reqid }); } - } - else if (cmd.sub == 'cancel') { // Stop the upload - if (this.fileupload != null) { fs.closeSync(this.fileupload.fp); this.fileupload = null; } - } - break; - } - case 'copy': { - // Copy a bunch of files from scpath to dspath - for (var i in cmd.names) { - var sc = path.join(cmd.scpath, cmd.names[i]), ds = path.join(cmd.dspath, cmd.names[i]); - if (sc != ds) { try { fs.copyFileSync(sc, ds); } catch (e) { } } - } - break; - } - case 'move': { - // Move a bunch of files from scpath to dspath - for (var i in cmd.names) { - var sc = path.join(cmd.scpath, cmd.names[i]), ds = path.join(cmd.dspath, cmd.names[i]); - if (sc != ds) { try { fs.copyFileSync(sc, ds); fs.unlinkSync(sc); } catch (e) { } } - } - break; - } - default: - // Unknown action, ignore it. - break; - } -} - -function webRtcCleanUp() { - if (webRtcDesktop == null) return; - if (webRtcDesktop.rtcchannel) { - try { webRtcDesktop.rtcchannel.close(); } catch (e) { } - try { webRtcDesktop.rtcchannel.removeAllListeners('data'); } catch (e) { } - try { webRtcDesktop.rtcchannel.removeAllListeners('end'); } catch (e) { } - delete webRtcDesktop.rtcchannel; - } - if (webRtcDesktop.webrtc) { - try { webRtcDesktop.webrtc.close(); } catch (e) { } - try { webRtcDesktop.webrtc.removeAllListeners('connected'); } catch (e) { } - try { webRtcDesktop.webrtc.removeAllListeners('disconnected'); } catch (e) { } - try { webRtcDesktop.webrtc.removeAllListeners('dataChannel'); } catch (e) { } - delete webRtcDesktop.webrtc; - } - if (webRtcDesktop.kvm) { - try { webRtcDesktop.kvm.end(); } catch (e) { } - delete webRtcDesktop.kvm; - } - webRtcDesktop = null; -} - -function kvmSetData(x) { - osamtstack.IPS_KVMRedirectionSettingData_DataChannelWrite(Buffer.from(x).toString('base64'), function () { }); -} - -function startLmsWsmanResponse(stack, name, responses, status) { - if (status == 600) { console.log('ERROR: Unable to connect to Intel(R) AMT.'); } - else if (status != 200) { console.log('ERROR: Unable to get object from Intel(R) AMT, status = ' + status + '.'); } - else { - //console.log(JSON.stringify(responses), status); - var amtlogicalelements = responses["CIM_SoftwareIdentity"].responses; - if (amtlogicalelements.length > 0) { - var v = getInstance(amtlogicalelements, "AMT")["VersionString"]; - amtversion = parseInt(v.split('.')[0]); - amtversionmin = parseInt(v.split('.')[1]); - //console.log(amtversion, amtversionmin); - } - } -} - - -// Process commands in the LMS control channel -// Command 9 is add a notification. -function processLmsControlData(data) { - if (data.length < 2) return; - var cmdid = data.readUInt16LE(0); - switch (cmdid) { - case 1: // Request basic Intel AMT information (CMD = 1) - { getAmtInfo(function (meinfo, socket) { meinfo.LoginMode = 2; socket.write(Buffer.concat([Buffer.from('0100', 'hex'), Buffer.from(JSON.stringify(meinfo))])); }, this); break; } - case 2: // Intel AMT MEI Unprovision (CMD = 2) - { if (data.length < 6) break; amtMei.unprovision(data.readUInt32LE(2), function (status, socket) { var data = Buffer.alloc(6); data.writeUInt16LE(2, 0); data.writeUInt32LE(status, 2); socket.write(data); }, this); break; } - case 3: // Intel AMT MEI GetLocalSystemAccount (CMD = 3) - { amtMei.getLocalSystemAccount(function (account, socket) { socket.write(Buffer.concat([Buffer.from('030000000000', 'hex'), account.raw])); }, this); break; } - case 4: // Instruct Intel AMT to start remote configuration (CMD = 4) - { amtMei.startConfiguration(function (status, socket) { var data = Buffer.alloc(6); data.writeUInt16LE(7, 0); data.writeUInt32LE(status, 2); socket.write(data); }, this); break; } - case 5: // Instruct Intel AMT to stop remote configuration (CMD = 5) - { amtMei.stopConfiguration(function (status, socket) { var data = Buffer.alloc(6); data.writeUInt16LE(7, 0); data.writeUInt32LE(status, 2); socket.write(data); }, this); break; } - case 6: // Instruct Intel AMT connect CIRA (CMD = 6) - { amtMei.openUserInitiatedConnection(function (status, socket) { var data = Buffer.alloc(6); data.writeUInt16LE(7, 0); data.writeUInt32LE(status, 2); socket.write(data); }, this); break; } - case 7: // Instruct Intel AMT disconnect CIRA (CMD = 7) - { amtMei.closeUserInitiatedConnection(function (status, socket) { var data = Buffer.alloc(6); data.writeUInt16LE(7, 0); data.writeUInt32LE(status, 2); socket.write(data); }, this); break; } - case 8: // Get Intel AMT CIRA State (CMD = 8) - { amtMei.getRemoteAccessConnectionStatus(function (state, socket) { var data = Buffer.alloc(6); data.writeUInt16LE(8, 0); data.writeUInt32LE(state.status, 2); socket.write(Buffer.concat([data, state.raw])); }, this); break; } - default: - // Unknown action, ignore it. - break; - } -} - - -// -// MeshCentral TCP port router -// - -function startRouter() { - tcpserver = net.createServer(OnTcpClientConnected); - tcpserver.on('error', function (e) { console.log('ERROR: ' + JSON.stringify(e)); exit(0); return; }); - tcpserver.listen(settings.localport, function () { - // We started listening. - if (settings.remotename == null) { - console.log('Redirecting local port ' + settings.localport + ' to remote port ' + settings.remoteport + '.'); - } else { - console.log('Redirecting local port ' + settings.localport + ' to ' + settings.remotename + ':' + settings.remoteport + '.'); - } - console.log('Press ctrl-c to exit.'); - - // If settings has a "cmd", run it now. - //process.exec("notepad.exe"); - }); -} - -// Called when a TCP connect is received on the local port. Launch a tunnel. -function OnTcpClientConnected(c) { - try { - // 'connection' listener - debug(1, 'Client connected'); - c.on('end', function () { disconnectTunnel(this, this.websocket, 'Client closed'); }); - c.pause(); - try { - options = http.parseUri(settings.serverurl + '?user=' + settings.username + '&pass=' + settings.password + '&nodeid=' + settings.remotenodeid + '&tcpport=' + settings.remoteport); - } catch (e) { console.log('Unable to parse \"serverUrl\".'); process.exit(1); return; } - options.checkServerIdentity = onVerifyServer; - options.rejectUnauthorized = false; - c.websocket = http.request(options); - c.websocket.tcp = c; - c.websocket.tunneling = false; - c.websocket.upgrade = OnWebSocket; - c.websocket.on('error', function (e) { console.log('ERROR: ' + JSON.stringify(e)); }); - c.websocket.end(); - } catch (e) { debug(2, e); } -} - -// Disconnect both TCP & WebSocket connections and display a message. -function disconnectTunnel(tcp, ws, msg) { - if (ws != null) { try { ws.end(); } catch (e) { debug(2, e); } } - if (tcp != null) { try { tcp.end(); } catch (e) { debug(2, e); } } - debug(1, 'Tunnel disconnected: ' + msg); -} - -// Called when the web socket gets connected -function OnWebSocket(msg, s, head) { - debug(1, 'Websocket connected'); - s.on('data', function (msg) { - if (this.parent.tunneling == false) { - msg = msg.toString(); - if ((msg == 'c') || (msg == 'cr')) { - this.parent.tunneling = true; this.pipe(this.parent.tcp); this.parent.tcp.pipe(this); debug(1, 'Tunnel active'); - } else if ((msg.length > 6) && (msg.substring(0, 6) == 'error:')) { - console.log(msg.substring(6)); - disconnectTunnel(this.tcp, this, msg.substring(6)); - } - } - }); - s.on('error', function (msg) { disconnectTunnel(this.tcp, this, 'Websocket error'); }); - s.on('close', function (msg) { disconnectTunnel(this.tcp, this, 'Websocket closed'); }); - s.parent = this; -} - -// Try to discover the location of the mesh server -function discoverMeshServer() { console.log('Looking for server...'); discoveryInterval = setInterval(discoverMeshServerOnce, 5000); discoverMeshServerOnce(); } - -// Try to discover the location of the mesh server only once -function discoverMeshServerOnce() { - var interfaces = os.networkInterfaces(); - for (var adapter in interfaces) { - if (interfaces.hasOwnProperty(adapter)) { - for (var i = 0; i < interfaces[adapter].length; ++i) { - var addr = interfaces[adapter][i]; - multicastSockets[i] = dgram.createSocket({ type: (addr.family == "IPv4" ? "udp4" : "udp6") }); - multicastSockets[i].bind({ address: addr.address, exclusive: false }); - if (addr.family == "IPv4") { - try { - multicastSockets[i].addMembership(membershipIPv4); - //multicastSockets[i].setMulticastLoopback(true); - multicastSockets[i].once('message', OnMulticastMessage); - multicastSockets[i].send(settings.serverid, 16989, membershipIPv4); - } catch (e) { } - } - } - } - } -} - -// Called when a multicast packet is received -function OnMulticastMessage(msg, rinfo) { - var m = msg.toString().split('|'); - if ((m.length == 3) && (m[0] == 'MeshCentral2') && (m[1] == settings.serverid)) { - settings.serverurl = m[2].replace('%s', rinfo.address).replace('/agent.ashx', '/meshrelay.ashx'); - console.log('Found server at ' + settings.serverurl + '.'); - if (discoveryInterval != null) { clearInterval(discoveryInterval); discoveryInterval = null; } - startRouter(); - } -} - - -// -// PUSH MESHCOMMANDER INTO FIRMWARE -// - -function nextStepStorageUpload() { - debug(3, "nextStepStorageUpload"); - getAmtStorage(function (statusCode, data) { - if (statusCode == 200) { - debug(2, "getAmtStorage: " + JSON.stringify(data, null, 2)); - if ((data['content'] != null) && (data['content']['index.htm'] != null)) { nextStepStorageUpload3('index.htm'); } - else if ((data['content'] != null) && (data['content']['logon.htm'] != null)) { nextStepStorageUpload3('logon.htm'); } - else if ((data['content'] != null) && (data['content']['logon.htm'] != null)) { nextStepStorageUpload3('logon.htm'); } - else { nextStepStorageUpload2('index.htm', null); } - } else { - console.log("Unable to read storage state."); - exit(); - return; - } - }); -} - -function nextStepStorageUpload2(uploadName, linkName) { - debug(3, "nextStepStorageUpload2"); - if (settings.webapp == null) { console.log("Done."); exit(); return; } else { - console.log("Uploading MeshCommander..."); - pushToStorage(uploadName, linkName, Buffer.from(settings.webapp, 'base64'), function (statusCode) { - if (statusCode == 500) { console.log("Error, check that computer is powered on."); exit(); return; } - if (statusCode != 200) { - if (uploadName == 'index.htm') { - nextStepStorageUpload2('mesh/commander/console', 'MeshCommander'); - } else { - console.log("Unable to upload MeshCommander, status = " + statusCode + "."); exit(); return; - } - } else { - console.log("Verifying MeshCommander..."); - verifyStorage(uploadName, Buffer.from(settings.webapp, 'base64'), function (verified) { - if (verified == true) { console.log('Done.'); } else { console.log('MeshCommander verification failed.'); } - exit(); return; - }); - } - }); - } -} - -function nextStepStorageUpload3(deleteName) { - console.log("Deleting " + deleteName + " from storage..."); - deleteStorage(deleteName, function (statusCode) { - if (statusCode == 500) { console.log("Error, check that computer is powered on."); exit(); return; } - if (statusCode == 200) { nextStepStorageUpload(); } else { console.log("Unable to delete " + deleteName + "."); exit(); return; } - }); -} - -// Fetch the Intel AMT storage document -function getAmtStorage(func, noretry) { - var req = digest.request({ protocol: settings.protocol, method: "GET", host: settings.hostname, path: "/amt-storage/", port: settings.localport }, - function (response) { - if (response.statusCode != 200) { console.log("Unable to connect to Intel(R) AMT."); func(response.statusCode, null); } - response.on('data', function (chunk) { if (response.acc == null) { response.acc = chunk; } else { response.acc += chunk; } }); - response.on('end', function () { - var data = response.acc.toString(), len, data2, amtstorage = null; - data = data.split('\t').join('').split('\r').join('').split('\n').join(''); - try { - do { len = data.length; data2 = data; data = data2.replace('": ', '":'); } while (data != data2); // Remove all zero's, this is needed because firmware sometimes returns garbage we must fix. - do { len = data.length; data2 = data; data = data2.replace('\x00', ''); } while (data != data2); // Remove all zero's, this is needed because firmware sometimes returns garbage we must fix. - do { len = data.length; data2 = data; data = data2.replace('\x22\x01\x22', '\x22\x22'); } while (data != data2); // "\x01", this is needed because firmware sometimes returns garbage we must fix. - var xopen = data.split("{").length, xclose = data.split("}").length, xadd = ''; - while (xopen > xclose) { data += '}'; xclose++; } // Close any missing close brackets - amtstorage = JSON.parse(data); - } catch (e) { console.log("Error: Unable to parse Intel AMT response: " + data, e); func(null); } - if (func != null) { func(response.statusCode, amtstorage); } - }); - }); - req.on('error', function (e) { console.log("Error occured: " + JSON.stringify(e)); if (noretry == true) { if (func != null) { func(null); } } else { getAmtStorage(func, true); } }); - req.end(); -} - -// Fetch the Intel AMT storage document -function pushToStorage(name, linkname, data, func, ptr) { - if (ptr == null) { ptr = 0; } - var req = digest.request({ protocol: settings.protocol, method: "PUT", host: settings.hostname, path: ("/amt-storage/" + name + ((ptr != 0) ? '?append=' : '')), port: settings.localport }); - req.on('error', function (e) { console.log("Error occured: " + JSON.stringify(e)); if (func != null) { func(null); } }); - req.on('response', function (response) { - debug(1, 'Chunk Done', data.length, ptr); - if ((response.statusCode == 200) && (ptr < data.length)) { pushToStorage(name, linkname, data, func, ptr); } else { if (func != null) { func(response.statusCode); } } - }); - var header = (ptr > 0) ? '' : 'Content-Encoding:gzipContent-Type:text/html' + ((linkname != null) ? ('' + linkname + '') : '') + ''; - var blocklen = ((data.length - ptr) > (7000 - header.length)) ? (7000 - header.length) : (data.length - ptr); - req.write(Buffer.concat([new Buffer(header), data.slice(ptr, ptr + blocklen)])); - ptr += blocklen; - req.end(); -} - -// Fetch the Intel AMT storage document -function verifyStorage(name, data, func) { - var req = digest.request({ protocol: settings.protocol, method: "GET", host: settings.hostname, path: ("/amt-storage/" + name), port: settings.localport }); - req.on('error', function (e) { console.log("Verify error occured: " + JSON.stringify(e)); if (func != null) { func(null); } }); - req.on('response', function (response) { - response.ptr = 0; - response.ok = true; - response.on('data', function (data2) { if (data2.toString('hex') != data.slice(response.ptr, response.ptr + data2.length).toString('hex')) { response.ok = false; console.log('Verifiy failed (' + response.ptr + ', ' + data2.length + ').'); } response.ptr += data2.length; }); - response.on('end', function () { if (func != null) { func(response.ok); } }); - }); - req.end(); -} - -// Fetch the Intel AMT storage document -function deleteStorage(name, func, noretry) { - var req = digest.request({ protocol: settings.protocol, method: "DELETE", host: settings.hostname, path: "/amt-storage/" + name, port: settings.localport }); - req.on('error', function (e) { if ((e == 'Error: Socket was unexpectedly closed') && (noretry != true)) { deleteStorage(name, func, true); } else { if (func != null) { if (e.statusCode) { func(e.statusCode); } else { func(null); } } } }); - req.on('response', function (response) { if (func != null) { func(response.statusCode); } }); - req.end(); -} - - -// -// IDER -// - -ider = null; -iderIdleTimer = null; - -// Perform IDER -function performIder() { - if ((settings.floppy != null) && fs.existsSync(settings.floppy) == false) { console.log("Unable to floppy image file: " + settings.floppy); process.exit(); return; } - if ((settings.cdrom != null) && fs.existsSync(settings.cdrom) == false) { console.log("Unable to CDROM image file: " + settings.cdrom); process.exit(); return; } - try { - var sfloppy = null, scdrom = null; - if (settings.floppy) { try { if (sfloppy = fs.statSync(settings.floppy)) { sfloppy.file = fs.openSync(settings.floppy, 'rbN'); } } catch (ex) { console.log(ex); process.exit(1); return; } } - if (settings.cdrom) { try { scdrom = fs.statSync(settings.cdrom); if (scdrom) { scdrom.file = fs.openSync(settings.cdrom, 'rbN'); } } catch (ex) { console.log(ex); process.exit(1); return; } } - - ider = require('amt-redir-duk')(require('amt-ider')()); - ider.onStateChanged = onIderStateChange; - ider.m.floppy = sfloppy; - ider.m.cdrom = scdrom; - ider.m.iderStart = 1; // OnReboot = 0, Graceful = 1, Now = 2 - ider.m.debug = (settings.debuglevel > 0); - if (settings.timeout > 0) { ider.m.sectorStats = iderSectorStats; } - //ider.digestRealmMatch = wsstack.comm.digestRealm; - //ider.tlsv1only = amtstack.wsman.comm.tlsv1only; - ider.Start(settings.hostname, (settings.tls == true) ? 16995 : 16994, settings.username ? 'admin' : settings.username, settings.password, settings.tls); - } catch (ex) { console.log(ex); } -} - -function onIderStateChange(stack, state) { console.log(['Disconnected', 'Connecting...', 'Connected...', 'Started IDER...'][state]); } - -function iderSectorStats(mode, dev, mediaBlocks, lba, len) { - if (iderIdleTimer != null) { clearTimeout(iderIdleTimer); } - iderIdleTimer = setTimeout(function () { console.log('Idle timeout'); process.exit(1); }, 1000 * settings.timeout); -} - -// -// Intel AMT IPv4 wired configuration -// - -function performAmtNetConfig(args) { - if ((settings.hostname == '127.0.0.1') || (settings.hostname.toLowerCase() == 'localhost')) { - settings.noconsole = true; startLms(performAmtNetConfig0, false, args); - } else { - performAmtNetConfig0(1, args); - } -} - -function performAmtNetConfig0(state, args) { - var transport = require('amt-wsman-duk'); - var wsman = require('amt-wsman'); - var amt = require('amt'); - wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); - amtstack = new amt(wsstack); - amtstack.BatchEnum(null, ['AMT_EthernetPortSettings'], performAmtNetConfig1, args); -} - -function performAmtNetConfig1(stack, name, response, status, args) { - if (status == 200) { - // Set wired and wireless interfaces - var amtwirelessif = -1; - var amtwiredif = -1; - for (var y in response['AMT_EthernetPortSettings'].responses) { - var z = response['AMT_EthernetPortSettings'].responses[y]; - if (z['WLANLinkProtectionLevel'] || (y == 1)) { amtwirelessif = y; } // Set the wireless interface, this seems to cover new wireless only computers and older computers with dual interfaces. - if (y == 0) { if ((amtwirelessif != y) && (z["MACAddress"] != "00-00-00-00-00-00")) { amtwiredif = y; } } // On computers with only wireless, the wired interface will have a null MAC - } - - // Check if configuration change is required - if (args) { - var docall = false; - var x = JSON.parse(JSON.stringify(response['AMT_EthernetPortSettings'].responses[amtwiredif])); - var y = response['AMT_EthernetPortSettings'].responses[amtwiredif]; - delete x["IpSyncEnabled"]; - delete x["LinkIsUp"]; - delete x["LinkPolicy"]; - delete x["MACAddress"]; - delete x["SharedDynamicIP"]; - delete x["SharedMAC"]; - delete x["SharedStaticIp"]; - - if ((y['IpSyncEnabled'] == false) && (args.ipsync === '1')) { x['IpSyncEnabled'] = true; docall = true; } - if ((y['IpSyncEnabled'] == true) && (args.ipsync === '0')) { x['IpSyncEnabled'] = false; docall = true; } - if (args.dhcp && (amtwiredif != -1) && (response['AMT_EthernetPortSettings'].responses[amtwiredif].DHCPEnabled == false)) { - // Change to DHCP - x['DHCPEnabled'] = true; - docall = true; - } - else if (args.static && (amtwiredif != -1) && (response['AMT_EthernetPortSettings'].responses[amtwiredif].DHCPEnabled == true)) { - // Change to STATIC - x['DHCPEnabled'] = false; - if (args.ip) { x["IPAddress"] = args.ip; } else { console.log('Missing IPv4 address, use --ip 1.2.3.4'); process.exit(1); } - if (args.subnet) { x["SubnetMask"] = args.subnet; } else { console.log('Missing IPv4 subnet, use --subnet 255.255.255.0'); process.exit(1); } - if (args.gateway) { x["DefaultGateway"] = args.gateway; } - if (args.dns) { x["PrimaryDNS"] = args.dns; } - if (args.dns2) { x["SecondaryDNS"] = args.dns2; } - docall = true; - } - if (docall) { - if (x["DHCPEnabled"] == true) { - delete x["IPAddress"]; - delete x["DefaultGateway"]; - delete x["PrimaryDNS"]; - delete x["SecondaryDNS"]; - delete x["SubnetMask"]; - } - pendingAmtConfigActions++; - //console.log(JSON.stringify(x, 4, ' ')); - amtstack.Put("AMT_EthernetPortSettings", x, function (stack, name, response, status) { if (status != 200) { console.log('Error, status ' + status + '.'); } if (--pendingAmtConfigActions == 0) { performAmtNetConfig0(); } }, null, 0, x); - } - } - - if (pendingAmtConfigActions == 0) { - var maxlen = 0; - if (amtwiredif != -1) { for (var i in response['AMT_EthernetPortSettings'].responses[amtwiredif]) { if (i.length > maxlen) { maxlen = i.length; } } } - if (amtwirelessif != -1) { for (var i in response['AMT_EthernetPortSettings'].responses[amtwirelessif]) { if (i.length > maxlen) { maxlen = i.length; } } } - - if (amtwiredif != -1) { // Wired - var z = response['AMT_EthernetPortSettings'].responses[amtwiredif]; - console.log('--WIRED---'); - for (var i in z) { - if (['ElementName', 'InstanceID'].indexOf(i) == -1) { - var name = i; - while (name.length < maxlen) { name += ' '; } - console.log(name + ' : ' + z[i]); - } - } - } - if (amtwirelessif != -1) { // Wireless - var z = response['AMT_EthernetPortSettings'].responses[amtwirelessif]; - console.log('--WIRELESS---'); - for (var i in z) { - if (['ElementName', 'InstanceID'].indexOf(i) == -1) { - var name = i; - while (name.length < maxlen) { name += ' '; } - console.log(name + ' : ' + z[i]); - } - } - } - process.exit(0); - } - } else { - console.log('Error, status ' + status + '.'); - process.exit(1); - } -} - - -// -// Intel AMT feature configuration action -// - -function performAmtFeatureConfig(args) { - if ((settings.hostname == '127.0.0.1') || (settings.hostname.toLowerCase() == 'localhost')) { - settings.noconsole = true; startLms(performAmtFeatureConfig0, false, args); - } else { - performAmtFeatureConfig0(1, args); - } -} - -function performAmtFeatureConfig0(state, args) { - var transport = require('amt-wsman-duk'); - var wsman = require('amt-wsman'); - var amt = require('amt'); - wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); - amtstack = new amt(wsstack); - amtstack.BatchEnum(null, ['*IPS_OptInService', '*AMT_RedirectionService', '*CIM_KVMRedirectionSAP'], performAmtFeatureConfig1, args); -} - -function performAmtFeatureConfig1(stack, name, response, status, args) { - if (status == 200) { - // User consent - var optinrequired = response['IPS_OptInService'].response["OptInRequired"]; - if (args) { - if ((args.userconsent == 'none') && (optinrequired != 0)) { - pendingAmtConfigActions++; - response['IPS_OptInService'].response["OptInRequired"] = 0; - amtstack.Put("IPS_OptInService", response['IPS_OptInService'].response, function (stack, name, response, status) { if (--pendingAmtConfigActions == 0) { performAmtFeatureConfig0(); } }); - } - else if ((args.userconsent == 'kvm') && (optinrequired != 1)) { - pendingAmtConfigActions++; - response['IPS_OptInService'].response["OptInRequired"] = 1; - amtstack.Put("IPS_OptInService", response['IPS_OptInService'].response, function (stack, name, response, status) { if (--pendingAmtConfigActions == 0) { performAmtFeatureConfig0(); } }); - } - else if ((args.userconsent == 'all') && (optinrequired != 0xFFFFFFFF)) { - pendingAmtConfigActions++; - response['IPS_OptInService'].response["OptInRequired"] = 0xFFFFFFFF; - amtstack.Put("IPS_OptInService", response['IPS_OptInService'].response, function (stack, name, response, status) { if (--pendingAmtConfigActions == 0) { performAmtFeatureConfig0(); } }); - } - } - - // Redirection ports - var redirportchange = false; - var redirchange = false; - var redir = (response['AMT_RedirectionService'].response["ListenerEnabled"] == true); - - var sol = ((response['AMT_RedirectionService'].response["EnabledState"] & 2) != 0); - var ider = ((response['AMT_RedirectionService'].response["EnabledState"] & 1) != 0); - if (args) { - if ((redir == false) && ((args.redir == 'enabled') || (args.redir == 1))) { response['AMT_RedirectionService'].response["ListenerEnabled"] = true; redirportchange = true; } - if ((redir == true) && ((args.redir == 'disabled') || (args.redir == 0))) { response['AMT_RedirectionService'].response["ListenerEnabled"] = false; redirportchange = true; } - if ((sol == false) && ((args.sol == 'enabled') || (args.sol == 1))) { sol = true; redirchange = true; } - if ((sol == true) && ((args.sol == 'disabled') || (args.sol == 0))) { sol = false; redirchange = true; } - if ((ider == false) && ((args.ider == 'enabled') || (args.ider == 1))) { ider = true; redirchange = true; } - if ((ider == true) && ((args.ider == 'disabled') || (args.ider == 0))) { ider = false; redirchange = true; } - if (redirportchange) { pendingAmtConfigActions++; amtstack.Put("AMT_RedirectionService", response['AMT_RedirectionService'].response, function (stack, name, response, status) { if (--pendingAmtConfigActions == 0) { performAmtFeatureConfig0(); } }); } - if (redirchange) { pendingAmtConfigActions++; amtstack.AMT_RedirectionService_RequestStateChange((32768 + ((ider ? 1 : 0) + (sol ? 2 : 0))), function (stack, name, response, status) { if (--pendingAmtConfigActions == 0) { performAmtFeatureConfig0(); } }); } - } - - // KVM - var kvm = false; - var kvmchange = false; - if (response['CIM_KVMRedirectionSAP'] != null) { - kvm = ((response['CIM_KVMRedirectionSAP'].response["EnabledState"] == 6 && response['CIM_KVMRedirectionSAP'].response["RequestedState"] == 2) || response['CIM_KVMRedirectionSAP'].response["EnabledState"] == 2 || response['CIM_KVMRedirectionSAP'].response["EnabledState"] == 6); - if (args) { - if ((kvm == false) && ((args.kvm == 'enabled') || (args.kvm == 1))) { kvm = true; kvmchange = true; } - if ((kvm == true) && ((args.kvm == 'disabled') || (args.kvm == 0))) { kvm = false; kvmchange = true; } - if (kvmchange) { pendingAmtConfigActions++; amtstack.CIM_KVMRedirectionSAP_RequestStateChange(kvm ? 2 : 3, 0, function (stack, name, response, status) { if (--pendingAmtConfigActions == 0) { performAmtFeatureConfig0(); } }); } - } - } - - if (pendingAmtConfigActions == 0) { - if (optinrequired == 0) { console.log('User Consent : None'); } - else if (optinrequired == 1) { console.log('User Consent : KVM'); } - else if (optinrequired == 0xFFFFFFFF) { console.log('User Consent : All'); } - else { console.log('User Consent : ' + optinrequired); } - console.log('Redirection Port : ' + (redir ? 'Enabled' : 'Disabled')); - console.log('Serial-over-LAN : ' + (sol ? 'Enabled' : 'Disabled')); - console.log('IDE Redirection : ' + (ider ? 'Enabled' : 'Disabled')); - if (response['CIM_KVMRedirectionSAP'] != null) { console.log('Remote desktop (KVM) : ' + (kvm ? 'Enabled' : 'Disabled')); } - process.exit(0); - } - } else { - console.log('Error, status ' + status + '.'); - process.exit(1); - } -} - - -// -// Intel AMT Remote Power Action -// - -function performAmtPowerAction() { - var transport = require('amt-wsman-duk'); - var wsman = require('amt-wsman'); - var amt = require('amt'); - wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); - amtstack = new amt(wsstack); - if (settings.poweraction != 0) { - // Set the power state - amtstack.RequestPowerStateChange(settings.poweraction, performAmtPowerActionEx); - } else { - // Get the power state - amtstack.Get("CIM_AssociatedPowerManagementService", performAmtPowerActionEx2, 0, 1); - } -} - -function performAmtPowerActionEx(stack, name, response, status) { - if (status == 200) { - console.log(response.Body.ReturnValueStr.split('_').join(' ')); - process.exit(0); - } else { - console.log('Error, status ' + status + '.'); - process.exit(1); - } -} - -var DMTFPowerStates = ["", "", "Power on", "Light sleep", "Deep sleep", "Power cycle (Soft off)", "Off - Hard", "Hibernate (Off soft)", "Soft off", "Power cycle (Off-hard)", "Master bus reset", "Diagnostic interrupt (NMI)", "Not applicable", "Off - Soft graceful", "Off - Hard graceful", "Master bus reset graceful", "Power cycle (Off - Soft graceful)", "Power cycle (Off - Hard graceful)", "Diagnostic interrupt (INIT)"]; -function performAmtPowerActionEx2(stack, name, response, status) { - if (status == 200) { - var powerNumber = parseInt(response.Body.PowerState); - if ((powerNumber >= DMTFPowerStates.length) && (powerNumber > 1)) { - console.log('Unknown power state: ' + response.Body.PowerState); - } else { - console.log('Current power state: ' + DMTFPowerStates[powerNumber]); - } - process.exit(0); - } else { - console.log('Error, status ' + status + '.'); - process.exit(1); - } -} - - -// -// Startup -// - -// Parse URL arguments -function parseUrlArguments(url) { - var r = {}, x = url.split('?'); - if (x.length < 2) return r; - x = x[1].split('&'); - for (var i in x) { var j = x[i].indexOf('='); if (j > 0) { r[x[i].substring(0, j).toLowerCase()] = x[i].substring(j + 1); } } - return r; -} - -// Remove a element from a array -function removeItemFromArray(array, element) { - var index = array.indexOf(element); - if (index !== -1) { array.splice(index, 1); } -} - -// Run MeshCmd, but before we do, we need to see if what type of service we are going to be -var serviceName = null; -var serviceOpSpecified = 0; -var serviceInstall = 0; - -for (var i in process.argv) { - if (process.argv[i].toLowerCase() == 'install') { serviceInstall = 1 } else if (process.argv[i].toLowerCase() == 'uninstall') { serviceInstall = -1 } - if ((process.argv[i].toLowerCase() == 'microlms') || (process.argv[i].toLowerCase() == 'amtlms') || (process.argv[i].toLowerCase() == 'lms')) { serviceName = 'MicroLMS'; break; } - if ((process.argv[i].toLowerCase() == 'meshcommander') || (process.argv[i].toLowerCase() == 'commander')) { serviceName = 'MeshCommander'; break; } -} - -if (serviceName == null) { - for (var i in process.argv) { - if ((process.argv[i].toLowerCase() == 'install') || (process.argv[i].toLowerCase() == 'uninstall')) { - console.log('In order to install/uninstall, a service type must be specified.'); - process.exit(); - } - } - if (process.execPath.includes('MicroLMS')) { serviceName = 'MicroLMS'; } - else if (process.execPath.includes('MeshCommander')) { serviceName = 'MeshCommander'; } - else { serviceName = 'not_a_service'; } -} - -if (serviceInstall == 0) { - run(process.argv); -} else { - var serviceHost = require('service-host'); - var meshcmdService = new serviceHost({ name: serviceName, startType: 'AUTO_START' }); - - // Called when the background service is started. - meshcmdService.on('serviceStart', function onStart() { - console.setDestination(console.Destinations.DISABLED); // Disable console.log(). - if (process.execPath.includes('MicroLMS')) { run([process.execPath, 'microlms']); } // - else if (process.execPath.includes('MeshCommander')) { run([process.execPath, 'meshcommander']); } - else { console.log('Aborting Service Start, because unknown binary: ' + process.execPath); process.exit(1); } - }); - - // Called when the background service is stopping - meshcmdService.on('serviceStop', function onStop() { console.log('Stopping service'); process.exit(); }); // The console.log() is for debugging, will be ignored unless "console.setDestination()" is set. - - // Called when the executable is not running as a service, run normally. - meshcmdService.on('normalStart', function onNormalStart() { try { run(process.argv); } catch (e) { console.log('ERROR: ' + e); } }); - meshcmdService.run(); -} diff --git a/agents/meshcore.js b/agents/meshcore.js index 4413c3aa..f15fc43c 100644 --- a/agents/meshcore.js +++ b/agents/meshcore.js @@ -754,6 +754,15 @@ function createMeshCore(agent) { for (var i in data.macs) { sendWakeOnLan(data.macs[i]); } break; } + case 'uninstallagent': + // Uninstall this agent + var agentName = process.platform == 'win32' ? 'Mesh Agent' : 'meshagent'; + if (require('service-manager').manager.getService(agentName).isMe()) { + try { diagnosticAgent_uninstall(); } catch (x) { } + var js = "require('service-manager').manager.getService('" + agentName + "').stop(); require('service-manager').manager.uninstallService('" + agentName + "'); process.exit();"; + this.child = require('child_process').execFile(process.execPath, [process.platform == 'win32' ? (process.execPath.split('\\').pop()) : (process.execPath.split('/').pop()), '-b64exec', Buffer.from(js).toString('base64')], { type: 4, detached: true }); + } + break; case 'poweraction': { // Server telling us to execute a power action if ((mesh.ExecPowerState != undefined) && (data.actiontype)) { @@ -1942,17 +1951,12 @@ function createMeshCore(agent) { } break; } - case 'uninstallagent': + case 'uninstallagent': // Uninstall this agent var agentName = process.platform == 'win32' ? 'Mesh Agent' : 'meshagent'; if (!require('service-manager').manager.getService(agentName).isMe()) { response = 'Uininstall failed, this instance is not the service instance'; - } - else { - try { - diagnosticAgent_uninstall(); - } - catch (x) { - } + } else { + try { diagnosticAgent_uninstall(); } catch (x) { } var js = "require('service-manager').manager.getService('" + agentName + "').stop(); require('service-manager').manager.uninstallService('" + agentName + "'); process.exit();"; this.child = require('child_process').execFile(process.execPath, [process.platform == 'win32' ? (process.execPath.split('\\').pop()) : (process.execPath.split('/').pop()), '-b64exec', Buffer.from(js).toString('base64')], { type: 4, detached: true }); } diff --git a/agents/meshcore.min.js b/agents/meshcore.min.js deleted file mode 100644 index 4413c3aa..00000000 --- a/agents/meshcore.min.js +++ /dev/null @@ -1,2598 +0,0 @@ -/* -Copyright 2018-2019 Intel Corporation - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -process.on('uncaughtException', function (ex) { - require('MeshAgent').SendCommand({ "action": "msg", "type": "console", "value": "uncaughtException1: " + ex }); -}); - -// NOTE: This seems to cause big problems, don't enable the debugger in the server's meshcore. -//attachDebugger({ webport: 9999, wait: 1 }).then(function (prt) { console.log('Point Browser for Debug to port: ' + prt); }); - -// Mesh Rights -var MNG_ERROR = 65; -var MESHRIGHT_EDITMESH = 1; -var MESHRIGHT_MANAGEUSERS = 2; -var MESHRIGHT_MANAGECOMPUTERS = 4; -var MESHRIGHT_REMOTECONTROL = 8; -var MESHRIGHT_AGENTCONSOLE = 16; -var MESHRIGHT_SERVERFILES = 32; -var MESHRIGHT_WAKEDEVICE = 64; -var MESHRIGHT_SETNOTES = 128; -var MESHRIGHT_REMOTEVIEW = 256; -var MESHRIGHT_NOTERMINAL = 512; -var MESHRIGHT_NOFILES = 1024; -var MESHRIGHT_NOAMT = 2048; -var MESHRIGHT_LIMITEDINPUT = 4096; - -function createMeshCore(agent) { - var obj = {}; - - if (process.platform == 'darwin' && !process.versions) { - // This is an older MacOS Agent, so we'll need to check the service definition so that Auto-Update will function correctly - var child = require('child_process').execFile('/bin/sh', ['sh']); - child.stdout.str = ''; - child.stdout.on('data', function (chunk) { this.str += chunk.toString(); }); - child.stdin.write("cat /Library/LaunchDaemons/meshagent_osx64_LaunchDaemon.plist | tr '\n' '\.' | awk '{split($0, a, \"KeepAlive\"); split(a[2], b, \"<\"); split(b[2], c, \">\"); "); - child.stdin.write(" if(c[1]==\"dict\"){ split(a[2], d, \"\"); if(split(d[1], truval, \"\")>1) { split(truval[1], kn1, \"\"); split(kn1[2], kn2, \"\"); print kn2[1]; } }"); - child.stdin.write(" else { split(c[1], ka, \"/\"); if(ka[1]==\"true\") {print \"ALWAYS\";} } }'\nexit\n"); - child.waitExit(); - if (child.stdout.str.trim() == 'Crashed') { - child = require('child_process').execFile('/bin/sh', ['sh']); - child.stdout.str = ''; - child.stdout.on('data', function (chunk) { this.str += chunk.toString(); }); - child.stdin.write("launchctl list | grep 'meshagent' | awk '{ if($3==\"meshagent\"){print $1;}}'\nexit\n"); - child.waitExit(); - - if (parseInt(child.stdout.str.trim()) == process.pid) { - // The currently running MeshAgent is us, so we can continue with the update - var plist = require('fs').readFileSync('/Library/LaunchDaemons/meshagent_osx64_LaunchDaemon.plist').toString(); - var tokens = plist.split('KeepAlive'); - if (tokens[1].split('>')[0].split('<')[1] == 'dict') { - var tmp = tokens[1].split(''); - tmp.shift(); - tokens[1] = '\n ' + tmp.join(''); - tokens = tokens.join('KeepAlive'); - - require('fs').writeFileSync('/Library/LaunchDaemons/meshagent_osx64_LaunchDaemon.plist', tokens); - - var fix = ''; - fix += ("function macosRepair()\n"); - fix += ("{\n"); - fix += (" var child = require('child_process').execFile('/bin/sh', ['sh']);\n"); - fix += (" child.stdout.str = '';\n"); - fix += (" child.stdout.on('data', function (chunk) { this.str += chunk.toString(); });\n"); - fix += (" child.stderr.on('data', function (chunk) { });\n"); - fix += (" child.stdin.write('launchctl unload /Library/LaunchDaemons/meshagent_osx64_LaunchDaemon.plist\\n');\n"); - fix += (" child.stdin.write('launchctl load /Library/LaunchDaemons/meshagent_osx64_LaunchDaemon.plist\\n');\n"); - fix += (" child.stdin.write('rm /Library/LaunchDaemons/meshagentRepair.plist\\n');\n"); - fix += (" child.stdin.write('rm " + process.cwd() + "/macosRepair.js\\n');\n"); - fix += (" child.stdin.write('launchctl stop meshagentRepair\\nexit\\n');\n"); - fix += (" child.waitExit();\n"); - fix += ("}\n"); - fix += ("macosRepair();\n"); - fix += ("process.exit();\n"); - require('fs').writeFileSync(process.cwd() + '/macosRepair.js', fix); - - var plist = '\n'; - plist += '\n'; - plist += '\n'; - plist += ' \n'; - plist += ' Label\n'; - plist += (' meshagentRepair\n'); - plist += ' ProgramArguments\n'; - plist += ' \n'; - plist += (' ' + process.execPath + '\n'); - plist += ' macosRepair.js\n'; - plist += ' \n'; - plist += ' WorkingDirectory\n'; - plist += (' ' + process.cwd() + '\n'); - plist += ' RunAtLoad\n'; - plist += ' \n'; - plist += ' \n'; - plist += ''; - require('fs').writeFileSync('/Library/LaunchDaemons/meshagentRepair.plist', plist); - - child = require('child_process').execFile('/bin/sh', ['sh']); - child.stdout.str = ''; - child.stdout.on('data', function (chunk) { this.str += chunk.toString(); }); - child.stdin.write("launchctl load /Library/LaunchDaemons/meshagentRepair.plist\nexit\n"); - child.waitExit(); - } - } - } - } - - // Create Secure IPC for Diagnostic Agent Communications - obj.DAIPC = require('net').createServer(); - if (process.platform != 'win32') { try { require('fs').unlinkSync(process.cwd() + '/DAIPC'); } catch (ee) { } } - obj.DAIPC.IPCPATH = process.platform == 'win32' ? ('\\\\.\\pipe\\' + require('_agentNodeId')() + '-DAIPC') : (process.cwd() + '/DAIPC'); - try { obj.DAIPC.listen({ path: obj.DAIPC.IPCPATH }); } catch (e) { } - obj.DAIPC.on('connection', function (c) { - c._send = function (j) { - var data = JSON.stringify(j); - var packet = Buffer.alloc(data.length + 4); - packet.writeUInt32LE(data.length + 4, 0); - Buffer.from(data).copy(packet, 4); - this.end(packet); - }; - this._daipc = c; - c.parent = this; - c.on('end', function () { console.log('Connection Closed'); this.parent._daipc = null; }); - c.on('data', function (chunk) { - if (chunk.length < 4) { this.unshift(chunk); return; } - var len = chunk.readUInt32LE(0); - if (len > 8192) { this.parent._daipc = null; this.end(); return; } - if (chunk.length < len) { this.unshift(chunk); return; } - - var data = chunk.slice(4, len); - try { - data = JSON.parse(data.toString()); - } - catch (de) { - this.parent._daipc = null; this.end(); return; - } - - if (!data.cmd) { this.parent._daipc = null; this.end(); return; } - - try { - switch (data.cmd) { - case 'query': - switch (data.value) { - case 'connection': - data.result = require('MeshAgent').ConnectedServer; - this._send(data); - break; - } - break; - default: - this.parent._daipc = null; - this.end(); - return; - } - } - catch (xe) { - this.parent._daipc = null; this.end(); return; - } - }); - }); - function diagnosticAgent_uninstall() { - require('service-manager').manager.uninstallService('meshagentDiagnostic'); - require('task-scheduler').delete('meshagentDiagnostic/periodicStart'); - }; - function diagnosticAgent_installCheck(install) { - try { - var diag = require('service-manager').manager.getService('meshagentDiagnostic'); - return (diag); - } - catch (e) { - } - if (!install) { return (null); } - - var svc = null; - try { - require('service-manager').manager.installService( - { - name: 'meshagentDiagnostic', - displayName: 'Mesh Agent Diagnostic Service', - description: 'Mesh Agent Diagnostic Service', - servicePath: process.execPath, - parameters: ['-recovery'] - //files: [{ newName: 'diagnostic.js', _buffer: Buffer.from('LyoNCkNvcHlyaWdodCAyMDE5IEludGVsIENvcnBvcmF0aW9uDQoNCkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQoNCiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCg0KVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQoqLw0KDQp2YXIgaG9zdCA9IHJlcXVpcmUoJ3NlcnZpY2UtaG9zdCcpLmNyZWF0ZSgnbWVzaGFnZW50RGlhZ25vc3RpYycpOw0KdmFyIFJlY292ZXJ5QWdlbnQgPSByZXF1aXJlKCdNZXNoQWdlbnQnKTsNCg0KaG9zdC5vbignc2VydmljZVN0YXJ0JywgZnVuY3Rpb24gKCkNCnsNCiAgICBjb25zb2xlLnNldERlc3RpbmF0aW9uKGNvbnNvbGUuRGVzdGluYXRpb25zLkxPR0ZJTEUpOw0KICAgIGhvc3Quc3RvcCA9IGZ1bmN0aW9uKCkNCiAgICB7DQogICAgICAgIHJlcXVpcmUoJ3NlcnZpY2UtbWFuYWdlcicpLm1hbmFnZXIuZ2V0U2VydmljZSgnbWVzaGFnZW50RGlhZ25vc3RpYycpLnN0b3AoKTsNCiAgICB9DQogICAgUmVjb3ZlcnlBZ2VudC5vbignQ29ubmVjdGVkJywgZnVuY3Rpb24gKHN0YXR1cykNCiAgICB7DQogICAgICAgIGlmIChzdGF0dXMgPT0gMCkNCiAgICAgICAgew0KICAgICAgICAgICAgY29uc29sZS5sb2coJ0RpYWdub3N0aWMgQWdlbnQ6IFNlcnZlciBjb25uZWN0aW9uIGxvc3QuLi4nKTsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KICAgICAgICBjb25zb2xlLmxvZygnRGlhZ25vc3RpYyBBZ2VudDogQ29ubmVjdGlvbiBFc3RhYmxpc2hlZCB3aXRoIFNlcnZlcicpOw0KICAgICAgICBzdGFydCgpOw0KICAgIH0pOw0KfSk7DQpob3N0Lm9uKCdub3JtYWxTdGFydCcsIGZ1bmN0aW9uICgpDQp7DQogICAgaG9zdC5zdG9wID0gZnVuY3Rpb24gKCkNCiAgICB7DQogICAgICAgIHByb2Nlc3MuZXhpdCgpOw0KICAgIH0NCiAgICBjb25zb2xlLmxvZygnTm9uIFNlcnZpY2UgTW9kZScpOw0KICAgIFJlY292ZXJ5QWdlbnQub24oJ0Nvbm5lY3RlZCcsIGZ1bmN0aW9uIChzdGF0dXMpDQogICAgew0KICAgICAgICBpZiAoc3RhdHVzID09IDApDQogICAgICAgIHsNCiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdEaWFnbm9zdGljIEFnZW50OiBTZXJ2ZXIgY29ubmVjdGlvbiBsb3N0Li4uJyk7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCiAgICAgICAgY29uc29sZS5sb2coJ0RpYWdub3N0aWMgQWdlbnQ6IENvbm5lY3Rpb24gRXN0YWJsaXNoZWQgd2l0aCBTZXJ2ZXInKTsNCiAgICAgICAgc3RhcnQoKTsNCiAgICB9KTsNCn0pOw0KaG9zdC5vbignc2VydmljZVN0b3AnLCBmdW5jdGlvbiAoKSB7IHByb2Nlc3MuZXhpdCgpOyB9KTsNCmhvc3QucnVuKCk7DQoNCg0KZnVuY3Rpb24gc3RhcnQoKQ0Kew0KDQp9Ow0K', 'base64') }] - }); - svc = require('service-manager').manager.getService('meshagentDiagnostic'); - } - catch (e) { - return (null); - } - var proxyConfig = require('global-tunnel').proxyConfig; - var cert = require('MeshAgent').GenerateAgentCertificate('CN=MeshNodeDiagnosticCertificate'); - var nodeid = require('tls').loadCertificate(cert.root).getKeyHash().toString('base64'); - ddb = require('SimpleDataStore').Create(svc.appWorkingDirectory().replace('\\', '/') + '/meshagentDiagnostic.db'); - ddb.Put('disableUpdate', '1'); - ddb.Put('MeshID', Buffer.from(require('MeshAgent').ServerInfo.MeshID, 'hex')); - ddb.Put('ServerID', require('MeshAgent').ServerInfo.ServerID); - ddb.Put('MeshServer', require('MeshAgent').ServerInfo.ServerUri); - if (cert.root.pfx) { ddb.Put('SelfNodeCert', cert.root.pfx); } - if (cert.tls) { ddb.Put('SelfNodeTlsCert', cert.tls.pfx); } - if (proxyConfig) { - ddb.Put('WebProxy', proxyConfig.host + ':' + proxyConfig.port); - } - else { - ddb.Put('ignoreProxyFile', '1'); - } - - require('MeshAgent').SendCommand({ action: 'diagnostic', value: { command: 'register', value: nodeid } }); - require('MeshAgent').SendCommand({ action: 'msg', type: 'console', value: 'Diagnostic Agent Registered [' + nodeid.length + '/' + nodeid + ']' }); - - delete ddb; - - // Set a recurrent task, to run the Diagnostic Agent every 2 days - require('task-scheduler').create({ name: 'meshagentDiagnostic/periodicStart', daily: 2, time: require('tls').generateRandomInteger('0', '23') + ':' + require('tls').generateRandomInteger('0', '59').padStart(2, '0'), service: 'meshagentDiagnostic' }); - //require('task-scheduler').create({ name: 'meshagentDiagnostic/periodicStart', daily: '1', time: '17:16', service: 'meshagentDiagnostic' }); - - return (svc); - } - - /* - function borderController() { - this.container = null; - this.Start = function Start(user) { - if (this.container == null) { - if (process.platform == 'win32') { - try { - this.container = require('ScriptContainer').Create({ processIsolation: 1, sessionId: user.SessionId }); - } catch (ex) { - this.container = require('ScriptContainer').Create({ processIsolation: 1 }); - } - } else { - this.container = require('ScriptContainer').Create({ processIsolation: 1, sessionId: user.uid }); - } - this.container.parent = this; - this.container.addModule('monitor-info', getJSModule('monitor-info')); - this.container.addModule('monitor-border', getJSModule('monitor-border')); - this.container.addModule('promise', getJSModule('promise')); - this.container.once('exit', function (code) { sendConsoleText('Border Process Exited with code: ' + code); this.parent.container = this.parent._container = null; }); - this.container.ExecuteString("var border = require('monitor-border'); border.Start();"); - } - } - this.Stop = function Stop() { - if (this.container != null) { - this._container = this.container; - this._container.parent = this; - this.container = null; - this._container.exit(); - } - } - } - obj.borderManager = new borderController(); - */ - - // MeshAgent JavaScript Core Module. This code is sent to and running on the mesh agent. - var meshCoreObj = { "action": "coreinfo", "value": "MeshCore v6", "caps": 14 }; // Capability bitmask: 1 = Desktop, 2 = Terminal, 4 = Files, 8 = Console, 16 = JavaScript, 32 = Temporary Agent, 64 = Recovery Agent - - // Get the operating system description string - try { require('os').name().then(function (v) { meshCoreObj.osdesc = v; }); } catch (ex) { } - - var meshServerConnectionState = 0; - var tunnels = {}; - var lastMeInfo = null; - var lastNetworkInfo = null; - var lastPublicLocationInfo = null; - var selfInfoUpdateTimer = null; - var http = require('http'); - var net = require('net'); - var fs = require('fs'); - var rtc = require('ILibWebRTC'); - var amt = null; - var processManager = require('process-manager'); - var wifiScannerLib = null; - var wifiScanner = null; - var networkMonitor = null; - var amtscanner = null; - var nextTunnelIndex = 1; - var amtPolicy = null; - var apftunnel = null; - - // Add to the server event log - function MeshServerLog(msg, state) { - if (typeof msg == 'string') { msg = { 'action': 'log', 'msg': msg }; } else { msg.action = 'log'; } - if (state) { - if (state.userid) { msg.userid = state.userid; } - if (state.username) { msg.username = state.username; } - if (state.sessionid) { msg.sessionid = state.sessionid; } - } - mesh.SendCommand(msg); - } - - // If we are running in Duktape, agent will be null - if (agent == null) { - // Running in native agent, Import libraries - db = require('SimpleDataStore').Shared(); - sha = require('SHA256Stream'); - mesh = require('MeshAgent'); - childProcess = require('child_process'); - if (mesh.hasKVM == 1) { // if the agent is compiled with KVM support - // Check if this computer supports a desktop - try { if ((process.platform == 'win32') || (process.platform == 'darwin') || (require('monitor-info').kvm_x11_support)) { meshCoreObj.caps |= 1; } } catch (ex) { } - } - } else { - // Running in nodejs - meshCoreObj.value += '-NodeJS'; - meshCoreObj.caps = 8; - mesh = agent.getMeshApi(); - } - - mesh.DAIPC = obj.DAIPC; - - /* - var AMTScanner = require("AMTScanner"); - var scan = new AMTScanner(); - - scan.on("found", function (data) { - if (typeof data === 'string') { - console.log(data); - } else { - console.log(JSON.stringify(data, null, " ")); - } - }); - scan.scan("10.2.55.140", 1000); - scan.scan("10.2.55.139-10.2.55.145", 1000); - scan.scan("10.2.55.128/25", 2000); - */ - - /* - // Try to load up the network monitor - try { - networkMonitor = require('NetworkMonitor'); - networkMonitor.on('change', function () { sendNetworkUpdateNagle(); }); - networkMonitor.on('add', function (addr) { sendNetworkUpdateNagle(); }); - networkMonitor.on('remove', function (addr) { sendNetworkUpdateNagle(); }); - } catch (e) { networkMonitor = null; } - */ - - // Try to load up the Intel AMT scanner - try { - var AMTScannerModule = require('amt-scanner'); - amtscanner = new AMTScannerModule(); - //amtscanner.on('found', function (data) { if (typeof data != 'string') { data = JSON.stringify(data, null, " "); } sendConsoleText(data); }); - } catch (ex) { amtscanner = null; } - - // Fetch the SMBios Tables - var SMBiosTables = null; - var SMBiosTablesRaw = null; - try { - var SMBiosModule = null; - try { SMBiosModule = require('smbios'); } catch (ex) { } - if (SMBiosModule != null) { - SMBiosModule.get(function (data) { - if (data != null) { - SMBiosTablesRaw = data; - SMBiosTables = require('smbios').parse(data) - if (mesh.isControlChannelConnected) { mesh.SendCommand({ "action": "smbios", "value": SMBiosTablesRaw }); } - - // If SMBios tables say that AMT is present, try to connect MEI - if (SMBiosTables.amtInfo && (SMBiosTables.amtInfo.AMT == true)) { - var amtmodule = require('amt-manage'); - amt = new amtmodule(mesh, db, true); - amt.onStateChange = function (state) { if (state == 2) { sendPeriodicServerUpdate(1); } } - if (amtPolicy != null) { amt.setPolicy(amtPolicy); } - amt.start(); - } - } - }); - } - } catch (ex) { sendConsoleText("ex1: " + ex); } - - // Try to load up the WIFI scanner - try { - var wifiScannerLib = require('wifi-scanner'); - wifiScanner = new wifiScannerLib(); - wifiScanner.on('accessPoint', function (data) { sendConsoleText("wifiScanner: " + data); }); - } catch (ex) { wifiScannerLib = null; wifiScanner = null; } - - // Get our location (lat/long) using our public IP address - var getIpLocationDataExInProgress = false; - var getIpLocationDataExCounts = [0, 0]; - function getIpLocationDataEx(func) { - if (getIpLocationDataExInProgress == true) { return false; } - try { - getIpLocationDataExInProgress = true; - getIpLocationDataExCounts[0]++; - var options = http.parseUri("http://ipinfo.io/json"); - options.method = 'GET'; - http.request(options, function (resp) { - if (resp.statusCode == 200) { - var geoData = ''; - resp.data = function (geoipdata) { geoData += geoipdata; }; - resp.end = function () { - var location = null; - try { - if (typeof geoData == 'string') { - var result = JSON.parse(geoData); - if (result.ip && result.loc) { location = result; } - } - } catch (e) { } - if (func) { getIpLocationDataExCounts[1]++; func(location); } - } - } else { func(null); } - getIpLocationDataExInProgress = false; - }).end(); - return true; - } - catch (e) { return false; } - } - - // Remove all Gateway MAC addresses for interface list. This is useful because the gateway MAC is not always populated reliably. - function clearGatewayMac(str) { - if (str == null) return null; - var x = JSON.parse(str); - for (var i in x.netif) { if (x.netif[i].gatewaymac) { delete x.netif[i].gatewaymac } } - return JSON.stringify(x); - } - - function getIpLocationData(func) { - // Get the location information for the cache if possible - var publicLocationInfo = db.Get('publicLocationInfo'); - if (publicLocationInfo != null) { publicLocationInfo = JSON.parse(publicLocationInfo); } - if (publicLocationInfo == null) { - // Nothing in the cache, fetch the data - getIpLocationDataEx(function (locationData) { - if (locationData != null) { - publicLocationInfo = {}; - publicLocationInfo.netInfoStr = lastNetworkInfo; - publicLocationInfo.locationData = locationData; - var x = db.Put('publicLocationInfo', JSON.stringify(publicLocationInfo)); // Save to database - if (func) func(locationData); // Report the new location - } else { - if (func) func(null); // Report no location - } - }); - } else { - // Check the cache - if (clearGatewayMac(publicLocationInfo.netInfoStr) == clearGatewayMac(lastNetworkInfo)) { - // Cache match - if (func) func(publicLocationInfo.locationData); - } else { - // Cache mismatch - getIpLocationDataEx(function (locationData) { - if (locationData != null) { - publicLocationInfo = {}; - publicLocationInfo.netInfoStr = lastNetworkInfo; - publicLocationInfo.locationData = locationData; - var x = db.Put('publicLocationInfo', JSON.stringify(publicLocationInfo)); // Save to database - if (func) func(locationData); // Report the new location - } else { - if (func) func(publicLocationInfo.locationData); // Can't get new location, report the old location - } - }); - } - } - } - - // Polyfill String.endsWith - if (!String.prototype.endsWith) { - String.prototype.endsWith = function (searchString, position) { - var subjectString = this.toString(); - if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) { position = subjectString.length; } - position -= searchString.length; - var lastIndex = subjectString.lastIndexOf(searchString, position); - return lastIndex !== -1 && lastIndex === position; - }; - } - - // Polyfill path.join - obj.path = { - join: function () { - var x = []; - for (var i in arguments) { - var w = arguments[i]; - if (w != null) { - while (w.endsWith('/') || w.endsWith('\\')) { w = w.substring(0, w.length - 1); } - if (i != 0) { - while (w.startsWith('/') || w.startsWith('\\')) { w = w.substring(1); } - } - x.push(w); - } - } - if (x.length == 0) return '/'; - return x.join('/'); - } - }; - - // Replace a string with a number if the string is an exact number - function toNumberIfNumber(x) { if ((typeof x == 'string') && (+parseInt(x) === x)) { x = parseInt(x); } return x; } - - // Convert decimal to hex - function char2hex(i) { return (i + 0x100).toString(16).substr(-2).toUpperCase(); } - - // Convert a raw string to a hex string - function rstr2hex(input) { var r = '', i; for (i = 0; i < input.length; i++) { r += char2hex(input.charCodeAt(i)); } return r; } - - // Convert a buffer into a string - function buf2rstr(buf) { var r = ''; for (var i = 0; i < buf.length; i++) { r += String.fromCharCode(buf[i]); } return r; } - - // Convert a hex string to a raw string // TODO: Do this using Buffer(), will be MUCH faster - function hex2rstr(d) { - if (typeof d != "string" || d.length == 0) return ''; - var r = '', m = ('' + d).match(/../g), t; - while (t = m.shift()) r += String.fromCharCode('0x' + t); - return r - } - - // Convert an object to string with all functions - function objToString(x, p, pad, ret) { - if (ret == undefined) ret = ''; - if (p == undefined) p = 0; - if (x == null) { return '[null]'; } - if (p > 8) { return '[...]'; } - if (x == undefined) { return '[undefined]'; } - if (typeof x == 'string') { if (p == 0) return x; return '"' + x + '"'; } - if (typeof x == 'buffer') { return '[buffer]'; } - if (typeof x != 'object') { return x; } - var r = '{' + (ret ? '\r\n' : ' '); - for (var i in x) { if (i != '_ObjectID') { r += (addPad(p + 2, pad) + i + ': ' + objToString(x[i], p + 2, pad, ret) + (ret ? '\r\n' : ' ')); } } - return r + addPad(p, pad) + '}'; - } - - // Return p number of spaces - function addPad(p, ret) { var r = ''; for (var i = 0; i < p; i++) { r += ret; } return r; } - - // Split a string taking into account the quoats. Used for command line parsing - function splitArgs(str) { - var myArray = [], myRegexp = /[^\s"]+|"([^"]*)"/gi; - do { var match = myRegexp.exec(str); if (match != null) { myArray.push(match[1] ? match[1] : match[0]); } } while (match != null); - return myArray; - } - - // Parse arguments string array into an object - function parseArgs(argv) { - var results = { '_': [] }, current = null; - for (var i = 1, len = argv.length; i < len; i++) { - var x = argv[i]; - if (x.length > 2 && x[0] == '-' && x[1] == '-') { - if (current != null) { results[current] = true; } - current = x.substring(2); - } else { - if (current != null) { results[current] = toNumberIfNumber(x); current = null; } else { results['_'].push(toNumberIfNumber(x)); } - } - } - if (current != null) { results[current] = true; } - return results; - } - - // Get server target url with a custom path - function getServerTargetUrl(path) { - var x = mesh.ServerUrl; - //sendConsoleText("mesh.ServerUrl: " + mesh.ServerUrl); - if (x == null) { return null; } - if (path == null) { path = ''; } - x = http.parseUri(x); - if (x == null) return null; - return x.protocol + '//' + x.host + ':' + x.port + '/' + path; - } - - // Get server url. If the url starts with "*/..." change it, it not use the url as is. - function getServerTargetUrlEx(url) { - if (url.substring(0, 2) == '*/') { return getServerTargetUrl(url.substring(2)); } - return url; - } - - // Send a wake-on-lan packet - function sendWakeOnLan(hexMac) { - var count = 0; - try { - var interfaces = require('os').networkInterfaces(); - var magic = 'FFFFFFFFFFFF'; - for (var x = 1; x <= 16; ++x) { magic += hexMac; } - var magicbin = Buffer.from(magic, 'hex'); - - for (var adapter in interfaces) { - if (interfaces.hasOwnProperty(adapter)) { - for (var i = 0; i < interfaces[adapter].length; ++i) { - var addr = interfaces[adapter][i]; - if ((addr.family == 'IPv4') && (addr.mac != '00:00:00:00:00:00')) { - var socket = require('dgram').createSocket({ type: "udp4" }); - socket.bind({ address: addr.address }); - socket.setBroadcast(true); - socket.send(magicbin, 7, "255.255.255.255"); - count++; - } - } - } - } - } catch (e) { } - return count; - } - - // Handle a mesh agent command - function handleServerCommand(data) { - if (typeof data == 'object') { - // If this is a console command, parse it and call the console handler - switch (data.action) { - case 'msg': { - switch (data.type) { - case 'console': { // Process a console command - if (data.value && data.sessionid) { - MeshServerLog('Processing console command: ' + data.value, data); - var args = splitArgs(data.value); - processConsoleCommand(args[0].toLowerCase(), parseArgs(args), data.rights, data.sessionid); - } - break; - } - case 'tunnel': { - if (data.value != null) { // Process a new tunnel connection request - // Create a new tunnel object - var xurl = getServerTargetUrlEx(data.value); - if (xurl != null) { - var woptions = http.parseUri(xurl); - woptions.rejectUnauthorized = 0; - //sendConsoleText(JSON.stringify(woptions)); - //sendConsoleText('TUNNEL: ' + JSON.stringify(data)); - var tunnel = http.request(woptions); - tunnel.upgrade = onTunnelUpgrade; - tunnel.on('error', function (e) { sendConsoleText('ERROR: ' + JSON.stringify(e)); }); - tunnel.sessionid = data.sessionid; - tunnel.rights = data.rights; - tunnel.consent = data.consent; - tunnel.username = data.username; - tunnel.userid = data.userid; - tunnel.remoteaddr = data.remoteaddr; - tunnel.state = 0; - tunnel.url = xurl; - tunnel.protocol = 0; - tunnel.tcpaddr = data.tcpaddr; - tunnel.tcpport = data.tcpport; - tunnel.udpaddr = data.udpaddr; - tunnel.udpport = data.udpport; - tunnel.end(); - // Put the tunnel in the tunnels list - var index = nextTunnelIndex++; - tunnel.index = index; - tunnels[index] = tunnel; - - //sendConsoleText('New tunnel connection #' + index + ': ' + tunnel.url + ', rights: ' + tunnel.rights, data.sessionid); - } - } - break; - } - case 'ps': { - // Return the list of running processes - if (data.sessionid) { - processManager.getProcesses(function (plist) { - mesh.SendCommand({ "action": "msg", "type": "ps", "value": JSON.stringify(plist), "sessionid": data.sessionid }); - }); - } - break; - } - case 'pskill': { - // Kill a process - if (data.value) { - MeshServerLog('Killing process ' + data.value, data); - try { process.kill(data.value); } catch (e) { sendConsoleText("pskill: " + JSON.stringify(e)); } - } - break; - } - case 'services': { - // Return the list of installed services - var services = null; - try { services = require('service-manager').manager.enumerateService(); } catch (e) { } - if (services != null) { mesh.SendCommand({ "action": "msg", "type": "services", "value": JSON.stringify(services), "sessionid": data.sessionid }); } - break; - } - case 'serviceStop': { - // Stop a service - try { - var service = require('service-manager').manager.getService(data.serviceName); - if (service != null) { service.stop(); } - } catch (e) { } - break; - } - case 'serviceStart': { - // Start a service - try { - var service = require('service-manager').manager.getService(data.serviceName); - if (service != null) { service.start(); } - } catch (e) { } - break; - } - case 'serviceRestart': { - // Restart a service - try { - var service = require('service-manager').manager.getService(data.serviceName); - if (service != null) { service.restart(); } - } catch (e) { } - break; - } - case 'openUrl': { - // Open a local web browser and return success/fail - MeshServerLog('Opening: ' + data.url, data); - sendConsoleText('OpenURL: ' + data.url); - if (data.url) { mesh.SendCommand({ "action": "msg", "type": "openUrl", "url": data.url, "sessionid": data.sessionid, "success": (openUserDesktopUrl(data.url) != null) }); } - break; - } - case 'getclip': { - // Send the load clipboard back to the user - //sendConsoleText('getClip: ' + JSON.stringify(data)); - if (require('MeshAgent').isService) { - require('clipboard').dispatchRead().then(function (str) { - if (str) { - MeshServerLog('Getting clipboard content, ' + str.length + ' byte(s)', data); - mesh.SendCommand({ "action": "msg", "type": "getclip", "sessionid": data.sessionid, "data": str }); - } - }); - } else { - require("clipboard").read().then(function (str) { - if (str) { - MeshServerLog('Getting clipboard content, ' + str.length + ' byte(s)', data); - mesh.SendCommand({ "action": "msg", "type": "getclip", "sessionid": data.sessionid, "data": str }); - } - }); - } - break; - } - case 'setclip': { - // Set the load clipboard to a user value - //sendConsoleText('setClip: ' + JSON.stringify(data)); - if (typeof data.data == 'string') { - MeshServerLog('Setting clipboard content, ' + data.data.length + ' byte(s)', data); - if (typeof data.data == 'string') { - if (require('MeshAgent').isService) { require('clipboard').dispatchWrite(data.data); } else { require("clipboard")(data.data); } // Set the clipboard - mesh.SendCommand({ "action": "msg", "type": "setclip", "sessionid": data.sessionid, "success": true }); - } - } - break; - } - default: - // Unknown action, ignore it. - break; - } - break; - } - case 'acmactivate': { - if (amt != null) { - MeshServerLog('Attempting Intel AMT ACM mode activation', data); - amt.setAcmResponse(data); - } - break; - } - case 'wakeonlan': { - // Send wake-on-lan on all interfaces for all MAC addresses in data.macs array. The array is a list of HEX MAC addresses. - sendConsoleText('Server requesting wake-on-lan for: ' + data.macs.join(', ')); - for (var i in data.macs) { sendWakeOnLan(data.macs[i]); } - break; - } - case 'poweraction': { - // Server telling us to execute a power action - if ((mesh.ExecPowerState != undefined) && (data.actiontype)) { - var forced = 0; - if (data.forced == 1) { forced = 1; } - data.actiontype = parseInt(data.actiontype); - MeshServerLog('Performing power action=' + data.actiontype + ', forced=' + forced, data); - sendConsoleText('Performing power action=' + data.actiontype + ', forced=' + forced + '.'); - var r = mesh.ExecPowerState(data.actiontype, forced); - sendConsoleText('ExecPowerState returned code: ' + r); - } - break; - } - case 'iplocation': { - // Update the IP location information of this node. Only do this when requested by the server since we have a limited amount of time we can call this per day - getIpLocationData(function (location) { mesh.SendCommand({ "action": "iplocation", "type": "publicip", "value": location }); }); - break; - } - case 'toast': { - // Display a toast message - if (data.title && data.msg) { - MeshServerLog('Displaying toast message, title=' + data.title + ', message=' + data.msg, data); - data.msg = data.msg.split('\r').join('\\r').split('\n').join('\\n'); - try { require('toaster').Toast(data.title, data.msg); } catch (ex) { } - } - break; - } - case 'openUrl': { - // Open a local web browser and return success/fail - //sendConsoleText('OpenURL: ' + data.url); - MeshServerLog('Opening: ' + data.url, data); - if (data.url) { mesh.SendCommand({ "action": "openUrl", "url": data.url, "sessionid": data.sessionid, "success": (openUserDesktopUrl(data.url) != null) }); } - break; - } - case 'amtPolicy': { - // Store the latest Intel AMT policy - amtPolicy = data.amtPolicy; - if (data.amtPolicy != null) { db.Put('amtPolicy', JSON.stringify(data.amtPolicy)); } else { db.Put('amtPolicy', null); } - if (amt != null) { amt.setPolicy(amtPolicy, true); } - break; - } - case 'getScript': { - // Received a configuration script from the server - sendConsoleText('getScript: ' + JSON.stringify(data)); - break; - } - case 'sysinfo': { - // Fetch system information - getSystemInformation(function (results) { - if ((results != null) && (data.hash != results.hash)) { mesh.SendCommand({ "action": "sysinfo", "sessionid": this.sessionid, "data": results }); } - }); - break; - } - case 'ping': { mesh.SendCommand('{"action":"pong"}'); break; } - case 'pong': { break; } - case 'plugin': { - if (typeof data.pluginaction == 'string') { - try { - MeshServerLog('Plugin called', data); - // Not yet implemented - // require(data.plugin.name).serveraction(data); - } catch (e) { - MeshServerLog('Error calling plugin', data); - } - } - break; - } - default: - // Unknown action, ignore it. - break; - } - } - } - - // Called when a file changed in the file system - /* - function onFileWatcher(a, b) { - console.log('onFileWatcher', a, b, this.path); - var response = getDirectoryInfo(this.path); - if ((response != undefined) && (response != null)) { this.tunnel.s.write(JSON.stringify(response)); } - } - */ - - function getSystemInformation(func) { - try { - var results = { hardware: require('identifiers').get() }; // Hardware info - if (results.hardware && results.hardware.windows) { - // Remove extra entries and things that change quickly - var x = results.hardware.windows.osinfo; - try { delete x.FreePhysicalMemory; } catch (ex) { } - try { delete x.FreeSpaceInPagingFiles; } catch (ex) { } - try { delete x.FreeVirtualMemory; } catch (ex) { } - try { delete x.LocalDateTime; } catch (ex) { } - try { delete x.MaxProcessMemorySize; } catch (ex) { } - try { delete x.TotalVirtualMemorySize; } catch (ex) { } - try { delete x.TotalVisibleMemorySize; } catch (ex) { } - try { - if (results.hardware.windows.memory) { for (var i in results.hardware.windows.memory) { delete results.hardware.windows.memory[i].Node; } } - 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) { } - } - if (process.platform == 'win32') { results.pendingReboot = require('win-info').pendingReboot(); } // Pending reboot - /* - if (process.platform == 'win32') { - var defragResult = function (r) { - if (typeof r == 'object') { results[this.callname] = r; } - if (this.callname == 'defrag') { - var pr = require('win-info').installedApps(); // Installed apps - pr.callname = 'installedApps'; - pr.sessionid = data.sessionid; - pr.then(defragResult, defragResult); - } - else { - results.winpatches = require('win-info').qfe(); // Windows patches - results.hash = require('SHA384Stream').create().syncHash(JSON.stringify(results)).toString('hex'); - func(results); - } - } - var pr = require('win-info').defrag({ volume: 'C:' }); // Defrag TODO - pr.callname = 'defrag'; - pr.sessionid = data.sessionid; - pr.then(defragResult, defragResult); - } else { - */ - results.hash = require('SHA384Stream').create().syncHash(JSON.stringify(results)).toString('hex'); - func(results); - //} - } catch (ex) { func(null, ex); } - } - - // Get a formated response for a given directory path - function getDirectoryInfo(reqpath) { - var response = { path: reqpath, dir: [] }; - if (((reqpath == undefined) || (reqpath == '')) && (process.platform == 'win32')) { - // List all the drives in the root, or the root itself - var results = null; - try { results = fs.readDrivesSync(); } catch (e) { } // TODO: Anyway to get drive total size and free space? Could draw a progress bar. - if (results != null) { - for (var i = 0; i < results.length; ++i) { - var drive = { n: results[i].name, t: 1 }; - if (results[i].type == 'REMOVABLE') { drive.dt = 'removable'; } // TODO: See if this is USB/CDROM or something else, we can draw icons. - response.dir.push(drive); - } - } - } else { - // List all the files and folders in this path - if (reqpath == '') { reqpath = '/'; } - var results = null, xpath = obj.path.join(reqpath, '*'); - //if (process.platform == "win32") { xpath = xpath.split('/').join('\\'); } - try { results = fs.readdirSync(xpath); } catch (e) { } - if (results != null) { - for (var i = 0; i < results.length; ++i) { - if ((results[i] != '.') && (results[i] != '..')) { - var stat = null, p = obj.path.join(reqpath, results[i]); - //if (process.platform == "win32") { p = p.split('/').join('\\'); } - try { stat = fs.statSync(p); } catch (e) { } // TODO: Get file size/date - if ((stat != null) && (stat != undefined)) { - if (stat.isDirectory() == true) { - response.dir.push({ n: results[i], t: 2, d: stat.mtime }); - } else { - response.dir.push({ n: results[i], t: 3, s: stat.size, d: stat.mtime }); - } - } - } - } - } - } - return response; - } - - // Tunnel callback operations - function onTunnelUpgrade(response, s, head) { - this.s = s; - s.httprequest = this; - s.end = onTunnelClosed; - s.tunnel = this; - - //sendConsoleText('onTunnelUpgrade - ' + this.tcpport + ' - ' + this.udpport); - - if (this.tcpport != null) { - // This is a TCP relay connection, pause now and try to connect to the target. - s.pause(); - s.data = onTcpRelayServerTunnelData; - var connectionOptions = { port: parseInt(this.tcpport) }; - if (this.tcpaddr != null) { connectionOptions.host = this.tcpaddr; } else { connectionOptions.host = '127.0.0.1'; } - s.tcprelay = net.createConnection(connectionOptions, onTcpRelayTargetTunnelConnect); - s.tcprelay.peerindex = this.index; - } if (this.udpport != null) { - // This is a UDP relay connection, get the UDP socket setup. // TODO: *************** - s.data = onUdpRelayServerTunnelData; - s.udprelay = require('dgram').createSocket({ type: 'udp4' }); - s.udprelay.bind({ port: 0 }); - s.udprelay.peerindex = this.index; - s.udprelay.on('message', onUdpRelayTargetTunnelConnect); - s.udprelay.udpport = this.udpport; - s.udprelay.udpaddr = this.udpaddr; - s.udprelay.first = true; - } else { - // This is a normal connect for KVM/Terminal/Files - s.data = onTunnelData; - } - } - - // Called when UDP relay data is received // TODO**** - function onUdpRelayTargetTunnelConnect(data) { - var peerTunnel = tunnels[this.peerindex]; - peerTunnel.s.write(data); - } - - // Called when we get data from the server for a TCP relay (We have to skip the first received 'c' and pipe the rest) - function onUdpRelayServerTunnelData(data) { - if (this.udprelay.first === true) { - delete this.udprelay.first; // Skip the first 'c' that is received. - } else { - this.udprelay.send(data, parseInt(this.udprelay.udpport), this.udprelay.udpaddr ? this.udprelay.udpaddr : '127.0.0.1'); - } - } - - // Called when the TCP relay target is connected - function onTcpRelayTargetTunnelConnect() { - var peerTunnel = tunnels[this.peerindex]; - this.pipe(peerTunnel.s); // Pipe Target --> Server - peerTunnel.s.first = true; - peerTunnel.s.resume(); - } - - // Called when we get data from the server for a TCP relay (We have to skip the first received 'c' and pipe the rest) - function onTcpRelayServerTunnelData(data) { - if (this.first == true) { this.first = false; this.pipe(this.tcprelay); } // Pipe Server --> Target - } - - function onTunnelClosed() { - if (tunnels[this.httprequest.index] == null) return; // Stop duplicate calls. - //sendConsoleText("Tunnel #" + this.httprequest.index + " closed.", this.httprequest.sessionid); - delete tunnels[this.httprequest.index]; - - /* - // Close the watcher if required - if (this.httprequest.watcher != undefined) { - //console.log('Closing watcher: ' + this.httprequest.watcher.path); - //this.httprequest.watcher.close(); // TODO: This line causes the agent to crash!!!! - delete this.httprequest.watcher; - } - */ - - // If there is a upload or download active on this connection, close the file - if (this.httprequest.uploadFile) { fs.closeSync(this.httprequest.uploadFile); this.httprequest.uploadFile = undefined; } - if (this.httprequest.downloadFile) { fs.closeSync(this.httprequest.downloadFile); this.httprequest.downloadFile = undefined; } - - // Clean up WebRTC - if (this.webrtc != null) { - if (this.webrtc.rtcchannel) { try { this.webrtc.rtcchannel.close(); } catch (e) { } this.webrtc.rtcchannel.removeAllListeners('data'); this.webrtc.rtcchannel.removeAllListeners('end'); delete this.webrtc.rtcchannel; } - if (this.webrtc.websocket) { delete this.webrtc.websocket; } - try { this.webrtc.close(); } catch (e) { } - this.webrtc.removeAllListeners('connected'); - this.webrtc.removeAllListeners('disconnected'); - this.webrtc.removeAllListeners('dataChannel'); - delete this.webrtc; - } - - // Clean up WebSocket - this.removeAllListeners('data'); - } - function onTunnelSendOk() { /*sendConsoleText("Tunnel #" + this.index + " SendOK.", this.sessionid);*/ } - function onTunnelData(data) { - //console.log("OnTunnelData"); - //sendConsoleText('OnTunnelData, ' + data.length + ', ' + typeof data + ', ' + data); - - // If this is upload data, save it to file - if (this.httprequest.uploadFile) { - try { fs.writeSync(this.httprequest.uploadFile, data); } catch (e) { this.write(new Buffer(JSON.stringify({ action: 'uploaderror' }))); return; } // Write to the file, if there is a problem, error out. - this.write(new Buffer(JSON.stringify({ action: 'uploadack', reqid: this.httprequest.uploadFileid }))); // Ask for more data - return; - } - /* - // If this is a download, send more of the file - if (this.httprequest.downloadFile) { - var buf = new Buffer(4096); - var len = fs.readSync(this.httprequest.downloadFile, buf, 0, 4096, null); - this.httprequest.downloadFilePtr += len; - if (len > 0) { this.write(buf.slice(0, len)); } else { fs.closeSync(this.httprequest.downloadFile); this.httprequest.downloadFile = undefined; this.end(); } - return; - } - */ - - if (this.httprequest.state == 0) { - // Check if this is a relay connection - if ((data == 'c') || (data == 'cr')) { this.httprequest.state = 1; /*sendConsoleText("Tunnel #" + this.httprequest.index + " now active", this.httprequest.sessionid);*/ } - } else { - // Handle tunnel data - if (this.httprequest.protocol == 0) { // 1 = Terminal, 2 = Desktop, 5 = Files, 6 = PowerShell - // Take a look at the protocol - this.httprequest.protocol = parseInt(data); - if (typeof this.httprequest.protocol != 'number') { this.httprequest.protocol = 0; } - if ((this.httprequest.protocol == 1) || (this.httprequest.protocol == 6)) { - // Check user access rights for terminal - if (((this.httprequest.rights & MESHRIGHT_REMOTECONTROL) == 0) || ((this.httprequest.rights != 0xFFFFFFFF) && ((this.httprequest.rights & MESHRIGHT_NOTERMINAL) != 0))) { - // Disengage this tunnel, user does not have the rights to do this!! - this.httprequest.protocol = 999999; - this.httprequest.s.end(); - sendConsoleText('Error: No Terminal Control Rights.'); - return; - } - - this.end = function () { - if (process.platform == "win32") { - // Unpipe the web socket - this.unpipe(this.httprequest._term); - if (this.httprequest._term) { this.httprequest._term.unpipe(this); } - - // Unpipe the WebRTC channel if needed (This will also be done when the WebRTC channel ends). - if (this.rtcchannel) { - this.rtcchannel.unpipe(this.httprequest._term); - if (this.httprequest._term) { this.httprequest._term.unpipe(this.rtcchannel); } - } - - // Clean up - if (this.httprequest._term) { this.httprequest._term.end(); } - this.httprequest._term = null; - } else { - // TODO!! - } - }; - - // Remote terminal using native pipes - if (process.platform == "win32") { - try { - if ((this.httprequest.protocol == 6) && (require('win-terminal').PowerShellCapable() == true)) { - this.httprequest._term = require('win-terminal').StartPowerShell(80, 25); - } else { - this.httprequest._term = require('win-terminal').Start(80, 25); - } - } - catch (e) { - MeshServerLog('Failed to start remote terminal session, ' + e.toString() + ' (' + this.httprequest.remoteaddr + ')', this.httprequest); - this.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: e.toString() })); - this.end(); - return; - } - this.httprequest._term.pipe(this, { dataTypeSkip: 1 }); - this.pipe(this.httprequest._term, { dataTypeSkip: 1, end: false }); - this.prependListener('end', function () { this.httprequest._term.end(function () { console.log('Terminal was closed'); }); }); - } else { - if (fs.existsSync("/bin/bash")) { - this.httprequest.process = childProcess.execFile("/bin/bash", ["bash", "-i"], { type: childProcess.SpawnTypes.TERM }); - if (process.platform == 'linux') { this.httprequest.process.stdin.write("alias ls='ls --color=auto'\nclear\n"); } - } else { - this.httprequest.process = childProcess.execFile("/bin/sh", ["sh"], { type: childProcess.SpawnTypes.TERM }); - if (process.platform == 'linux') { this.httprequest.process.stdin.write("stty erase ^H\nalias ls='ls --color=auto'\nPS1='\\u@\\h:\\w\\$ '\nclear\n"); } - } - this.httprequest.process.tunnel = this; - this.httprequest.process.on('exit', function (ecode, sig) { this.tunnel.end(); }); - this.httprequest.process.stderr.on('data', function (chunk) { this.parent.tunnel.write(chunk); }); - this.httprequest.process.stdout.pipe(this, { dataTypeSkip: 1 }); // 0 = Binary, 1 = Text. - this.pipe(this.httprequest.process.stdin, { dataTypeSkip: 1, end: false }); // 0 = Binary, 1 = Text. - this.prependListener('end', function () { this.httprequest.process.kill(); }); - } - - // Perform notification if needed. Toast messages may not be supported on all platforms. - if (this.httprequest.consent && (this.httprequest.consent & 16)) { - // User Consent Prompt is required - // Send a console message back using the console channel, "\n" is supported. - this.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: 'Waiting for user to grant access...' })); - var pr = require('message-box').create('MeshCentral', this.httprequest.username + ' requesting Terminal Access. Grant access?', 30); - pr.ws = this; - this.pause(); - - pr.then( - function () { - // Success - MeshServerLog('Starting remote terminal after local user accepted (' + this.ws.httprequest.remoteaddr + ')', this.ws.httprequest); - this.ws.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: null })); - if (this.ws.httprequest.consent && (this.ws.httprequest.consent & 2)) { - // User Notifications is required - try { require('toaster').Toast('MeshCentral', this.ws.httprequest.username + ' started a remote terminal session.'); } catch (ex) { } - } - this.ws.resume(); - }, - function (e) { - // User Consent Denied/Failed - MeshServerLog('Failed to start remote terminal after local user rejected (' + this.ws.httprequest.remoteaddr + ')', this.ws.httprequest); - this.ws.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: e.toString() })); - this.ws.end(); - }); - } else { - // User Consent Prompt is not required - if (this.httprequest.consent && (this.httprequest.consent & 2)) { - // User Notifications is required - MeshServerLog('Started remote terminal with toast notification (' + this.httprequest.remoteaddr + ')', this.httprequest); - try { require('toaster').Toast('MeshCentral', this.httprequest.username + ' started a remote terminal session.'); } catch (ex) { } - } else { - MeshServerLog('Started remote terminal without notification (' + this.httprequest.remoteaddr + ')', this.httprequest); - } - this.resume(); - } - - this.removeAllListeners('data'); - this.on('data', onTunnelControlData); - //this.write('MeshCore Terminal Hello'); - } else if (this.httprequest.protocol == 2) { - // Check user access rights for desktop - if (((this.httprequest.rights & MESHRIGHT_REMOTECONTROL) == 0) && ((this.httprequest.rights & MESHRIGHT_REMOTEVIEW) == 0)) { - // Disengage this tunnel, user does not have the rights to do this!! - this.httprequest.protocol = 999999; - this.httprequest.s.end(); - sendConsoleText('Error: No Desktop Control Rights.'); - return; - } - - - // Remote desktop using native pipes - this.httprequest.desktop = { state: 0, kvm: mesh.getRemoteDesktopStream(), tunnel: this }; - this.httprequest.desktop.kvm.parent = this.httprequest.desktop; - this.desktop = this.httprequest.desktop; - - this.end = function () - { - --this.desktop.kvm.connectionCount; - - // Unpipe the web socket - this.unpipe(this.httprequest.desktop.kvm); - this.httprequest.desktop.kvm.unpipe(this); - - // Unpipe the WebRTC channel if needed (This will also be done when the WebRTC channel ends). - if (this.rtcchannel) { - this.rtcchannel.unpipe(this.httprequest.desktop.kvm); - this.httprequest.desktop.kvm.unpipe(this.rtcchannel); - } - - if (this.desktop.kvm.connectionCount == 0) - { - // Display a toast message. This may not be supported on all platforms. - // try { require('toaster').Toast('MeshCentral', 'Remote Desktop Control Ended.'); } catch (ex) { } - - this.httprequest.desktop.kvm.end(); - if(this.httprequest.desktop.kvm.connectionBar) - { - this.httprequest.desktop.kvm.connectionBar.removeAllListeners('close'); - this.httprequest.desktop.kvm.connectionBar.close(); - this.httprequest.desktop.kvm.connectionBar = null; - } - } - else - { - for(var i in this.httprequest.desktop.kvm.users) - { - if(this.httprequest.desktop.kvm.users[i] == this.httprequest.username) - { - this.httprequest.desktop.kvm.users.splice(i, 1); - this.httprequest.desktop.kvm.connectionBar.removeAllListeners('close'); - this.httprequest.desktop.kvm.connectionBar.close(); - - this.httprequest.desktop.kvm.connectionBar = require('notifybar-desktop')('Sharing desktop with: ' + this.httprequest.desktop.kvm.users.sort().join(', ')); - this.httprequest.desktop.kvm.connectionBar.httprequest = this.httprequest; - this.httprequest.desktop.kvm.connectionBar.on('close', function () - { - MeshServerLog('Remote Desktop Connection forcefully closed by local user (' + this.httprequest.remoteaddr + ')', this.httprequest); - for (var i in this.httprequest.desktop.kvm._pipedStreams) - { - this.httprequest.desktop.kvm._pipedStreams[i].end(); - } - this.httprequest.desktop.kvm.end(); - }); - break; - } - } - } - }; - if (this.httprequest.desktop.kvm.hasOwnProperty("connectionCount")) - { - this.httprequest.desktop.kvm.connectionCount++; - this.httprequest.desktop.kvm.users.push(this.httprequest.username); - } - else - { - this.httprequest.desktop.kvm.connectionCount = 1; - this.httprequest.desktop.kvm.users = [this.httprequest.username]; - } - - if ((this.httprequest.rights == 0xFFFFFFFF) || (((this.httprequest.rights & MESHRIGHT_REMOTECONTROL) != 0) && ((this.httprequest.rights & MESHRIGHT_REMOTEVIEW) == 0))) { - // If we have remote control rights, pipe the KVM input - this.pipe(this.httprequest.desktop.kvm, { dataTypeSkip: 1, end: false }); // 0 = Binary, 1 = Text. Pipe the Browser --> KVM input. - } else { - // We need to only pipe non-mouse & non-keyboard inputs. - //sendConsoleText('Warning: No Remote Desktop Input Rights.'); - // TODO!!! - } - - // Perform notification if needed. Toast messages may not be supported on all platforms. - if (this.httprequest.consent && (this.httprequest.consent & 8)) { - // User Consent Prompt is required - // Send a console message back using the console channel, "\n" is supported. - this.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: 'Waiting for user to grant access...' })); - var pr = require('message-box').create('MeshCentral', this.httprequest.username + ' requesting KVM Access. Grant access?', 30); - pr.ws = this; - this.pause(); - - pr.then( - function () { - // Success - MeshServerLog('Starting remote desktop after local user accepted (' + this.ws.httprequest.remoteaddr + ')', this.ws.httprequest); - this.ws.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: null })); - if (this.ws.httprequest.consent && (this.ws.httprequest.consent & 1)) - { - // User Notifications is required - try { require('toaster').Toast('MeshCentral', this.ws.httprequest.username + ' started a remote desktop session.'); } catch (ex) { } - } - if (this.ws.httprequest.consent && (this.ws.httprequest.consent & 0x40)) - { - // Connection Bar is required - MeshServerLog('Remote Desktop Connection Bar Activated/Updated (' + this.ws.httprequest.remoteaddr + ')', this.ws.httprequest); - if (this.ws.httprequest.desktop.kvm.connectionBar) - { - this.ws.httprequest.desktop.kvm.connectionBar.removeAllListeners('close'); - this.ws.httprequest.desktop.kvm.connectionBar.close(); - } - this.ws.httprequest.desktop.kvm.connectionBar = require('notifybar-desktop')('Sharing desktop with: ' + this.ws.httprequest.desktop.kvm.users.sort().join(', ')); - this.ws.httprequest.desktop.kvm.connectionBar.httprequest = this.ws.httprequest; - this.ws.httprequest.desktop.kvm.connectionBar.on('close', function () - { - MeshServerLog('Remote Desktop Connection forcefully closed by local user (' + this.httprequest.remoteaddr + ')', this.httprequest); - for (var i in this.httprequest.desktop.kvm._pipedStreams) - { - this.httprequest.desktop.kvm._pipedStreams[i].end(); - } - this.httprequest.desktop.kvm.end(); - }); - } - this.ws.httprequest.desktop.kvm.pipe(this.ws, { dataTypeSkip: 1 }); - this.ws.resume(); - }, - function (e) { - // User Consent Denied/Failed - MeshServerLog('Failed to start remote desktop after local user rejected (' + this.ws.httprequest.remoteaddr + ')', this.ws.httprequest); - this.ws.end(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: e.toString() })); - }); - } - else { - // User Consent Prompt is not required - if (this.httprequest.consent && (this.httprequest.consent & 1)) - { - // User Notifications is required - MeshServerLog('Started remote desktop with toast notification (' + this.httprequest.remoteaddr + ')', this.httprequest); - try { require('toaster').Toast('MeshCentral', this.httprequest.username + ' started a remote desktop session.'); } catch (ex) { } - } else - { - MeshServerLog('Started remote desktop without notification (' + this.httprequest.remoteaddr + ')', this.httprequest); - } - if (this.httprequest.consent && (this.httprequest.consent & 0x40)) - { - // Connection Bar is required - MeshServerLog('Remote Desktop Connection Bar Activated/Updated (' + this.httprequest.remoteaddr + ')', this.httprequest); - if(this.httprequest.desktop.kvm.connectionBar) - { - this.httprequest.desktop.kvm.connectionBar.removeAllListeners('close'); - this.httprequest.desktop.kvm.connectionBar.close(); - } - this.httprequest.desktop.kvm.connectionBar = require('notifybar-desktop')('Sharing desktop with: ' + this.httprequest.desktop.kvm.users.sort().join(', ')); - this.httprequest.desktop.kvm.connectionBar.httprequest = this.httprequest; - this.httprequest.desktop.kvm.connectionBar.on('close', function () - { - MeshServerLog('Remote Desktop Connection forcefully closed by local user (' + this.httprequest.remoteaddr + ')', this.httprequest); - for (var i in this.httprequest.desktop.kvm._pipedStreams) - { - this.httprequest.desktop.kvm._pipedStreams[i].end(); - } - this.httprequest.desktop.kvm.end(); - }); - } - this.httprequest.desktop.kvm.pipe(this, { dataTypeSkip: 1 }); - } - - this.removeAllListeners('data'); - this.on('data', onTunnelControlData); - //this.write('MeshCore KVM Hello!1'); - - } else if (this.httprequest.protocol == 5) { - - // Check user access rights for files - if (((this.httprequest.rights & MESHRIGHT_REMOTECONTROL) == 0) || ((this.httprequest.rights != 0xFFFFFFFF) && ((this.httprequest.rights & MESHRIGHT_NOFILES) != 0))) { - // Disengage this tunnel, user does not have the rights to do this!! - this.httprequest.protocol = 999999; - this.httprequest.s.end(); - sendConsoleText('Error: No files control rights.'); - return; - } - - // Perform notification if needed. Toast messages may not be supported on all platforms. - if (this.httprequest.consent && (this.httprequest.consent & 32)) { - // User Consent Prompt is required - // Send a console message back using the console channel, "\n" is supported. - this.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: 'Waiting for user to grant access...' })); - var pr = require('message-box').create('MeshCentral', this.httprequest.username + ' requesting remote file access. Grant access?', 30); - pr.ws = this; - this.pause(); - - pr.then( - function () { - // Success - MeshServerLog('Starting remote files after local user accepted (' + this.ws.httprequest.remoteaddr + ')', this.ws.httprequest); - this.ws.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: null })); - if (this.ws.httprequest.consent && (this.ws.httprequest.consent & 4)) { - // User Notifications is required - try { require('toaster').Toast('MeshCentral', this.ws.httprequest.username + ' started a remote file session.'); } catch (ex) { } - } - this.ws.resume(); - }, - function (e) { - // User Consent Denied/Failed - MeshServerLog('Failed to start remote files after local user rejected (' + this.ws.httprequest.remoteaddr + ')', this.ws.httprequest); - this.ws.end(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: e.toString() })); - }); - } else { - // User Consent Prompt is not required - if (this.httprequest.consent && (this.httprequest.consent & 4)) { - // User Notifications is required - MeshServerLog('Started remote files with toast notification (' + this.httprequest.remoteaddr + ')', this.httprequest); - try { require('toaster').Toast('MeshCentral', this.httprequest.username + ' started a remote file session.'); } catch (ex) { } - } else { - MeshServerLog('Started remote files without notification (' + this.httprequest.remoteaddr + ')', this.httprequest); - } - this.resume(); - } - - // Setup files - // NOP - } - } else if (this.httprequest.protocol == 1) { - // Send data into terminal stdin - //this.write(data); // Echo back the keys (Does not seem to be a good idea) - } else if (this.httprequest.protocol == 2) { - // Send data into remote desktop - if (this.httprequest.desktop.state == 0) { - this.write(new Buffer(String.fromCharCode(0x11, 0xFE, 0x00, 0x00, 0x4D, 0x45, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0x02))); - this.httprequest.desktop.state = 1; - } else { - this.httprequest.desktop.write(data); - } - } else if (this.httprequest.protocol == 5) { - // Process files commands - var cmd = null; - try { cmd = JSON.parse(data); } catch (e) { }; - if (cmd == null) { return; } - if ((cmd.ctrlChannel == '102938') || ((cmd.type == 'offer') && (cmd.sdp != null))) { onTunnelControlData(cmd, this); return; } // If this is control data, handle it now. - if (cmd.action == undefined) { return; } - //sendConsoleText('CMD: ' + JSON.stringify(cmd)); - - if ((cmd.path != null) && (process.platform != 'win32') && (cmd.path[0] != '/')) { cmd.path = '/' + cmd.path; } // Add '/' to paths on non-windows - //console.log(objToString(cmd, 0, ' ')); - switch (cmd.action) { - case 'ls': { - /* - // Close the watcher if required - var samepath = ((this.httprequest.watcher != undefined) && (cmd.path == this.httprequest.watcher.path)); - if ((this.httprequest.watcher != undefined) && (samepath == false)) { - //console.log('Closing watcher: ' + this.httprequest.watcher.path); - //this.httprequest.watcher.close(); // TODO: This line causes the agent to crash!!!! - delete this.httprequest.watcher; - } - */ - - // Send the folder content to the browser - var response = getDirectoryInfo(cmd.path); - if (cmd.reqid != undefined) { response.reqid = cmd.reqid; } - this.write(new Buffer(JSON.stringify(response))); - - /* - // Start the directory watcher - if ((cmd.path != '') && (samepath == false)) { - var watcher = fs.watch(cmd.path, onFileWatcher); - watcher.tunnel = this.httprequest; - watcher.path = cmd.path; - this.httprequest.watcher = watcher; - //console.log('Starting watcher: ' + this.httprequest.watcher.path); - } - */ - break; - } - case 'mkdir': { - // Create a new empty folder - fs.mkdirSync(cmd.path); - MeshServerLog('Create folder: \"' + cmd.path + '\"', this.httprequest); - break; - } - case 'rm': { - // Delete, possibly recursive delete - for (var i in cmd.delfiles) { - var p = obj.path.join(cmd.path, cmd.delfiles[i]), delcount = 0; - try { delcount = deleteFolderRecursive(p, cmd.rec); } catch (e) { } - if ((delcount == 1) && !cmd.rec) { - MeshServerLog('Delete: \"' + p + '\"', this.httprequest); - } else { - MeshServerLog((cmd.rec ? 'Delete recursive: \"' : 'Delete: \"') + p + '\", ' + delcount + ' element(s) removed', this.httprequest); - } - } - break; - } - case 'rename': { - // Rename a file or folder - var oldfullpath = obj.path.join(cmd.path, cmd.oldname); - var newfullpath = obj.path.join(cmd.path, cmd.newname); - MeshServerLog('Rename: \"' + oldfullpath + '\" to \"' + cmd.newname + '\"', this.httprequest); - try { fs.renameSync(oldfullpath, newfullpath); } catch (e) { console.log(e); } - break; - } - case 'download': { - // Download a file - var sendNextBlock = 0; - if (cmd.sub == 'start') { // Setup the download - MeshServerLog('Download: \"' + cmd.path + '\"', this.httprequest); - if (this.filedownload != null) { this.write({ action: 'download', sub: 'cancel', id: this.filedownload.id }); delete this.filedownload; } - this.filedownload = { id: cmd.id, path: cmd.path, ptr: 0 } - try { this.filedownload.f = fs.openSync(this.filedownload.path, 'rbN'); } catch (e) { this.write({ action: 'download', sub: 'cancel', id: this.filedownload.id }); delete this.filedownload; } - if (this.filedownload) { this.write({ action: 'download', sub: 'start', id: cmd.id }); } - } else if ((this.filedownload != null) && (cmd.id == this.filedownload.id)) { // Download commands - if (cmd.sub == 'startack') { sendNextBlock = 8; } else if (cmd.sub == 'stop') { delete this.filedownload; } else if (cmd.sub == 'ack') { sendNextBlock = 1; } - } - // Send the next download block(s) - while (sendNextBlock > 0) { - sendNextBlock--; - var buf = new Buffer(4096); - var len = fs.readSync(this.filedownload.f, buf, 4, 4092, null); - this.filedownload.ptr += len; - if (len < 4092) { buf.writeInt32BE(0x01000001, 0); fs.closeSync(this.filedownload.f); delete this.filedownload; sendNextBlock = 0; } else { buf.writeInt32BE(0x01000000, 0); } - this.write(buf.slice(0, len + 4)); // Write as binary - } - break; - } - /* - case 'download': { - // Packet download of a file, agent to browser - if (cmd.path == undefined) break; - var filepath = cmd.name ? obj.path.join(cmd.path, cmd.name) : cmd.path; - //console.log('Download: ' + filepath); - try { this.httprequest.downloadFile = fs.openSync(filepath, 'rbN'); } catch (e) { this.write(new Buffer(JSON.stringify({ action: 'downloaderror', reqid: cmd.reqid }))); break; } - this.httprequest.downloadFileId = cmd.reqid; - this.httprequest.downloadFilePtr = 0; - if (this.httprequest.downloadFile) { this.write(new Buffer(JSON.stringify({ action: 'downloadstart', reqid: this.httprequest.downloadFileId }))); } - break; - } - case 'download2': { - // Stream download of a file, agent to browser - if (cmd.path == undefined) break; - var filepath = cmd.name ? obj.path.join(cmd.path, cmd.name) : cmd.path; - try { this.httprequest.downloadFile = fs.createReadStream(filepath, { flags: 'rbN' }); } catch (e) { console.log(e); } - this.httprequest.downloadFile.pipe(this); - this.httprequest.downloadFile.end = function () { } - break; - } - */ - case 'upload': { - // Upload a file, browser to agent - if (this.httprequest.uploadFile != undefined) { fs.closeSync(this.httprequest.uploadFile); this.httprequest.uploadFile = undefined; } - if (cmd.path == undefined) break; - var filepath = cmd.name ? obj.path.join(cmd.path, cmd.name) : cmd.path; - MeshServerLog('Upload: \"' + filepath + '\"', this.httprequest); - try { this.httprequest.uploadFile = fs.openSync(filepath, 'wbN'); } catch (e) { this.write(new Buffer(JSON.stringify({ action: 'uploaderror', reqid: cmd.reqid }))); break; } - this.httprequest.uploadFileid = cmd.reqid; - if (this.httprequest.uploadFile) { this.write(new Buffer(JSON.stringify({ action: 'uploadstart', reqid: this.httprequest.uploadFileid }))); } - break; - } - case 'copy': { - // Copy a bunch of files from scpath to dspath - for (var i in cmd.names) { - var sc = obj.path.join(cmd.scpath, cmd.names[i]), ds = obj.path.join(cmd.dspath, cmd.names[i]); - MeshServerLog('Copy: \"' + sc + '\" to \"' + ds + '\"', this.httprequest); - if (sc != ds) { try { fs.copyFileSync(sc, ds); } catch (e) { } } - } - break; - } - case 'move': { - // Move a bunch of files from scpath to dspath - for (var i in cmd.names) { - var sc = obj.path.join(cmd.scpath, cmd.names[i]), ds = obj.path.join(cmd.dspath, cmd.names[i]); - MeshServerLog('Move: \"' + sc + '\" to \"' + ds + '\"', this.httprequest); - if (sc != ds) { try { fs.copyFileSync(sc, ds); fs.unlinkSync(sc); } catch (e) { } } - } - break; - } - default: - // Unknown action, ignore it. - break; - } - } else if (this.httprequest.protocol == 7) { // plugin data exchange - var cmd = null; - try { cmd = JSON.parse(data); } catch (e) { }; - if (cmd == null) { return; } - if ((cmd.ctrlChannel == '102938') || ((cmd.type == 'offer') && (cmd.sdp != null))) { onTunnelControlData(cmd, this); return; } // If this is control data, handle it now. - if (cmd.action == undefined) return; - - switch (cmd.action) { - case 'plugin': { - try { require(cmd.plugin).consoleaction(cmd, null, null, this); } catch (e) { throw e; } - break; - } - default: { - // probably shouldn't happen, but just in case this feature is expanded - } - } - - } - //sendConsoleText("Got tunnel #" + this.httprequest.index + " data: " + data, this.httprequest.sessionid); - } - } - - // Delete a directory with a files and directories within it - function deleteFolderRecursive(path, rec) { - var count = 0; - if (fs.existsSync(path)) { - if (rec == true) { - fs.readdirSync(obj.path.join(path, '*')).forEach(function (file, index) { - var curPath = obj.path.join(path, file); - if (fs.statSync(curPath).isDirectory()) { // recurse - count += deleteFolderRecursive(curPath, true); - } else { // delete file - fs.unlinkSync(curPath); - count++; - } - }); - } - fs.unlinkSync(path); - count++; - } - return count; - }; - - // Called when receiving control data on WebRTC - function onTunnelWebRTCControlData(data) { - if (typeof data != 'string') return; - var obj; - try { obj = JSON.parse(data); } catch (e) { sendConsoleText('Invalid control JSON on WebRTC: ' + data); return; } - if (obj.type == 'close') { - //sendConsoleText('Tunnel #' + this.xrtc.websocket.tunnel.index + ' WebRTC control close'); - try { this.close(); } catch (e) { } - try { this.xrtc.close(); } catch (e) { } - } - } - - // Called when receiving control data on websocket - function onTunnelControlData(data, ws) { - var obj; - if (ws == null) { ws = this; } - if (typeof data == 'string') { try { obj = JSON.parse(data); } catch (e) { sendConsoleText('Invalid control JSON: ' + data); return; } } - else if (typeof data == 'object') { obj = data; } else { return; } - //sendConsoleText('onTunnelControlData(' + ws.httprequest.protocol + '): ' + JSON.stringify(data)); - //console.log('onTunnelControlData: ' + JSON.stringify(data)); - - if (obj.action) { - switch (obj.action) { - case 'lock': { - // Lock the current user out of the desktop - try { - if (process.platform == 'win32') { - MeshServerLog('Locking remote user out of desktop', ws.httprequest); - var child = require('child_process'); - child.execFile(process.env['windir'] + '\\system32\\cmd.exe', ['/c', 'RunDll32.exe user32.dll,LockWorkStation'], { type: 1 }); - } - } catch (e) { } - break; - } - default: - // Unknown action, ignore it. - break; - } - return; - } - - if (obj.type == 'close') { - // We received the close on the websocket - //sendConsoleText('Tunnel #' + ws.tunnel.index + ' WebSocket control close'); - try { ws.close(); } catch (e) { } - } else if (obj.type == 'webrtc0') { // Browser indicates we can start WebRTC switch-over. - if (ws.httprequest.protocol == 1) { // Terminal - // This is a terminal data stream, unpipe the terminal now and indicate to the other side that terminal data will no longer be received over WebSocket - if (process.platform == 'win32') { - ws.httprequest._term.unpipe(ws); - } - else { - ws.httprequest.process.stdout.unpipe(ws); - ws.httprequest.process.stderr.unpipe(ws); - } - } else if (ws.httprequest.protocol == 2) { // Desktop - // This is a KVM data stream, unpipe the KVM now and indicate to the other side that KVM data will no longer be received over WebSocket - ws.httprequest.desktop.kvm.unpipe(ws); - } else { - // Switch things around so all WebRTC data goes to onTunnelData(). - ws.rtcchannel.httprequest = ws.httprequest; - ws.rtcchannel.removeAllListeners('data'); - ws.rtcchannel.on('data', onTunnelData); - } - ws.write("{\"ctrlChannel\":\"102938\",\"type\":\"webrtc1\"}"); // End of data marker - } else if (obj.type == 'webrtc1') { - if ((ws.httprequest.protocol == 1) || (ws.httprequest.protocol == 6)) { // Terminal - // Switch the user input from websocket to webrtc at this point. - if (process.platform == 'win32') { - ws.unpipe(ws.httprequest._term); - ws.rtcchannel.pipe(ws.httprequest._term, { dataTypeSkip: 1 }); // 0 = Binary, 1 = Text. - } - else { - ws.unpipe(ws.httprequest.process.stdin); - ws.rtcchannel.pipe(ws.httprequest.process.stdin, { dataTypeSkip: 1 }); // 0 = Binary, 1 = Text. - } - ws.resume(); // Resume the websocket to keep receiving control data - } else if (ws.httprequest.protocol == 2) { // Desktop - // Switch the user input from websocket to webrtc at this point. - ws.unpipe(ws.httprequest.desktop.kvm); - try { ws.webrtc.rtcchannel.pipe(ws.httprequest.desktop.kvm, { dataTypeSkip: 1, end: false }); } catch (e) { sendConsoleText('EX2'); } // 0 = Binary, 1 = Text. - ws.resume(); // Resume the websocket to keep receiving control data - } - ws.write("{\"ctrlChannel\":\"102938\",\"type\":\"webrtc2\"}"); // Indicates we will no longer get any data on websocket, switching to WebRTC at this point. - } else if (obj.type == 'webrtc2') { - // Other side received websocket end of data marker, start sending data on WebRTC channel - if ((ws.httprequest.protocol == 1) || (ws.httprequest.protocol == 6)) { // Terminal - if (process.platform == 'win32') { - ws.httprequest._term.pipe(ws.webrtc.rtcchannel, { dataTypeSkip: 1, end: false }); // 0 = Binary, 1 = Text. - } - else { - ws.httprequest.process.stdout.pipe(ws.webrtc.rtcchannel, { dataTypeSkip: 1, end: false }); // 0 = Binary, 1 = Text. - ws.httprequest.process.stderr.pipe(ws.webrtc.rtcchannel, { dataTypeSkip: 1, end: false }); // 0 = Binary, 1 = Text. - } - } else if (ws.httprequest.protocol == 2) { // Desktop - ws.httprequest.desktop.kvm.pipe(ws.webrtc.rtcchannel, { dataTypeSkip: 1 }); // 0 = Binary, 1 = Text. - } - } else if (obj.type == 'offer') { - // This is a WebRTC offer. - if ((ws.httprequest.protocol == 1) || (ws.httprequest.protocol == 6)) return; // TODO: Terminal is currently broken with WebRTC. Reject WebRTC upgrade for now. - ws.webrtc = rtc.createConnection(); - ws.webrtc.websocket = ws; - ws.webrtc.on('connected', function () { /*sendConsoleText('Tunnel #' + this.websocket.tunnel.index + ' WebRTC connected');*/ }); - ws.webrtc.on('disconnected', function () { /*sendConsoleText('Tunnel #' + this.websocket.tunnel.index + ' WebRTC disconnected');*/ }); - ws.webrtc.on('dataChannel', function (rtcchannel) { - //sendConsoleText('WebRTC Datachannel open, protocol: ' + this.websocket.httprequest.protocol); - rtcchannel.xrtc = this; - rtcchannel.websocket = this.websocket; - this.rtcchannel = rtcchannel; - this.websocket.rtcchannel = rtcchannel; - this.websocket.rtcchannel.on('data', onTunnelWebRTCControlData); - this.websocket.rtcchannel.on('end', function () { - // The WebRTC channel closed, unpipe the KVM now. This is also done when the web socket closes. - //sendConsoleText('Tunnel #' + this.websocket.tunnel.index + ' WebRTC data channel closed'); - if (this.websocket.desktop && this.websocket.desktop.kvm) { - this.unpipe(this.websocket.desktop.kvm); - this.websocket.httprequest.desktop.kvm.unpipe(this); - } - }); - this.websocket.write("{\"ctrlChannel\":\"102938\",\"type\":\"webrtc0\"}"); // Indicate we are ready for WebRTC switch-over. - }); - var sdp = null; - try { sdp = ws.webrtc.setOffer(obj.sdp); } catch (ex) { } - if (sdp != null) { ws.write({ type: 'answer', ctrlChannel: '102938', sdp: sdp }); } - } - } - - // Console state - var consoleWebSockets = {}; - var consoleHttpRequest = null; - - // Console HTTP response - function consoleHttpResponse(response) { - response.data = function (data) { sendConsoleText(rstr2hex(buf2rstr(data)), this.sessionid); consoleHttpRequest = null; } - response.close = function () { sendConsoleText('httprequest.response.close', this.sessionid); consoleHttpRequest = null; } - }; - - // Open a web browser to a specified URL on current user's desktop - function openUserDesktopUrl(url) { - var child = null; - try { - switch (process.platform) { - case 'win32': - var user = require('user-sessions').getUsername(require('user-sessions').consoleUid()); - child = require('child_process').execFile(process.env['windir'] + '\\system32\\cmd.exe', ['cmd']); - child.stderr.on('data', function () { }); - child.stdout.on('data', function () { }); - child.stdin.write('SCHTASKS /CREATE /F /TN MeshChatTask /SC ONCE /ST 00:00 /RU ' + user + ' /TR "' + process.env['windir'] + '\\system32\\cmd.exe /C START ' + url + '"\r\n'); - child.stdin.write('SCHTASKS /RUN /TN MeshChatTask\r\n'); - child.stdin.write('SCHTASKS /DELETE /F /TN MeshChatTask\r\n'); - child.stdin.write('exit\r\n'); - child.waitExit(); - break; - case 'linux': - child = require('child_process').execFile('/usr/bin/xdg-open', ['xdg-open', url], { uid: require('user-sessions').consoleUid() }); - break; - case 'darwin': - child = require('child_process').execFile('/usr/bin/open', ['open', url], { uid: require('user-sessions').consoleUid() }); - break; - default: - // Unknown platform, ignore this command. - break; - } - } catch (ex) { } - return child; - } - - // Process a mesh agent console command - function processConsoleCommand(cmd, args, rights, sessionid) { - try { - var response = null; - switch (cmd) { - case 'help': { // Displays available commands - var fin = '', f = '', availcommands = 'help,info,osinfo,args,print,type,dbkeys,dbget,dbset,dbcompact,eval,parseuri,httpget,nwslist,plugin,wsconnect,wssend,wsclose,notify,ls,ps,kill,amt,netinfo,location,power,wakeonlan,setdebug,smbios,rawsmbios,toast,lock,users,sendcaps,openurl,amtreset,amtccm,amtacm,amtdeactivate,amtpolicy,getscript,getclip,setclip,log,av,cpuinfo,sysinfo,apf,scanwifi,scanamt'; - availcommands = availcommands.split(',').sort(); - while (availcommands.length > 0) { - if (f.length > 100) { fin += (f + ',\r\n'); f = ''; } - f += (((f != '') ? ', ' : ' ') + availcommands.shift()); - } - if (f != '') { fin += f; } - response = 'Available commands: \r\n' + fin + '.'; - break; - } - /* - case 'border': - { - if ((args['_'].length == 1) && (args['_'][0] == 'on')) { - if (meshCoreObj.users.length > 0) { - obj.borderManager.Start(meshCoreObj.users[0]); - response = 'Border blinking is on.'; - } else { - response = 'Cannot turn on border blinking, no logged in users.'; - } - } else if ((args['_'].length == 1) && (args['_'][0] == 'off')) { - obj.borderManager.Stop(); - response = 'Border blinking is off.'; - } else { - response = 'Proper usage: border "on|off"'; // Display correct command usage - } - } - break; - */ - case 'av': - if (process.platform == 'win32') { - // Windows Command: "wmic /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct get /FORMAT:CSV" - response = JSON.stringify(require('win-info').av(), null, 1); - } else { - response = 'Not supported on the platform'; - } - break; - case 'log': - if (args['_'].length != 1) { response = 'Proper usage: log "sample text"'; } else { MeshServerLog(args['_'][0]); response = 'ok'; } - break; - case 'getclip': - if (require('MeshAgent').isService) { - require('clipboard').dispatchRead().then(function (str) { sendConsoleText(str, sessionid); }); - } else { - require("clipboard").read().then(function (str) { sendConsoleText(str, sessionid); }); - } - break; - case 'setclip': { - if (args['_'].length != 1) { - response = 'Proper usage: setclip "sample text"'; - } else { - if (require('MeshAgent').isService) { - require('clipboard').dispatchWrite(args['_'][0]); - response = 'Setting clipboard to: "' + args['_'][0] + '"'; - } - else { - require("clipboard")(args['_'][0]); response = 'Setting clipboard to: "' + args['_'][0] + '"'; - } - } - break; - } - case 'amtreset': { - if (amt != null) { amt.reset(); response = 'Done.'; } - break; - } - case 'amtlmsreset': { - if (amt != null) { amt.lmsreset(); response = 'Done.'; } - break; - } - case 'amtccm': { - if (amt == null) { response = 'Intel AMT not supported.'; } else { - if (args['_'].length != 1) { response = 'Proper usage: amtccm (adminPassword)'; } // Display usage - else { amt.setPolicy({ type: 0 }); amt.activeToCCM(args['_'][0]); } - } - break; - } - case 'amtacm': { - if (amt == null) { response = 'Intel AMT not supported.'; } else { - amt.setPolicy({ type: 0 }); - amt.getAmtInfo(function (meinfo) { amt.activeToACM(meinfo); }); - } - break; - } - case 'amtdeactivate': { - if (amt == null) { response = 'Intel AMT not supported.'; } else { amt.setPolicy({ type: 0 }); amt.deactivateCCM(); } - break; - } - case 'amtpolicy': { - if (amtPolicy == null) { - response = 'No Intel(R) AMT policy.'; - } else { - response = JSON.stringify(amtPolicy); - } - break; - } - case 'openurl': { - if (args['_'].length != 1) { response = 'Proper usage: openurl (url)'; } // Display usage - else { if (openUserDesktopUrl(args['_'][0]) == null) { response = 'Failed.'; } else { response = 'Success.'; } } - break; - } - case 'users': { - if (meshCoreObj.users == null) { response = 'Active users are unknown.'; } else { response = 'Active Users: ' + meshCoreObj.users.join(', ') + '.'; } - require('user-sessions').enumerateUsers().then(function (u) { for (var i in u) { sendConsoleText(u[i]); } }); - break; - } - case 'toast': { - if (args['_'].length < 1) { response = 'Proper usage: toast "message"'; } else { - require('toaster').Toast('MeshCentral', args['_'][0]).then(sendConsoleText, sendConsoleText); - } - break; - } - case 'setdebug': { - if (args['_'].length < 1) { response = 'Proper usage: setdebug (target), 0 = Disabled, 1 = StdOut, 2 = This Console, * = All Consoles, 4 = WebLog, 8 = Logfile'; } // Display usage - else { if (args['_'][0] == '*') { console.setDestination(2); } else { console.setDestination(parseInt(args['_'][0]), sessionid); } } - break; - } - case 'ps': { - processManager.getProcesses(function (plist) { - var x = ''; - for (var i in plist) { x += i + ', ' + plist[i].cmd + ((plist[i].user) ? (', ' + plist[i].user) : '') + '\r\n'; } - sendConsoleText(x, sessionid); - }); - break; - } - case 'kill': { - if ((args['_'].length < 1)) { - response = 'Proper usage: kill [pid]'; // Display correct command usage - } else { - process.kill(parseInt(args['_'][0])); - response = 'Killed process ' + args['_'][0] + '.'; - } - break; - } - case 'smbios': { - if (SMBiosTables == null) { response = 'SMBios tables not available.'; } else { response = objToString(SMBiosTables, 0, ' ', true); } - break; - } - case 'rawsmbios': { - if (SMBiosTablesRaw == null) { response = 'SMBios tables not available.'; } else { - response = ''; - for (var i in SMBiosTablesRaw) { - var header = false; - for (var j in SMBiosTablesRaw[i]) { - if (SMBiosTablesRaw[i][j].length > 0) { - if (header == false) { response += ('Table type #' + i + ((require('smbios').smTableTypes[i] == null) ? '' : (', ' + require('smbios').smTableTypes[i]))) + '\r\n'; header = true; } - response += (' ' + SMBiosTablesRaw[i][j].toString('hex')) + '\r\n'; - } - } - } - } - break; - } - case 'dump': - if (args['_'].length < 1) { - response = 'Proper usage: dump [on/off/status]'; // Display correct command usage - } - else { - switch (args['_'][0].toLowerCase()) { - case 'on': - process.coreDumpLocation = process.platform == 'win32' ? process.execPath.replace('.exe', '.dmp') : (process.execPath + '.dmp'); - response = 'enabled'; - break; - case 'off': - process.coreDumpLocation = null; - response = 'disabled'; - break; - case 'status': - if (process.coreDumpLocation) { - response = 'Core Dump: [ENABLED' + (require('fs').existsSync(process.coreDumpLocation) ? (', (DMP file exists)]') : (']')); - } - else { - response = 'Core Dump: [DISABLED]'; - } - break; - default: - response = 'Proper usage: dump [on/off/status]'; // Display correct command usage - break; - } - } - break; - case 'eval': { // Eval JavaScript - if (args['_'].length < 1) { - response = 'Proper usage: eval "JavaScript code"'; // Display correct command usage - } else { - response = JSON.stringify(mesh.eval(args['_'][0])); - } - break; - } - case 'uninstallagent': - var agentName = process.platform == 'win32' ? 'Mesh Agent' : 'meshagent'; - if (!require('service-manager').manager.getService(agentName).isMe()) { - response = 'Uininstall failed, this instance is not the service instance'; - } - else { - try { - diagnosticAgent_uninstall(); - } - catch (x) { - } - var js = "require('service-manager').manager.getService('" + agentName + "').stop(); require('service-manager').manager.uninstallService('" + agentName + "'); process.exit();"; - this.child = require('child_process').execFile(process.execPath, [process.platform == 'win32' ? (process.execPath.split('\\').pop()) : (process.execPath.split('/').pop()), '-b64exec', Buffer.from(js).toString('base64')], { type: 4, detached: true }); - } - break; - case 'notify': { // Send a notification message to the mesh - if (args['_'].length != 1) { - response = 'Proper usage: notify "message" [--session]'; // Display correct command usage - } else { - var notification = { "action": "msg", "type": "notify", "value": args['_'][0], "tag": "console" }; - if (args.session) { notification.sessionid = sessionid; } // If "--session" is specified, notify only this session, if not, the server will notify the mesh - mesh.SendCommand(notification); // no sessionid or userid specified, notification will go to the entire mesh - response = 'ok'; - } - break; - } - case 'cpuinfo': { // Return system information - // CPU & memory utilization - pr = require('sysinfo').cpuUtilization(); - pr.sessionid = sessionid; - pr.then(function (data) { - sendConsoleText(JSON.stringify({ cpu: data, memory: require('sysinfo').memUtilization() }, null, 1), this.sessionid); - }, function (e) { - sendConsoleText(e); - }); - break; - } - case 'sysinfo': { // Return system information - getSystemInformation(function (results, err) { - if (results == null) { sendConsoleText(err, this.sessionid); } else { - sendConsoleText(JSON.stringify(results, null, 1), this.sessionid); - } - }); - break; - } - case 'info': { // Return information about the agent and agent core module - response = 'Current Core: ' + meshCoreObj.value + '.\r\nAgent Time: ' + Date() + '.\r\nUser Rights: 0x' + rights.toString(16) + '.\r\nPlatform: ' + process.platform + '.\r\nCapabilities: ' + meshCoreObj.caps + '.\r\nServer URL: ' + mesh.ServerUrl + '.'; - if (amt != null) { response += '\r\nBuilt-in LMS: ' + ['Disabled', 'Connecting..', 'Connected'][amt.lmsstate] + '.'; } - if (meshCoreObj.osdesc) { response += '\r\nOS: ' + meshCoreObj.osdesc + '.'; } - response += '\r\nModules: ' + addedModules.join(', ') + '.'; - response += '\r\nServer Connection: ' + mesh.isControlChannelConnected + ', State: ' + meshServerConnectionState + '.'; - response += '\r\lastMeInfo: ' + lastMeInfo + '.'; - var oldNodeId = db.Get('OldNodeId'); - if (oldNodeId != null) { response += '\r\nOldNodeID: ' + oldNodeId + '.'; } - if (process.platform == 'linux' || process.platform == 'freebsd') { response += '\r\nX11 support: ' + require('monitor-info').kvm_x11_support + '.'; } - break; - } - case 'osinfo': { // Return the operating system information - var i = 1; - if (args['_'].length > 0) { i = parseInt(args['_'][0]); if (i > 8) { i = 8; } response = 'Calling ' + i + ' times.'; } - for (var j = 0; j < i; j++) { - var pr = require('os').name(); - pr.sessionid = sessionid; - pr.then(function (v) { sendConsoleText("OS: " + v, this.sessionid); }); - } - break; - } - case 'sendcaps': { // Send capability flags to the server - if (args['_'].length == 0) { - response = 'Proper usage: sendcaps (number)'; // Display correct command usage - } else { - meshCoreObj.caps = parseInt(args['_'][0]); - mesh.SendCommand(meshCoreObj); - response = JSON.stringify(meshCoreObj); - } - break; - } - case 'sendosdesc': { // Send OS description - if (args['_'].length > 0) { - meshCoreObj.osdesc = args['_'][0]; - mesh.SendCommand(meshCoreObj); - response = JSON.stringify(meshCoreObj); - } else { - response = 'Proper usage: sendosdesc [os description]'; // Display correct command usage - } - break; - } - case 'args': { // Displays parsed command arguments - response = 'args ' + objToString(args, 0, ' ', true); - break; - } - case 'print': { // Print a message on the mesh agent console, does nothing when running in the background - var r = []; - for (var i in args['_']) { r.push(args['_'][i]); } - console.log(r.join(' ')); - response = 'Message printed on agent console.'; - break; - } - case 'type': { // Returns the content of a file - if (args['_'].length == 0) { - response = 'Proper usage: type (filepath) [maxlength]'; // Display correct command usage - } else { - var max = 4096; - if ((args['_'].length > 1) && (typeof args['_'][1] == 'number')) { max = args['_'][1]; } - if (max > 4096) max = 4096; - var buf = Buffer.alloc(max), fd = fs.openSync(args['_'][0], "r"), r = fs.readSync(fd, buf, 0, max); // Read the file content - response = buf.toString(); - var i = response.indexOf('\n'); - if ((i > 0) && (response[i - 1] != '\r')) { response = response.split('\n').join('\r\n'); } - if (r == max) response += '...'; - fs.closeSync(fd); - } - break; - } - case 'dbkeys': { // Return all data store keys - response = JSON.stringify(db.Keys); - break; - } - case 'dbget': { // Return the data store value for a given key - if (db == null) { response = 'Database not accessible.'; break; } - if (args['_'].length != 1) { - response = 'Proper usage: dbget (key)'; // Display the value for a given database key - } else { - response = db.Get(args['_'][0]); - } - break; - } - case 'dbset': { // Set a data store key and value pair - if (db == null) { response = 'Database not accessible.'; break; } - if (args['_'].length != 2) { - response = 'Proper usage: dbset (key) (value)'; // Set a database key - } else { - var r = db.Put(args['_'][0], args['_'][1]); - response = 'Key set: ' + r; - } - break; - } - case 'dbcompact': { // Compact the data store - if (db == null) { response = 'Database not accessible.'; break; } - var r = db.Compact(); - response = 'Database compacted: ' + r; - break; - } - case 'httpget': { - if (consoleHttpRequest != null) { - response = 'HTTP operation already in progress.'; - } else { - if (args['_'].length != 1) { - response = 'Proper usage: httpget (url)'; - } else { - var options = http.parseUri(args['_'][0]); - options.method = 'GET'; - if (options == null) { - response = 'Invalid url.'; - } else { - try { consoleHttpRequest = http.request(options, consoleHttpResponse); } catch (e) { response = 'Invalid HTTP GET request'; } - consoleHttpRequest.sessionid = sessionid; - if (consoleHttpRequest != null) { - consoleHttpRequest.end(); - response = 'HTTPGET ' + options.protocol + '//' + options.host + ':' + options.port + options.path; - } - } - } - } - break; - } - case 'wslist': { // List all web sockets - response = ''; - for (var i in consoleWebSockets) { - var httprequest = consoleWebSockets[i]; - response += 'Websocket #' + i + ', ' + httprequest.url + '\r\n'; - } - if (response == '') { response = 'no websocket sessions.'; } - break; - } - case 'wsconnect': { // Setup a web socket - if (args['_'].length == 0) { - response = 'Proper usage: wsconnect (url)\r\nFor example: wsconnect wss://localhost:443/meshrelay.ashx?id=abc'; // Display correct command usage - } else { - var httprequest = null; - try { - var options = http.parseUri(args['_'][0]); - options.rejectUnauthorized = 0; - httprequest = http.request(options); - } catch (e) { response = 'Invalid HTTP websocket request'; } - if (httprequest != null) { - httprequest.upgrade = onWebSocketUpgrade; - httprequest.on('error', function (e) { sendConsoleText('ERROR: ' + JSON.stringify(e)); }); - - var index = 1; - while (consoleWebSockets[index]) { index++; } - httprequest.sessionid = sessionid; - httprequest.index = index; - httprequest.url = args['_'][0]; - consoleWebSockets[index] = httprequest; - response = 'New websocket session #' + index; - } - } - break; - } - case 'wssend': { // Send data on a web socket - if (args['_'].length == 0) { - response = 'Proper usage: wssend (socketnumber)\r\n'; // Display correct command usage - for (var i in consoleWebSockets) { - var httprequest = consoleWebSockets[i]; - response += 'Websocket #' + i + ', ' + httprequest.url + '\r\n'; - } - } else { - var i = parseInt(args['_'][0]); - var httprequest = consoleWebSockets[i]; - if (httprequest != undefined) { - httprequest.s.write(args['_'][1]); - response = 'ok'; - } else { - response = 'Invalid web socket number'; - } - } - break; - } - case 'wsclose': { // Close a websocket - if (args['_'].length == 0) { - response = 'Proper usage: wsclose (socketnumber)'; // Display correct command usage - } else { - var i = parseInt(args['_'][0]); - var httprequest = consoleWebSockets[i]; - if (httprequest != undefined) { - if (httprequest.s != null) { httprequest.s.end(); } else { httprequest.end(); } - response = 'ok'; - } else { - response = 'Invalid web socket number'; - } - } - break; - } - case 'tunnels': { // Show the list of current tunnels - response = ''; - for (var i in tunnels) { response += 'Tunnel #' + i + ', ' + tunnels[i].url + '\r\n'; } - if (response == '') { response = 'No websocket sessions.'; } - break; - } - case 'ls': { // Show list of files and folders - response = ''; - var xpath = '*'; - if (args['_'].length > 0) { xpath = obj.path.join(args['_'][0], '*'); } - response = 'List of ' + xpath + '\r\n'; - var results = fs.readdirSync(xpath); - for (var i = 0; i < results.length; ++i) { - var stat = null, p = obj.path.join(args['_'][0], results[i]); - try { stat = fs.statSync(p); } catch (e) { } - if ((stat == null) || (stat == undefined)) { - response += (results[i] + "\r\n"); - } else { - response += (results[i] + " " + ((stat.isDirectory()) ? "(Folder)" : "(File)") + "\r\n"); - } - } - break; - } - case 'lsx': { // Show list of files and folders - response = objToString(getDirectoryInfo(args['_'][0]), 0, ' ', true); - break; - } - case 'lock': { // Lock the current user out of the desktop - if (process.platform == 'win32') { var child = require('child_process'); child.execFile(process.env['windir'] + '\\system32\\cmd.exe', ['/c', 'RunDll32.exe user32.dll,LockWorkStation'], { type: 1 }); response = 'Ok'; } - else { response = 'Not supported on the platform'; } - break; - } - case 'amt': { // Show Intel AMT status - if (amt != null) { - amt.getAmtInfo(function (state) { - var resp = 'Intel AMT not detected.'; - if (state != null) { resp = objToString(state, 0, ' ', true); } - sendConsoleText(resp, sessionid); - }); - } else { - response = 'Intel AMT not detected.'; - } - break; - } - case 'netinfo': { // Show network interface information - //response = objToString(mesh.NetInfo, 0, ' '); - var interfaces = require('os').networkInterfaces(); - response = objToString(interfaces, 0, ' ', true); - break; - } - case 'netinfo2': { // Show network interface information - response = objToString(mesh.NetInfo, 0, ' ', true); - break; - } - case 'wakeonlan': { // Send wake-on-lan - if ((args['_'].length != 1) || (args['_'][0].length != 12)) { - response = 'Proper usage: wakeonlan [mac], for example "wakeonlan 010203040506".'; - } else { - var count = sendWakeOnLan(args['_'][0]); - response = 'Sent wake-on-lan on ' + count + ' interface(s).'; - } - break; - } - case 'sendall': { // Send a message to all consoles on this mesh - sendConsoleText(args['_'].join(' ')); - break; - } - case 'power': { // Execute a power action on this computer - if (mesh.ExecPowerState == undefined) { - response = 'Power command not supported on this agent.'; - } else { - if ((args['_'].length == 0) || (typeof args['_'][0] != 'number')) { - response = 'Proper usage: power (actionNumber), where actionNumber is:\r\n LOGOFF = 1\r\n SHUTDOWN = 2\r\n REBOOT = 3\r\n SLEEP = 4\r\n HIBERNATE = 5\r\n DISPLAYON = 6\r\n KEEPAWAKE = 7\r\n BEEP = 8\r\n CTRLALTDEL = 9\r\n VIBRATE = 13\r\n FLASH = 14'; // Display correct command usage - } else { - var r = mesh.ExecPowerState(args['_'][0], args['_'][1]); - response = 'Power action executed with return code: ' + r + '.'; - } - } - break; - } - case 'location': { - getIpLocationData(function (location) { - sendConsoleText(objToString({ "action": "iplocation", "type": "publicip", "value": location }, 0, ' ')); - }); - break; - } - case 'parseuri': { - response = JSON.stringify(http.parseUri(args['_'][0])); - break; - } - case 'scanwifi': { - if (wifiScanner != null) { - var wifiPresent = wifiScanner.hasWireless; - if (wifiPresent) { response = "Perfoming Wifi scan..."; wifiScanner.Scan(); } else { response = "Wifi absent."; } - } else { response = "Wifi module not present."; } - break; - } - case 'scanamt': { - if (amtscanner != null) { - if (args['_'].length != 1) { - response = 'Usage examples:\r\n scanamt 1.2.3.4\r\n scanamt 1.2.3.0-1.2.3.255\r\n scanamt 1.2.3.0/24\r\n'; // Display correct command usage - } else { - response = 'Scanning: ' + args['_'][0] + '...'; - amtscanner.scan(args['_'][0], 2000, function (data) { - if (data.length > 0) { - var r = '', pstates = ['NotActivated', 'InActivation', 'Activated']; - for (var i in data) { - var x = data[i]; - if (r != '') { r += '\r\n'; } - r += x.address + ' - Intel AMT v' + x.majorVersion + '.' + x.minorVersion; - if (x.provisioningState < 3) { r += (', ' + pstates[x.provisioningState]); } - if (x.provisioningState == 2) { r += (', ' + x.openPorts.join(', ')); } - r += '.'; - } - } else { - r = 'No Intel AMT found.'; - } - sendConsoleText(r); - }); - } - } else { response = "Intel AMT scanner module not present."; } - break; - } - case 'modules': { - response = JSON.stringify(addedModules); - break; - } - case 'listservices': { - var services = require('service-manager').manager.enumerateService(); - response = JSON.stringify(services, null, 1); - break; - } - case 'getscript': { - if (args['_'].length != 1) { - response = 'Proper usage: getscript [scriptNumber].'; - } else { - mesh.SendCommand({ "action": "getScript", "type": args['_'][0] }); - } - break; - } - case 'diagnostic': - { - if (!mesh.DAIPC.listening) { - response = 'Unable to bind to Diagnostic IPC, most likely because the path (' + process.cwd() + ') is not on a local file system'; - break; - } - var diag = diagnosticAgent_installCheck(); - if (diag) { - if (args['_'].length == 1 && args['_'][0] == 'uninstall') { - diagnosticAgent_uninstall(); - response = 'Diagnostic Agent uninstalled'; - } - else { - response = 'Diagnostic Agent installed at: ' + diag.appLocation(); - } - } - else { - if (args['_'].length == 1 && args['_'][0] == 'install') { - diag = diagnosticAgent_installCheck(true); - if (diag) { - response = 'Diagnostic agent was installed at: ' + diag.appLocation(); - } - else { - response = 'Diagnostic agent installation failed'; - } - } - else { - response = 'Diagnostic Agent Not installed. To install: diagnostic install'; - } - } - if (diag) { diag.close(); diag = null; } - break; - } - case 'apf': { - if (meshCoreObj.intelamt !== null) { - if (args['_'].length == 1) { - if (args['_'][0] == 'on') { - response = 'Starting APF tunnel' - var apfarg = { - mpsurl: mesh.ServerUrl.replace('agent.ashx', 'apf.ashx'), - mpsuser: Buffer.from(mesh.ServerInfo.MeshID, 'hex').toString('base64').substring(0, 16), - mpspass: Buffer.from(mesh.ServerInfo.MeshID, 'hex').toString('base64').substring(0, 16), - mpskeepalive: 60000, - clientname: require('os').hostname(), - clientaddress: '127.0.0.1', - clientuuid: meshCoreObj.intelamt.uuid - }; - var tobj = { debug: false }; // - apftunnel = require('apfclient')(tobj, apfarg); - try { - apftunnel.connect(); - response += "..success"; - } catch (e) { - response += JSON.stringify(e); - } - } else if (args['_'][0] == 'off') { - response = 'Stopping APF tunnel'; - try { - apftunnel.disconnect(); - response += "..success"; - } catch (e) { - response += JSON.stringify(e); - } - apftunnel = null; - } else { - response = 'Invalid command.\r\nCmd syntax: apf on|off'; - } - } else { - response = 'APF tunnel is ' + (apftunnel == null ? 'off' : 'on'); - } - - } else { - response = 'APF tunnel requires Intel AMT'; - } - break; - } - case 'plugin': { - if (typeof args['_'][0] == 'string') { - try { - // Pass off the action to the plugin - // for plugin creators, you'll want to have a plugindir/modules_meshcore/plugin.js - // to control the output / actions here. - response = require(args['_'][0]).consoleaction(args, rights, sessionid, mesh); - } catch (e) { - response = 'There was an error in the plugin (' + e + ')'; - } - } else { - response = 'Proper usage: plugin [pluginName] [args].'; - } - break; - } - default: { // This is an unknown command, return an error message - response = 'Unknown command \"' + cmd + '\", type \"help\" for list of avaialble commands.'; - break; - } - } - } catch (e) { response = 'Command returned an exception error: ' + e; console.log(e); } - if (response != null) { sendConsoleText(response, sessionid); } - } - - // Send a mesh agent console command - function sendConsoleText(text, sessionid) { - if (typeof text == 'object') { text = JSON.stringify(text); } - mesh.SendCommand({ "action": "msg", "type": "console", "value": text, "sessionid": sessionid }); - } - - // Called before the process exits - //process.exit = function (code) { console.log("Exit with code: " + code.toString()); } - - // Called when the server connection state changes - function handleServerConnection(state) { - meshServerConnectionState = state; - if (meshServerConnectionState == 0) { - // Server disconnected - if (selfInfoUpdateTimer != null) { clearInterval(selfInfoUpdateTimer); selfInfoUpdateTimer = null; } - lastSelfInfo = null; - } else { - // Server connected, send mesh core information - var oldNodeId = db.Get('OldNodeId'); - if (oldNodeId != null) { mesh.SendCommand({ action: 'mc1migration', oldnodeid: oldNodeId }); } - - // Update the server with basic info, logged in users and more. - mesh.SendCommand(meshCoreObj); - - // Send SMBios tables if present - if (SMBiosTablesRaw != null) { mesh.SendCommand({ "action": "smbios", "value": SMBiosTablesRaw }); } - - // Update the server on more advanced stuff, like Intel ME and Network Settings - meInfoStr = null; - sendPeriodicServerUpdate(); - if (selfInfoUpdateTimer == null) { selfInfoUpdateTimer = setInterval(sendPeriodicServerUpdate, 1200000); } // 20 minutes - } - } - - // Update the server with the latest network interface information - var sendNetworkUpdateNagleTimer = null; - function sendNetworkUpdateNagle() { if (sendNetworkUpdateNagleTimer != null) { clearTimeout(sendNetworkUpdateNagleTimer); sendNetworkUpdateNagleTimer = null; } sendNetworkUpdateNagleTimer = setTimeout(sendNetworkUpdate, 5000); } - function sendNetworkUpdate(force) { - sendNetworkUpdateNagleTimer = null; - - // Update the network interfaces information data - var netInfo = mesh.NetInfo; - if (netInfo) { - netInfo.action = 'netinfo'; - var netInfoStr = JSON.stringify(netInfo); - if ((force == true) || (clearGatewayMac(netInfoStr) != clearGatewayMac(lastNetworkInfo))) { mesh.SendCommand(netInfo); lastNetworkInfo = netInfoStr; } - } - } - - // Called periodically to check if we need to send updates to the server - function sendPeriodicServerUpdate(flags) { - if (meshServerConnectionState == 0) return; // Not connected to server, do nothing. - if (!flags) { flags = 0xFFFFFFFF; } - - if ((flags & 1) && (amt != null)) { - // If we have a connected MEI, get Intel ME information - amt.getAmtInfo(function (meinfo) { - try { - if (meinfo == null) return; - var intelamt = {}, p = false; - if ((meinfo.Versions != null) && (meinfo.Versions.AMT != null)) { intelamt.ver = meinfo.Versions.AMT; p = true; if (meinfo.Versions.Sku != null) { intelamt.sku = parseInt(meinfo.Versions.Sku); } } - if (meinfo.ProvisioningState != null) { intelamt.state = meinfo.ProvisioningState; p = true; } - if (meinfo.Flags != null) { intelamt.flags = meinfo.Flags; p = true; } - if (meinfo.OsHostname != null) { intelamt.host = meinfo.OsHostname; p = true; } - if (meinfo.UUID != null) { intelamt.uuid = meinfo.UUID; p = true; } - if ((meinfo.ProvisioningState == 0) && (meinfo.net0 != null) && (meinfo.net0.enabled == 1)) { // If not activated, look to see if we have wired net working. - // Not activated and we have wired ethernet, look for the trusted DNS - var dns = meinfo.DNS; - if (dns == null) { - // Trusted DNS not set, let's look for the OS network DNS suffix - var interfaces = require('os').networkInterfaces(); - for (var i in interfaces) { - for (var j in interfaces[i]) { - if ((interfaces[i][j].mac == mestate.net0.mac) && (interfaces[i][j].fqdn != null) && (interfaces[i][j].fqdn != '')) { dns = interfaces[i][j].fqdn; } - } - } - } - if (intelamt.dns != dns) { intelamt.dns = dns; p = true; } - } else { if (intelamt.dns != null) { delete intelamt.dns; p = true; } } - if (p == true) { - var meInfoStr = JSON.stringify(intelamt); - if (meInfoStr != lastMeInfo) { - meshCoreObj.intelamt = intelamt; - mesh.SendCommand(meshCoreObj); - lastMeInfo = meInfoStr; - } - } - } catch (ex) { } - }); - } - - if (flags & 2) { - // Update network information - sendNetworkUpdateNagle(false); - } - - if ((flags & 4) && (process.platform == 'win32')) { - // Update anti-virus information - // Windows Command: "wmic /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct get /FORMAT:CSV" - var av, pr; - try { av = require('win-info').av(); } catch (ex) { av = null; } // Antivirus - //if (process.platform == 'win32') { try { pr = require('win-info').pendingReboot(); } catch (ex) { pr = null; } } // Pending reboot - if ((meshCoreObj.av == null) || (JSON.stringify(meshCoreObj.av) != JSON.stringify(av))) { meshCoreObj.av = av; mesh.SendCommand(meshCoreObj); } - } - - // TODO: add plugin hook here - } - - - // Starting function - obj.start = function () { - // Setup the mesh agent event handlers - mesh.AddCommandHandler(handleServerCommand); - mesh.AddConnectHandler(handleServerConnection); - - // Parse input arguments - //var args = parseArgs(process.argv); - //console.log(args); - - //resetMicroLms(); - - // Setup logged in user monitoring (THIS IS BROKEN IN WIN7) - try { - var userSession = require('user-sessions'); - userSession.on('changed', function onUserSessionChanged() { - userSession.enumerateUsers().then(function (users) { - var u = [], a = users.Active; - for (var i = 0; i < a.length; i++) { - var un = a[i].Domain ? (a[i].Domain + '\\' + a[i].Username) : (a[i].Username); - if (u.indexOf(un) == -1) { u.push(un); } // Only push users in the list once. - } - meshCoreObj.users = u; - mesh.SendCommand(meshCoreObj); - }); - }); - userSession.emit('changed'); - //userSession.on('locked', function (user) { sendConsoleText('[' + (user.Domain ? user.Domain + '\\' : '') + user.Username + '] has LOCKED the desktop'); }); - //userSession.on('unlocked', function (user) { sendConsoleText('[' + (user.Domain ? user.Domain + '\\' : '') + user.Username + '] has UNLOCKED the desktop'); }); - } catch (ex) { } - } - - obj.stop = function () { - mesh.AddCommandHandler(null); - mesh.AddConnectHandler(null); - } - - function onWebSocketClosed() { sendConsoleText("WebSocket #" + this.httprequest.index + " closed.", this.httprequest.sessionid); delete consoleWebSockets[this.httprequest.index]; } - function onWebSocketData(data) { sendConsoleText("Got WebSocket #" + this.httprequest.index + " data: " + data, this.httprequest.sessionid); } - function onWebSocketSendOk() { sendConsoleText("WebSocket #" + this.index + " SendOK.", this.sessionid); } - - function onWebSocketUpgrade(response, s, head) { - sendConsoleText("WebSocket #" + this.index + " connected.", this.sessionid); - this.s = s; - s.httprequest = this; - s.end = onWebSocketClosed; - s.data = onWebSocketData; - } - - return obj; -} - -// -// Module startup -// - -try { - var xexports = null, mainMeshCore = null; - try { xexports = module.exports; } catch (e) { } - - if (xexports != null) { - // If we are running within NodeJS, export the core - module.exports.createMeshCore = createMeshCore; - } else { - // If we are not running in NodeJS, launch the core - mainMeshCore = createMeshCore(); - mainMeshCore.start(null); - } -} catch (ex) { - require('MeshAgent').SendCommand({ "action": "msg", "type": "console", "value": "uncaughtException2: " + ex }); -} \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt-ider.min.js b/agents/modules_meshcmd_min/amt-ider.min.js deleted file mode 100644 index fe99b6e2..00000000 --- a/agents/modules_meshcmd_min/amt-ider.min.js +++ /dev/null @@ -1 +0,0 @@ -module.exports=function CreateAmtRemoteIder(){var B={};B.protocol=3;B.bytesToAmt=0;B.bytesFromAmt=0;B.rx_timeout=30000;B.tx_timeout=0;B.heartbeat=20000;B.version=1;B.acc=null;B.inSequence=0;B.outSequence=0;B.iderinfo=null;B.enabled=false;B.iderStart=0;B.floppy=null;B.cdrom=null;B.floppyReady=false;B.cdromReady=false;B.sectorStats=null;B.debug=false;var z=new Buffer([0,38,49,128,0,0,0,0,5,30,16,169,8,32,2,0,3,195,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,2,208,0,0]);var s=new Buffer([0,92,36,128,0,0,0,0,1,10,0,1,0,0,0,0,2,0,0,0,3,22,0,160,0,0,0,0,0,18,2,0,0,0,0,0,0,0,160,0,0,0,5,30,16,169,8,32,2,0,3,195,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,2,208,0,0,8,10,0,0,0,0,0,0,0,0,0,0,11,6,0,0,0,17,36,49]);var x=new Buffer([0,38,36,128,0,0,0,0,5,30,4,176,2,18,2,0,0,80,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,2,208,0,0]);var r=new Buffer([0,92,36,128,0,0,0,0,1,10,0,1,0,0,0,0,2,0,0,0,3,22,0,160,0,0,0,0,0,18,2,0,0,0,0,0,0,0,160,0,0,0,5,30,4,176,2,18,2,0,0,80,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,2,208,0,0,8,10,0,0,0,0,0,0,0,0,0,0,11,6,0,0,0,17,36,49]);var t=new Buffer([0,18,1,128,0,0,0,0,26,10,0,0,0,0,0,0,0,0,0,0]);var u=new Buffer([0,18,1,128,0,0,0,0,29,10,0,0,0,0,0,0,0,0,0,0]);var v=new Buffer([0,32,1,128,0,0,0,0,42,24,0,0,0,0,32,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0]);var q=new Buffer([0,40,1,128,0,0,0,0,1,6,0,255,0,0,0,0,42,24,0,0,0,0,2,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0]);var i=new Buffer([0,0,0,40,0,0,0,8]);var j=new Buffer([0,0,3,4,0,8,1,0]);var h=new Buffer([0,1,3,4,0,0,0,2]);var m=new Buffer([0,2,3,4,0,0,0,0]);var l=new Buffer([0,3,3,4,41,0,0,2]);var k=new Buffer([0,16,1,8,0,0,8,0,0,1,0,0]);var o=new Buffer([0,30,3,0]);var n=new Buffer([1,0,3,0]);var p=new Buffer([1,5,3,0]);var y=new Buffer([0,18,36,128,0,0,0,0,1,10,0,1,0,0,0,0,2,0,0,0]);var A=new Buffer([0,18,49,128,0,0,0,0,1,10,0,1,0,0,0,0,2,0,0,0]);var w=new Buffer([0,14,1,128,0,0,0,0,1,6,0,255,0,0,0,0]);B.xxStateChange=function(E){if(B.debug){console.log("IDER-StateChange",E)}if(E==0){B.Stop()}if(E==3){B.Start()}};B.Start=function(){if(B.debug){console.log("IDER-Start");console.log(B.floppy,B.cdrom)}B.bytesToAmt=0;B.bytesFromAmt=0;B.inSequence=0;B.outSequence=0;e=[];B.SendCommand(64,Buffer.concat([ShortToStrX(B.rx_timeout),ShortToStrX(B.tx_timeout),ShortToStrX(B.heartbeat),IntToStrX(B.version)]));if(B.sectorStats){B.sectorStats(0,0,B.floppy?(B.floppy.size>>9):0);B.sectorStats(0,1,B.cdrom?(B.cdrom.size>>11):0)}};B.Stop=function(){if(B.debug){console.log("IDER-Stop")}B.parent.Stop()};B.ProcessData=function(E){B.bytesFromAmt+=E.length;if(B.acc==null){B.acc=E}else{B.acc=Buffer.concat(B.acc,E)}if(B.debug){console.log("IDER-ProcessData",B.acc.length,B.acc.toString("hex"))}while(B.acc!=null){var F=B.ProcessDataEx();if(F==0){return}if(B.inSequence!=ReadIntX(B.acc,4)){if(B.debug){console.log("ERROR: Out of sequence",B.inSequence,ReadIntX(B.acc,4))}B.Stop();return}B.inSequence++;if(F==B.acc.length){B.acc=null}else{B.acc=B.acc.slice(F)}}};B.SendCommand=function(F,H,G,I){if(H==null){H=new Buffer(0)}var E=((F>50)&&(G==true))?2:0;if(I){E+=1}var J=Buffer.concat([Buffer([F,0,0,E]),IntToStrX(B.outSequence++),H]);B.parent.xxSend(J);B.bytesToAmt+=J.length};B.SendCommandEndResponse=function(H,I,G,E,F){if(H){B.SendCommand(81,new Buffer([0,0,0,0,0,0,0,0,0,0,0,0,197,0,3,0,0,0,G,80,0,0,0]),true)}else{B.SendCommand(81,new Buffer([0,0,0,0,0,0,0,0,0,0,0,0,135,(I<<4),3,0,0,0,G,81,I,E,F]),true)}};B.SendDataToHost=function(G,E,F,H){var I=(H)?0:F.length;if(E==true){B.SendCommand(84,Buffer.concat([new Buffer([0,(F.length&255),(F.length>>8),0,H?180:181,0,2,0,(I&255),(I>>8),G,88,133,0,3,0,0,0,G,80,0,0,0,0,0,0]),F]),E,H)}else{B.SendCommand(84,Buffer.concat([new Buffer([0,(F.length&255),(F.length>>8),0,H?180:181,0,2,0,(I&255),(I>>8),G,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),F]),E,H)}};B.SendGetDataFromHost=function(F,E){B.SendCommand(82,new Buffer([0,(E&255),(E>>8),0,181,0,0,0,(E&255),(E>>8),F,88,0,0,0,0,0,0,0,0,0,0,0]),false)};B.SendDisableEnableFeatures=function(F,E){if(E==null){E=""}B.SendCommand(72,Buffer.concat([new Buffer([F]),E]))};B.ProcessDataEx=function(){if(B.acc.length<8){return 0}switch(B.acc[0]){case 65:if(B.acc.length<30){return 0}var I=B.acc[29];if(B.acc.length<(30+I)){return 0}B.iderinfo={};B.iderinfo.major=B.acc[8];B.iderinfo.minor=B.acc[9];B.iderinfo.fwmajor=B.acc[10];B.iderinfo.fwminor=B.acc[11];B.iderinfo.readbfr=ReadShortX(B.acc,16);B.iderinfo.writebfr=ReadShortX(B.acc,18);B.iderinfo.proto=B.acc[21];B.iderinfo.iana=ReadIntX(B.acc,25);if(B.debug){console.log(B.iderinfo)}if(B.iderinfo.proto!=0){if(B.debug){console.log("Unknown proto",B.iderinfo.proto)}B.Stop()}if(B.iderinfo.readbfr>8192){if(B.debug){console.log("Illegal read buffer size",B.iderinfo.readbfr)}B.Stop()}if(B.iderinfo.writebfr>8192){if(B.debug){console.log("Illegal write buffer size",B.iderinfo.writebfr)}B.Stop()}if(B.iderStart==0){B.SendDisableEnableFeatures(3,IntToStrX(1+8))}else{if(B.iderStart==1){B.SendDisableEnableFeatures(3,IntToStrX(1+16))}else{if(B.iderStart==2){B.SendDisableEnableFeatures(3,IntToStrX(1+24))}}}return 30+I;case 67:if(B.debug){console.log("CLOSE")}B.Stop();return 8;case 68:B.SendCommand(69);return 8;case 69:if(B.debug){console.log("PONG")}return 8;case 70:if(B.acc.length<9){return 0}var J=B.acc[8];if(d===null){B.SendCommand(71);if(B.debug){console.log("RESETOCCURED1",J)}}else{f=true;if(B.debug){console.log("RESETOCCURED2",J)}}return 9;case 73:if(B.acc.length<13){return 0}var K=B.acc[8];var L=ReadIntX(B.acc,9);if(B.debug){console.log("STATUS_DATA",K,L)}switch(K){case 1:if(L&1){if(B.iderStart==0){B.SendDisableEnableFeatures(3,IntToStrX(1+8))}else{if(B.iderStart==1){B.SendDisableEnableFeatures(3,IntToStrX(1+16))}else{if(B.iderStart==2){B.SendDisableEnableFeatures(3,IntToStrX(1+24))}}}}break;case 2:B.enabled=(L&2)?true:false;if(B.debug){console.log("IDER Status: "+B.enabled)}break;case 3:if(L!=1){if(B.debug){console.log("Register toggle failure")}}break}return 13;case 74:if(B.acc.length<11){return 0}if(B.debug){console.log("IDER: ABORT",B.acc[8])}return 11;case 75:return 8;case 80:if(B.acc.length<28){return 0}var F=(B.acc[14]&16)?176:160;var G=B.acc[14];var E=B.acc.slice(16,28);var H=B.acc[9];if(B.debug){console.log("SCSI_CMD",F,E.toString("hex"),H,G)}g(F,E,H,G);return 28;case 83:if(B.acc.length<14){return 0}var I=ReadShortX(B.acc,9);if(B.acc.length<(14+I)){return 0}if(B.debug){console.log("SCSI_WRITE, len = "+(14+I))}B.SendCommand(81,new Buffer([0,0,0,0,0,0,0,0,0,0,0,0,135,112,3,0,0,0,160,81,7,39,0]),true);return 14+I;default:if(B.debug){console.log("Unknown IDER command",B.acc[0])}B.Stop();break}return 0};function g(I,H,K,J){var N;var O;switch(H[0]){case 0:if(B.debug){console.log("SCSI: TEST_UNIT_READY",I)}switch(I){case 160:if(B.floppy==null){B.SendCommandEndResponse(1,2,I,58,0);return -1}if(B.floppyReady==false){B.floppyReady=true;B.SendCommandEndResponse(1,6,I,40,0);return -1}break;case 176:if(B.cdrom==null){B.SendCommandEndResponse(1,2,I,58,0);return -1}if(B.cdromReady==false){B.cdromReady=true;B.SendCommandEndResponse(1,6,I,40,0);return -1}break;default:if(B.debug){console.log("SCSI Internal error 3",I)}return -1}B.SendCommandEndResponse(1,0,I,0,0);break;case 8:N=((H[1]&31)<<16)+(H[2]<<8)+H[3];O=H[4];if(O==0){O=256}if(B.debug){console.log("SCSI: READ_6",I,N,O)}C(I,N,O,K);break;case 10:N=((H[1]&31)<<16)+(H[2]<<8)+H[3];O=H[4];if(O==0){O=256}if(B.debug){console.log("SCSI: WRITE_6",I,N,O)}B.SendCommandEndResponse(1,2,I,58,0);return -1;case 26:if(B.debug){console.log("SCSI: MODE_SENSE_6",I)}if((H[2]==63)&&(H[3]==0)){var E=0,F=0;switch(I){case 160:if(B.floppy==null){B.SendCommandEndResponse(1,2,I,58,0);return -1}E=0;F=128;break;case 176:if(B.cdrom==null){B.SendCommandEndResponse(1,2,I,58,0);return -1}E=5;F=128;break;default:if(B.debug){console.log("SCSI Internal error 6",I)}return -1}B.SendDataToHost(I,true,new Buffer([0,E,F,0]),K&1);return}B.SendCommandEndResponse(1,5,I,36,0);break;case 27:B.SendCommandEndResponse(1,0,I);break;case 30:if(B.debug){console.log("SCSI: ALLOW_MEDIUM_REMOVAL",I)}if((I==160)&&(B.floppy==null)){B.SendCommandEndResponse(1,2,I,58,0);return -1}if((I==176)&&(B.cdrom==null)){B.SendCommandEndResponse(1,2,I,58,0);return -1}B.SendCommandEndResponse(1,0,I,0,0);break;case 35:if(B.debug){console.log("SCSI: READ_FORMAT_CAPACITIES",I)}var G=ReadShort(H,7);var Q=0,V;var P=G/8;switch(I){case 160:if((B.floppy==null)||(B.floppy.size==0)){B.SendCommandEndResponse(0,5,I,36,0);return -1}V=(B.floppy.size>>9)-1;break;case 176:if((B.cdrom==null)||(B.cdrom.size==0)){B.SendCommandEndResponse(0,5,I,36,0);return -1}V=(B.cdrom.size>>11)-1;break;default:if(B.debug){console.log("SCSI Internal error 4",I)}return -1}B.SendDataToHost(I,true,Buffer.concat([IntToStr(8),new Buffer([0,0,11,64,2,0,2,0])]),K&1);break;case 37:if(B.debug){console.log("SCSI: READ_CAPACITY",I)}var O=0;switch(I){case 160:if((B.floppy==null)||(B.floppy.size==0)){B.SendCommandEndResponse(0,2,I,58,0);return -1}if(B.floppy!=null){O=(B.floppy.size>>9)-1}if(B.debug){console.log("DEV_FLOPPY",O)}break;case 176:if((B.cdrom==null)||(B.cdrom.size==0)){B.SendCommandEndResponse(0,2,I,58,0);return -1}if(B.cdrom!=null){O=(B.cdrom.size>>11)-1}if(B.debug){console.log("DEV_CDDVD",O)}break;default:if(B.debug){console.log("SCSI Internal error 4",I)}return -1}if(B.debug){console.log("SCSI: READ_CAPACITY2",I,J)}B.SendDataToHost(J,true,Buffer.concat([IntToStr(O),new Buffer([0,0,((I==176)?8:2),0])]),K&1);break;case 40:N=ReadInt(H,2);O=ReadShort(H,7);if(B.debug){console.log("SCSI: READ_10",I,N,O)}C(I,N,O,K);break;case 42:case 46:N=ReadInt(H,2);O=ReadShort(H,7);if(B.debug){console.log("SCSI: WRITE_10",I,N,O)}B.SendGetDataFromHost(I,512*O);break;case 67:var G=ReadShort(H,7);var R=H[1]&2;var M=H[2]&7;if(M==0){M=H[9]>>6}if(B.debug){console.log("SCSI: READ_TOC, dev="+I+", buflen="+G+", msf="+R+", format="+M)}switch(I){case 160:B.SendCommandEndResponse(1,5,I,32,0);return -1;case 176:break;default:if(B.debug){console.log("SCSI Internal error 9",I)}return -1}if(M==1){B.SendDataToHost(I,true,new Buffer([0,10,1,1,0,20,1,0,0,0,0,0]),K&1)}else{if(M==0){if(R){B.SendDataToHost(I,true,new Buffer([0,18,1,1,0,20,1,0,0,0,2,0,0,20,170,0,0,0,52,19]),K&1)}else{B.SendDataToHost(I,true,new Buffer([0,18,1,1,0,20,1,0,0,0,0,0,0,20,170,0,0,0,0,0]),K&1)}}}break;case 70:var W=(H[1]!=2);var L=ReadShort(H,2);var G=ReadShort(H,7);if(B.debug){console.log("SCSI: GET_CONFIGURATION",I,W,L,G)}if(G==0){B.SendDataToHost(I,true,Buffer.concat([IntToStr(60),IntToStr(8)]),K&1);return -1}var T=null;if(L==0){T=j}if((L==1)||(W&&(L<1))){T=h}if((L==2)||(W&&(L<2))){T=m}if((L==3)||(W&&(L<3))){T=l}if((L==16)||(W&&(L<16))){T=k}if((L==30)||(W&&(L<30))){T=o}if((L==256)||(W&&(L<256))){T=n}if((L==261)||(W&&(L<261))){T=p}if(T==null){T=Buffer.concat([IntToStr(8),IntToStr(4)])}else{T=Buffer.concat([IntToStr(8),IntToStr(T.length+4),T])}if(T.length>G){T=T.slice(0,G)}B.SendDataToHost(I,true,T,K&1);return -1;case 74:if(B.debug){console.log("SCSI: GET_EVENT_STATUS_NOTIFICATION",I,H[1],H[4],H[9])}if((H[1]!=1)&&(H[4]!=16)){if(B.debug){console.log("SCSI ERROR")}B.SendCommandEndResponse(1,5,I,38,1);break}var S=0;if((I==160)&&(B.floppy!=null)){S=2}else{if((I==176)&&(B.cdrom!=null)){S=2}}B.SendDataToHost(I,true,new Buffer([0,S,128,0]),K&1);break;case 76:B.SendCommand(81,Buffer.concat([IntToStrX(0),IntToStrX(0),IntToStrX(0),new Buffer([135,80,3,0,0,0,176,81,5,32,0])]),true);break;case 81:if(B.debug){console.log("SCSI READ_DISC_INFO",I)}B.SendCommandEndResponse(0,5,I,32,0);return -1;case 85:if(B.debug){console.log("SCSI ERROR: MODE_SELECT_10",I)}B.SendCommandEndResponse(1,5,I,32,0);return -1;case 90:if(B.debug){console.log("SCSI: MODE_SENSE_10",I,H[2]&63)}var G=ReadShort(H,7);var T=null;if(G==0){B.SendDataToHost(I,true,Buffer.concat([IntToStr(60),IntToStr(8)]),K&1);return -1}var U=0;if(I==160){if(B.floppy!=null){U=(B.floppy.size>>9)}}else{if(B.cdrom!=null){U=(B.cdrom.size>>11)}}switch(H[2]&63){case 1:if(I==160){T=(U<=2880)?y:A}else{T=w}break;case 5:if(I==160){T=(U<=2880)?x:z}break;case 63:if(I==160){T=(U<=2880)?r:s}else{T=q}break;case 26:if(I==176){T=t}break;case 29:if(I==176){T=u}break;case 42:if(I==176){T=v}break}if(T==null){B.SendCommandEndResponse(0,5,I,32,0)}else{B.SendDataToHost(I,true,T,K&1)}break;default:if(B.debug){console.log("IDER: Unknown SCSI command",H[0])}B.SendCommandEndResponse(0,5,I,32,0);return -1}return 0}function C(E,G,H,F){var I=null;var J=0;if(E==160){I=B.floppy;if(B.floppy!=null){J=(B.floppy.size>>9)}}if(E==176){I=B.cdrom;if(B.cdrom!=null){J=(B.cdrom.size>>11)}}if((H<0)||(G+H>J)){B.SendCommandEndResponse(1,5,E,33,0);return 0}if(H==0){B.SendCommandEndResponse(1,0,E,0,0);return 0}if(I!=null){if(B.sectorStats){B.sectorStats(1,(E==160)?0:1,J,G,H)}if(E==160){G<<=9;H<<=9}else{G<<=11;H<<=11}if(d!==null){e.push({media:I,dev:E,lba:G,len:H,fr:F})}else{d=I;a=E;b=G;c=H;D(F)}}}var e=[];var f=false;var d=null;var a;var b;var c;function D(E){var G=c,F=b;if(c>B.iderinfo.readbfr){G=B.iderinfo.readbfr}c-=G;b+=G;var I=new Buffer(G);fs.readSync(d.file,I,0,G,F);B.SendDataToHost(a,(c==0),I,E&1);if((c>0)&&(f==false)){D(E)}else{d=null;if(f){B.SendCommand(71);e=[];f=false}else{if(e.length>0){var H=e.shift();d=H.media;a=H.dev;b=H.lba;c=H.len;D(H.fr)}}}}return B};function ShortToStr(a){return new Buffer([(a>>8)&255,a&255])}function ShortToStrX(a){return new Buffer([a&255,(a>>8)&255])}function IntToStr(a){return new Buffer([(a>>24)&255,(a>>16)&255,(a>>8)&255,a&255])}function IntToStrX(a){return new Buffer([a&255,(a>>8)&255,(a>>16)&255,(a>>24)&255])}function ReadShort(b,a){return(b[a]<<8)+b[a+1]}function ReadShortX(b,a){return(b[a+1]<<8)+b[a]}function ReadInt(b,a){return(b[a]*16777216)+(b[a+1]<<16)+(b[a+2]<<8)+b[a+3]}function ReadSInt(b,a){return(b[a]<<24)+(b[a+1]<<16)+(b[a+2]<<8)+b[a+3]}function ReadIntX(b,a){return(b[a+3]*16777216)+(b[a+2]<<16)+(b[a+1]<<8)+b[a]}; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt-lme.min.js b/agents/modules_meshcmd_min/amt-lme.min.js deleted file mode 100644 index b8254355..00000000 --- a/agents/modules_meshcmd_min/amt-lme.min.js +++ /dev/null @@ -1 +0,0 @@ -var MemoryStream=require("MemoryStream");var lme_id=0;var lme_port_offset=0;var xmlParser=require("amt-xml");var APF_DISCONNECT=1;var APF_SERVICE_REQUEST=5;var APF_SERVICE_ACCEPT=6;var APF_USERAUTH_REQUEST=50;var APF_USERAUTH_FAILURE=51;var APF_USERAUTH_SUCCESS=52;var APF_GLOBAL_REQUEST=80;var APF_REQUEST_SUCCESS=81;var APF_REQUEST_FAILURE=82;var APF_CHANNEL_OPEN=90;var APF_CHANNEL_OPEN_CONFIRMATION=91;var APF_CHANNEL_OPEN_FAILURE=92;var APF_CHANNEL_WINDOW_ADJUST=93;var APF_CHANNEL_DATA=94;var APF_CHANNEL_CLOSE=97;var APF_PROTOCOLVERSION=192;function lme_object(){this.ourId=++lme_id;this.amtId=-1;this.LME_CHANNEL_STATUS="LME_CS_FREE";this.txWindow=0;this.rxWindow=0;this.localPort=0;this.errorCount=0}function stream_bufferedWrite(){var a=require("events").inherits(this);this.buffer=[];this._readCheckImmediate=undefined;this._ObjectID="bufferedWriteStream";a.createEvent("close");a.createEvent("drain");a.createEvent("error");a.createEvent("finish");a.createEvent("pipe");a.createEvent("unpipe");a.createEvent("readable");this.isEmpty=function(){return(this.buffer.length==0)};this.isWaiting=function(){return(this._readCheckImmediate==undefined)};this.write=function(c){for(var b in arguments){if(typeof(arguments[b])=="function"){this.once("drain",arguments[b]);break}}var d=Buffer.alloc(c.length);c.copy(d);this.buffer.push({offset:0,data:d});this.emit("readable");return(this.buffer.length==0?true:false)};this.read=function(){var f=arguments.length==0?undefined:arguments[0];var b=0;var d=[];while((f==undefined||b0){var c=this.buffer[0].data.length-this.buffer[0].offset;var e=this.buffer[0].offset;if(c>(f-b)){d.push(this.buffer[0].data.slice(e,e+f-b));this.buffer[0].offset+=(f-b);b+=(f-b)}else{d.push(this.buffer[0].data.slice(e));b+=c;this.buffer.shift()}}this._readCheckImmediate=setImmediate(function(g){g._readCheckImmediate=undefined;if(g.buffer.length==0){g.emit("drain")}else{g.emit("readable")}},this);return(Buffer.concat(d))}}function lme_heci(c){var a=require("events").inherits(this);a.createEvent("error");a.createEvent("connect");a.createEvent("notify");a.createEvent("bind");if((c!=null)&&(c.debug==true)){lme_port_offset=-100}var b=require("heci");this.INITIAL_RXWINDOW_SIZE=4096;this._ObjectID="lme";this._LME=b.create();this._LME._binded={};this._LME.LMS=this;this._LME.on("error",function(d){this.LMS.emit("error",d)});this._LME.on("connect",function(){this.on("data",function(k){var l=k.readUInt8(0);switch(l){default:console.log("Unhandled LME Command "+l+", "+k.length+" byte(s).");break;case APF_SERVICE_REQUEST:var A=k.readUInt32BE(1);var z=k.slice(5,A+5);if(z=="pfwd@amt.intel.com"||z=="auth@amt.intel.com"){var G=Buffer.alloc(5+A);G.writeUInt8(6,0);G.writeUInt32BE(A,1);G.write(z.toString(),5);this.write(G)}else{}break;case APF_GLOBAL_REQUEST:var A=k.readUInt32BE(1);var z=k.slice(5,A+5).toString();switch(z){case"tcpip-forward":var w=k.readUInt32BE(A+6);var H=k.readUInt32BE(A+10+w);if(this[z]==undefined){this[z]={}}if(this[z][H]!=null){for(var t in this.sockets){var h=this.sockets[t];if(h.localPort==H){this.sockets[t].end();delete this.sockets[t]}}}if(this[z][H]==null){try{this[z][H]=require("net").createServer();this[z][H].HECI=this;if(lme_port_offset==0){this[z][H].listen({port:H,host:"127.0.0.1"})}else{this[z][H].listen({port:(H+lme_port_offset)})}this[z][H].on("connection",function(e){this.HECI.LMS.bindDuplexStream(e,e.remoteFamily,e.localPort-lme_port_offset)});this._binded[H]=true;this.LMS.emit("bind",this._binded)}catch(p){console.log(p,"Port "+H)}}var G=Buffer.alloc(5);G.writeUInt8(81,0);G.writeUInt32BE(H,1);this.write(G);break;case"cancel-tcpip-forward":var G=Buffer.alloc(1);G.writeUInt8(APF_REQUEST_SUCCESS,0);this.write(G);break;case"udp-send-to@amt.intel.com":var G=Buffer.alloc(1);G.writeUInt8(APF_REQUEST_FAILURE,0);this.write(G);break;default:break}break;case APF_CHANNEL_OPEN_CONFIRMATION:var J=k.readUInt32BE(1);var N=k.readUInt32BE(5);var O=k.readUInt32BE(9);if(this.sockets[J]!=undefined){this.sockets[J].lme.amtId=N;this.sockets[J].lme.rxWindow=O;this.sockets[J].lme.txWindow=O;this.sockets[J].lme.LME_CHANNEL_STATUS="LME_CS_CONNECTED";this.sockets[J].bufferedStream=new stream_bufferedWrite();this.sockets[J].bufferedStream.socket=this.sockets[J];this.sockets[J].bufferedStream.on("readable",function(){if(this.socket.lme.txWindow>0){var e=this.read(this.socket.lme.txWindow);var i=Buffer.alloc(9+e.length);i.writeUInt8(APF_CHANNEL_DATA,0);i.writeUInt32BE(this.socket.lme.amtId,1);i.writeUInt32BE(e.length,5);e.copy(i,9);this.socket.lme.txWindow-=e.length;this.socket.HECI.write(i)}});this.sockets[J].bufferedStream.on("drain",function(){this.socket.resume()});this.sockets[J].on("data",function(e){if(!this.bufferedStream.write(e)){this.pause()}});this.sockets[J].on("end",function(){var e=Buffer.alloc(5);e.writeUInt8(APF_CHANNEL_CLOSE,0);e.writeUInt32BE(this.lme.amtId,1);this.HECI.write(e)});this.sockets[J].resume()}break;case APF_PROTOCOLVERSION:var x=k.readUInt32BE(1);var y=k.readUInt32BE(5);var L=k.readUInt32BE(9);var G=Buffer.alloc(93);G.writeUInt8(192,0);G.writeUInt32BE(1,1);G.writeUInt32BE(0,5);G.writeUInt32BE(L,9);this.write(G);break;case APF_CHANNEL_WINDOW_ADJUST:var K=k.readUInt32BE(1);var g=k.readUInt32BE(5);if(this.sockets[K]!=undefined){this.sockets[K].lme.txWindow+=g;if(!this.sockets[K].bufferedStream.isEmpty()&&this.sockets[K].bufferedStream.isWaiting()){this.sockets[K].bufferedStream.emit("readable")}}else{console.log("Unknown Recipient ID/"+K+" for APF_CHANNEL_WINDOW_ADJUST")}break;case APF_CHANNEL_DATA:var K=k.readUInt32BE(1);var n=k.readUInt32BE(5);var m=k.slice(9,9+n);if((this.sockets!=null)&&(this.sockets[K]!=undefined)){this.sockets[K].pendingBytes.push(m.length);this.sockets[K].write(m,function(){var i=this.pendingBytes.shift();var e=Buffer.alloc(9);e.writeUInt8(APF_CHANNEL_WINDOW_ADJUST,0);e.writeUInt32BE(this.lme.amtId,1);e.writeUInt32BE(i,5);this.HECI.write(e)})}else{if((this.insockets!=null)&&(this.insockets[K]!=undefined)){var h=this.insockets[K];if(h.data==null){h.data=m.toString()}else{h.data+=m.toString()}h.rxWindow+=n;var s=parseHttp(h.data);if((s!=null)||(h.data.length>=8000)){var B=null;try{B=xmlParser.ParseWsman(s)}catch(o){}if(B!=null){this.LMS.emit("notify",B,h.options,_lmsNotifyToString(B),_lmsNotifyToCode(B))}var f=Buffer.alloc(5);f.writeUInt8(APF_CHANNEL_CLOSE,0);f.writeUInt32BE(d,1);this.write(f)}else{if(h.rxWindow>6000){var f=Buffer.alloc(9);f.writeUInt8(APF_CHANNEL_WINDOW_ADJUST,0);f.writeUInt32BE(h.amtId,1);f.writeUInt32BE(h.rxWindow,5);this.write(f);h.rxWindow=0}}}else{console.log("Unknown Recipient ID/"+K+" for APF_CHANNEL_DATA")}}break;case APF_CHANNEL_OPEN_FAILURE:var K=k.readUInt32BE(1);var M=k.readUInt32BE(5);if((this.sockets!=null)&&(this.sockets[K]!=undefined)){this.sockets[K].end();delete this.sockets[K]}else{if((this.insockets!=null)&&(this.insockets[K]!=undefined)){delete this.insockets[K]}else{console.log("Unknown Recipient ID/"+K+" for APF_CHANNEL_OPEN_FAILURE")}}break;case APF_CHANNEL_CLOSE:var K=k.readUInt32BE(1);if((this.sockets!=null)&&(this.sockets[K]!=undefined)){this.sockets[K].end();var d=this.sockets[K].lme.amtId;var f=Buffer.alloc(5);delete this.sockets[K];f.writeUInt8(APF_CHANNEL_CLOSE,0);f.writeUInt32BE(d,1);this.write(f)}else{if((this.insockets!=null)&&(this.insockets[K]!=undefined)){delete this.insockets[K]}else{console.log("Unknown Recipient ID/"+K+" for APF_CHANNEL_CLOSE")}}break;case APF_CHANNEL_OPEN:var A=k.readUInt32BE(1);var z=k.slice(5,A+5).toString();var j=k.readUInt32BE(A+5);var u=k.readUInt32BE(A+9);var r=k.readUInt32BE(A+17);var q=k.slice(A+21,A+21+r).toString();var I=k.readUInt32BE(A+21+r);var D=k.readUInt32BE(A+25+r);var C=k.slice(A+29+r,A+29+r+D).toString();var E=k.readUInt32BE(A+29+r+D);if(this.insockets==null){this.insockets={}}var F=++lme_id;var v=new lme_object();v.ourId=F;v.amtId=j;v.txWindow=u;v.rxWindow=0;v.options={target:q,targetPort:I,source:C,sourcePort:E};this.insockets[F]=v;var f=Buffer.alloc(17);f.writeUInt8(APF_CHANNEL_OPEN_CONFIRMATION,0);f.writeUInt32BE(j,1);f.writeUInt32BE(F,5);f.writeUInt32BE(4000,9);f.writeUInt32BE(4294967295,13);this.write(f);break}});this.LMS.emit("connect");this.resume()});this.bindDuplexStream=function(e,h,g){var j=e;j.pendingBytes=[];j.HECI=this._LME;j.LMS=this;j.lme=new lme_object();j.lme.Socket=j;j.localPort=g;var d=new MemoryStream();d.writeUInt8(90);d.writeUInt32BE(15);d.write("forwarded-tcpip");d.writeUInt32BE(j.lme.ourId);d.writeUInt32BE(this.INITIAL_RXWINDOW_SIZE);d.writeUInt32BE(4294967295);for(var f=0;f<2;++f){if(h=="IPv6"){d.writeUInt32BE(3);d.write("::1")}else{d.writeUInt32BE(9);d.write("127.0.0.1")}d.writeUInt32BE(g)}this._LME.write(d.buffer);if(this._LME.sockets==undefined){this._LME.sockets={}}this._LME.sockets[j.lme.ourId]=j;j.pause()};this._LME.connect(b.GUIDS.LME,{noPipeline:0})}function parseHttp(c){var d=c.indexOf("\r\n\r\n");if((d==-1)||(c.length<(d+2))){return null}var b=require("http-headers")(c.substring(0,d),true);var a=parseInt(b["content-length"]);if(c.length>=a+d+4){return c.substring(d+4,d+4+a)}return null}function _lmsNotifyToCode(c){if((c==null)||(c.Body==null)||(c.Body.MessageID==null)){return null}var b=c.Body.MessageID;try{b+="-"+c.Body.MessageArguments[0]}catch(a){}return b}function _lmsNotifyToString(c){if((c==null)||(c.Body==null)||(c.Body.MessageID==null)){return null}var b=c.Body.MessageID;try{b+="-"+c.Body.MessageArguments[0]}catch(a){}if(lmsEvents[b]){return lmsEvents[b]}return null}var lmsEvents={iAMT0001:"System Defense Policy %1s triggered.",iAMT0002:"Agent Presence Agent %1s not started.",iAMT0003:"Agent Presence Agent %1s stopped.",iAMT0004:"Agent Presence Agent %1s running.",iAMT0005:"Agent Presence Agent %1s expired.",iAMT0006:"Agent Presence Agent %1s suspended.",iAMT0007:"Host software attempt to disable AMT Network link detected.",iAMT0008:"Host software attempt to disable AMT Network link detected -- Host Network link blocked.",iAMT0009:"AMT clock or FLASH wear-out protection disabled.",iAMT0010:"Intel(R) AMT Network Interface %1s heuristics defense slow threshold trespassed.",iAMT0011:"Intel(R) AMT Network Interface %1s heuristics defense fast threshold trespassed.",iAMT0012:"Intel(R) AMT Network Interface %1s heuristics defense factory defined threshold trespassed.",iAMT0013:"Intel(R) AMT Network Interface %1s heuristics defense Encounter timeout expired.",iAMT0014:"General certificate error.",iAMT0015:"Certificate expired.",iAMT0016:"No trusted root certificate.",iAMT0017:"Not configured to work with server certificate.",iAMT0018:"Certificate revoked.",iAMT0019:"RSA exponent too large.",iAMT0020:"RSA modulus too large.",iAMT0021:"Unsupported digest.",iAMT0022:"Distinguished name too long.",iAMT0023:"Key usage missing.",iAMT0024:"General SSL handshake error.",iAMT0025:"General 802.1x error.",iAMT0026:"AMT Diagnostic AlertEAC error - General NAC error.",iAMT0027:"AMT Diagnostic AlertEAC error - attempt to get a NAC posture while AMT NAC is disabled.",iAMT0028:"AMT Diagnostic AlertEAC error - attempt to get a posture of an unsupported type.",iAMT0029:"Audit log storage is 50% full.",iAMT0030:"Audit log storage is 75% full.",iAMT0031:"Audit log storage is 85% full.",iAMT0032:"Audit log storage is 95% full.",iAMT0033:"Audit log storage is full.",iAMT0034:"Firmware Update Event - Partial.",iAMT0035:"Firmware Update Event - Failure.",iAMT0036:"Remote connectivity initiated.",iAMT0037:"ME Presence event.","iAMT0038-0":"AMT is being unprovisioned using BIOS command.","iAMT0038-1":"AMT is being unprovisioned using Local MEI command.","iAMT0038-2":"AMT is being unprovisioned using Local WS-MAN/SOAP command.","iAMT0038-3":"AMT is being unprovisioned using Remote WS-MAN/SOAP command.",iAMT0039:"HW Asset Error.",iAMT0050:"User Notification Alert - General Notification.","iAMT0050-16":"User Notification Alert - Circuit Breaker notification (CB Drop TX filter hit.).","iAMT0050-17":"User Notification Alert - Circuit Breaker notification (CB Rate Limit TX filter hit.).","iAMT0050-18":"User Notification Alert - Circuit Breaker notification (CB Drop RX filter hit.).","iAMT0050-19":"User Notification Alert - Circuit Breaker notification (CB Rate Limit RX filter hit.).","iAMT0050-32":"User Notification Alert - EAC notification.","iAMT0050-48":"User Notification Alert - Remote diagnostics - (Remote Redirection session started - SOL).","iAMT0050-49":"User Notification Alert - Remote diagnostics - (Remote Redirection session stopped - SOL).","iAMT0050-50":"User Notification Alert - Remote diagnostics. (Remote Redirection session started - IDE-R).","iAMT0050-51":"User Notification Alert - Remote diagnostics. (Remote Redirection session stopped - IDE-R).","iAMT0050-66":"User Notification Alert - WLAN notification (Host profile mismatch - Management Interface ignored).","iAMT0050-67":"User Notification Alert - WLAN notification (Management device overrides host radio).","iAMT0050-68":"User Notification Alert - WLAN notification (Host profile security mismatch).","iAMT0050-69":"User Notification Alert - WLAN notification (Management device relinquishes control over host Radio).",iAMT0051:"User Notification Alert - SecIo event.","iAMT0051-0":"User Notification Alert - SecIo event semaphore at host.","iAMT0051-1":"User Notification Alert - semaphore at ME.","iAMT0051-2":"User Notification Alert - SecIo event - semaphore timeout.",iAMT0052:"User Notification Alert - KVM session event.","iAMT0052-0":"User Notification Alert - KVM session requested.","iAMT0052-1":"User Notification Alert - KVM session started.","iAMT0052-2":"User Notification Alert - KVM session stopped.","iAMT0052-3":"User Notification Alert - KVM data channel.",iAMT0053:"User Notification Alert - RCS notification.","iAMT0053-50":"User Notification Alert - RCS notification (HW button pressed. Connection initiated automatically).","iAMT0053-52":"User Notification Alert - RCS notification (HW button pressed. Connection wasn't initiated automatically).","iAMT0053-53":"User Notification Alert - RCS notification (Contracts updated).",iAMT0054:"User Notification Alert - WLAN notification. Wireless Profile sync enablement state changed.",iAMT0055:"User Notification Alert - Provisioning state change notification.","iAMT0055-0":"User Notification Alert - Provisioning state change notification - Pre-configuration.","iAMT0055-1":"User Notification Alert - Provisioning state change notification - In configuration.","iAMT0055-2":"User Notification Alert - Provisioning state change notification - Post-configuration.","iAMT0055-3":"User Notification Alert - Provisioning state change notification - Unprovision process has started.",iAMT0056:"User Notification Alert - System Defense change notification.",iAMT0057:"User Notification Alert - Network State change notification.",iAMT0058:"User Notification Alert - Remote Access change notification.","iAMT0058-1":"User Notification Alert - Remote Access change notification - tunnel is closed.",iAMT0059:"User Notification Alert - KVM enabled event.","iAMT0059-0":"User Notification Alert - KVM enabled event - KVM disabled.","iAMT0059-1":"User Notification Alert - KVM enabled event - KVM enabled (both from MEBx and PTNI).",iAMT0060:"User Notification Alert - SecIO configuration event.",iAMT0061:"ME FW reset occurred.",iAMT0062:"User Notification Alert - IpSyncEnabled event.","iAMT0062-0":"User Notification Alert - IpSyncEnabled event - IpSync disabled.","iAMT0062-1":"User Notification Alert - IpSyncEnabled event - IpSync enabled.",iAMT0063:"User Notification Alert - HTTP Proxy sync enabled event.","iAMT0063-0":"User Notification Alert - HTTP Proxy sync enabled event - HTTP Proxy Sync disabled.","iAMT0063-1":"User Notification Alert - HTTP Proxy sync enabled event - HTTP Proxy Sync enabled.",iAMT0064:"User Notification Alert - User Consent event.","iAMT0064-1":"User Notification Alert - User Consent event - User Consent granted.","iAMT0064-2":"User Notification Alert - User Consent event - User Consent ended.","iAMT0067-0":"Graceful Remote Control Operation - Shutdown.","iAMT0067-1":"Graceful Remote Control Operation - Reset.","iAMT0067-2":"Graceful Remote Control Operation - Hibernate.","iAMT0068-0":"Link Protection Notification - No link protection.","iAMT0068-1":"Link Protection Notification - Passive link protection.","iAMT0068-2":"Link Protection Notification - High link protection.","iAMT0069-0":"Local Time Sync Enablement Notification - Local Time Sync Disabled.","iAMT0069-1":"Local Time Sync Enablement Notification - Local Time Sync Enabled.",iAMT0070:"Host Reset Triggered by WD Expiration Notification.",PLAT0004:"The chassis %1s was opened.",PLAT0005:"The chassis %1s was closed.",PLAT0006:"The drive bay %1s was opened.",PLAT0007:"The drive bay %1s was closed.",PLAT0008:"The I/O card area %1s was opened.",PLAT0009:"The I/O card area %1s was closed.",PLAT0010:"The processor area %1s was opened.",PLAT0011:"The processor area %1s was closed.",PLAT0012:"The LAN %1s has been disconnected.",PLAT0013:"The LAN %1s has been connected.",PLAT0016:"The permission to insert package %1s has been granted.",PLAT0017:"The permission to insert package %1s has been removed.",PLAT0018:"The fan card area %1s is open.",PLAT0019:"The fan card area %1s is closed.",PLAT0022:"The computer system %1s has detected a secure mode violation.",PLAT0024:"The computer system %1s has detected a pre-boot user password violation.",PLAT0026:"The computer system %1s has detected a pre-boot setup password violation.",PLAT0028:"The computer system %1s has detected a network boot password violation.",PLAT0030:"The computer system %1s has detected a password violation.",PLAT0032:"The management controller %1s has detected an out-of-band password violation.",PLAT0034:"The processor %1s has been added.",PLAT0035:"The processor %1s has been removed.",PLAT0036:"An over-temperature condition has been detected on the processor %1s.",PLAT0037:"An over-temperature condition has been removed on the processor %1s.",PLAT0038:"The processor %1s is operating in a degraded State.",PLAT0039:"The processor %1s is no longer operating in a degraded State.",PLAT0040:"The processor %1s has failed.",PLAT0042:"The processor %1s has failed.",PLAT0044:"The processor %1s has failed.",PLAT0046:"The processor %1s has failed.",PLAT0048:"The processor %1s has failed.",PLAT0060:"The processor %1s has been enabled.",PLAT0061:"The processor %1s has been disabled.",PLAT0062:"The processor %1s has a configuration mismatch.",PLAT0064:"A terminator has been detected on the processor %1s.",PLAT0084:"The Power Supply %1s has been added.",PLAT0085:"The Power Supply %1s has been removed.",PLAT0086:"The Power Supply %1s has failed.",PLAT0088:"Failure predicted on power supply %1s.",PLAT0096:"The input to power supply %1s has been lost or fallen out of range.",PLAT0098:"The power supply %1s is operating in an input state that is out of range.",PLAT0099:"The power supply %1s has returned to a normal input state.",PLAT0100:"The power supply %1s has lost input.",PLAT0104:"The power supply %1s has a configuration mismatch.",PLAT0106:"Power supply %1s has been disabled.",PLAT0107:"Power supply %1s has been enabled.",PLAT0108:"Power supply %1s has been power cycled.",PLAT0110:"Power supply %1s has encountered an error during power down.",PLAT0112:"Power supply %1s has lost power.",PLAT0114:"Soft power control has failed for power supply %1s.",PLAT0116:"Power supply %1s has failed.",PLAT0118:"Failure predicted on power supply %1s.",PLAT0120:"Memory subsystem failure.",PLAT0122:"DIMM missing.",PLAT0124:"Memory error detected & corrected for DIMM %1s.",PLAT0128:"Memory DIMM %1s added.",PLAT0129:"Memory DIMM %1s removed.",PLAT0130:"Memory DIMM %1s enabled.",PLAT0131:"Memory DIMM %1s disabled.",PLAT0134:"Memory parity error for DIMM %1s.",PLAT0136:"Memory scrub failure for DIMM %1s.",PLAT0138:"Memory uncorrectable error detected for DIMM %1s.",PLAT0140:"Memory sparing initiated for DIMM %1s.",PLAT0141:"Memory sparing concluded for DIMM %1s.",PLAT0142:"Memory DIMM %1s Throttled.",PLAT0144:"Memory logging limit reached for DIMM %1s.",PLAT0145:"Memory logging limit removed for DIMM %1s.",PLAT0146:"An over-temperature condition has been detected on the Memory DIMM %1s.",PLAT0147:"An over-temperature condition has been removed on the Memory DIMM %1s.",PLAT0162:"The drive %1s has been added.",PLAT0163:"The drive %1s has been removed.",PLAT0164:"The drive %1s has been disabled due to a detected fault.",PLAT0167:"The drive %1s has been enabled.",PLAT0168:"Failure predicted on drive %1s.",PLAT0170:"Hot spare enabled for %1s.",PLAT0171:"Hot spare disabled for %1s.",PLAT0172:"Consistency check has begun for %1s.",PLAT0173:"Consistency check completed for %1s.",PLAT0174:"Array %1s is in critical condition.",PLAT0176:"Array %1s has failed.",PLAT0177:"Array %1s has been restored.",PLAT0178:"Rebuild in progress for array %1s.",PLAT0179:"Rebuild completed for array %1s.",PLAT0180:"Rebuild Aborted for array %1s.",PLAT0184:"The system %1s encountered a POST error.",PLAT0186:"The system %1s encountered a firmware hang.",PLAT0188:"The system %1s encountered firmware progress.",PLAT0192:"The log %1s has been disabled.",PLAT0193:"The log %1s has been enabled.",PLAT0194:"The log %1s has been disabled.",PLAT0195:"The log %1s has been enabled.",PLAT0196:"The log %1s has been disabled.",PLAT0198:"The log %1s has been enabled.",PLAT0200:"The log %1s has been cleared.",PLAT0202:"The log %1s is full.",PLAT0203:"The log %1s is no longer full.",PLAT0204:"The log %1s is almost full.",PLAT0208:"The log %1s has a configuration error.",PLAT0210:"The system %1s has been reconfigured.",PLAT0212:"The system %1s has encountered an OEM system boot event.",PLAT0214:"The system %1s has encountered an unknown system hardware fault.",PLAT0216:"The system %1s has generated an auxiliary log entry.",PLAT0218:"The system %1s has executed a PEF action.",PLAT0220:"The system %1s has synchronized the system clock.",PLAT0222:"A diagnostic interrupt has occurred on system %1s.",PLAT0224:"A bus timeout has occurred on system %1s.",PLAT0226:"An I/O channel check NMI has occurred on system %1s.",PLAT0228:"A software NMI has occurred on system %1s.",PLAT0230:"System %1s has recovered from an NMI.",PLAT0232:"A PCI PERR has occurred on system %1s.",PLAT0234:"A PCI SERR has occurred on system %1s.",PLAT0236:"An EISA fail safe timeout occurred on system %1s.",PLAT0238:"A correctable bus error has occurred on system %1s.",PLAT0240:"An uncorrectable bus error has occurred on system %1s.",PLAT0242:"A fatal NMI error has occurred on system %1s.",PLAT0244:"A fatal bus error has occurred on system %1s.",PLAT0246:"A bus on system %1s is operating in a degraded state.",PLAT0247:"A bus on system %1s is no longer operating in a degraded state.",PLAT0248:"The power button %1s has been pressed.",PLAT0249:"The power button %1s has been released.",PLAT0250:"The sleep button %1s has been pressed.",PLAT0251:"The sleep button %1s has been released.",PLAT0252:"The reset button %1s has been pressed.",PLAT0253:"The reset button %1s has been released.",PLAT0254:"The latch to %1s has been opened.",PLAT0255:"The latch to %1s has been closed.",PLAT0256:"The service request %1s has been enabled.",PLAT0257:"The service request %1s has been completed.",PLAT0258:"Power control of system %1s has failed.",PLAT0262:"The network port %1s has been connected.",PLAT0263:"The network port %1s has been disconnected.",PLAT0266:"The connector %1s has encountered a configuration error.",PLAT0267:"The connector %1s configuration error has been repaired.",PLAT0272:"Power on for system %1s.",PLAT0274:"Power cycle hard requested for system %1s.",PLAT0276:"Power cycle soft requested for system %1s.",PLAT0278:"PXE boot requested for system %1s.",PLAT0280:"Diagnostics boot requested for system %1s.",PLAT0282:"System restart requested for system %1s.",PLAT0284:"System restart begun for system %1s.",PLAT0286:"No bootable media available for system %1s.",PLAT0288:"Non-bootable media selected for system %1s.",PLAT0290:"PXE server not found for system %1s.",PLAT0292:"User timeout on boot for system %1s.",PLAT0296:"System %1s boot from floppy initiated.",PLAT0298:"System %1s boot from local drive initiated.",PLAT0300:"System %1s boot from PXE on network port initiated.",PLAT0302:"System %1s boot diagnostics initiated.",PLAT0304:"System %1s boot from CD initiated.",PLAT0306:"System %1s boot from ROM initiated.",PLAT0312:"System %1s boot initiated.",PLAT0320:"Critical stop during OS load on system %1s.",PLAT0322:"Run-time critical stop on system %1s.",PLAT0324:"OS graceful stop on system %1s.",PLAT0326:"OS graceful shutdown begun on system %1s.",PLAT0327:"OS graceful shutdown completed on system %1s.",PLAT0328:"Agent not responding on system %1s.",PLAT0329:"Agent has begun responding on system %1s.",PLAT0330:"Fault in slot on system %1s.",PLAT0331:"Fault condition removed on system %1s.",PLAT0332:"Identifying slot on system %1s.",PLAT0333:"Identify stopped on slot for system %1s.",PLAT0334:"Package installed in slot for system %1s.",PLAT0336:"Slot empty system %1s.",PLAT0338:"Slot in system %1s is ready for installation.",PLAT0340:"Slot in system %1s is ready for removal.",PLAT0342:"Power is off on slot of system %1s.",PLAT0344:"Power is on for slot of system %1s.",PLAT0346:"Removal requested for slot of system %1s.",PLAT0348:"Interlock activated on slot of system %1s.",PLAT0349:"Interlock de-asserted on slot of system %1s.",PLAT0350:"Slot disabled on system %1s.",PLAT0351:"Slot enabled on system %1s.",PLAT0352:"Slot of system %1s holds spare.",PLAT0353:"Slot of system %1s no longer holds spare.",PLAT0354:"Computer system %1s enabled.",PLAT0356:"Computer system %1s is in sleep - light mode.",PLAT0358:"Computer system %1s is in hibernate.",PLAT0360:"Computer system %1s is in standby.",PLAT0362:"Computer system %1s is in soft off mode.",PLAT0364:"Computer system %1s is in hard off mode.",PLAT0366:"Computer system %1s is sleeping.",PLAT0368:"Watchdog timer expired for %1s.",PLAT0370:"Reboot of system initiated by watchdog %1s.",PLAT0372:"Powering off system initiated by watchdog %1s.",PLAT0374:"Power cycle of system initiated by watchdog %1s.",PLAT0376:"Watchdog timer interrupt occurred for %1s.",PLAT0378:"A page alert has been generated for system %1s.",PLAT0380:"A LAN alert has been generated for system %1s.",PLAT0382:"An event trap has been generated for system %1s.",PLAT0384:"An SNMP trap has been generated for system %1s.",PLAT0390:"%1s detected as present.",PLAT0392:"%1s detected as absent.",PLAT0394:"%1s has been disabled.",PLAT0395:"%1s has been enabled.",PLAT0396:"Heartbeat lost for LAN %1s.",PLAT0397:"Heartbeat detected for LAN %1s.",PLAT0398:"Sensor %1s is unavailable or degraded on management system.",PLAT0399:"Sensor %1s has returned to normal on management system.",PLAT0400:"Controller %1s is unavailable or degraded on management system.",PLAT0401:"Controller %1s has returned to normal on management system.",PLAT0402:"Management system %1s is off-line.",PLAT0404:"Management system %1s is disabled.",PLAT0405:"Management system %1s is enabled.",PLAT0406:"Sensor %1s has failed on management system.",PLAT0408:"FRU %1s has failed on management system.",PLAT0424:"The battery %1s is critically low.",PLAT0427:"The battery %1s is no longer critically low.",PLAT0430:"The battery %1s has been removed from unit.",PLAT0431:"The battery %1s has been added.",PLAT0432:"The battery %1s has failed.",PLAT0434:"Session audit is deactivated on system %1s.",PLAT0435:"Session audit is activated on system %1s.",PLAT0436:"A hardware change occurred on system %1s.",PLAT0438:"A firmware or software change occurred on system %1s.",PLAT0440:"A hardware incompatibility was detected on system %1s.",PLAT0442:"A firmware or software incompatibility was detected on system %1s.",PLAT0444:"Invalid or unsupported hardware was detected on system %1s.",PLAT0446:"Invalid or unsupported firmware or software was detected on system %1s.",PLAT0448:"A successful hardware change was detected on system %1s.",PLAT0450:"A successful software or firmware change was detected on system %1s.",PLAT0464:"FRU %1s not installed on system.",PLAT0465:"FRU %1s installed on system.",PLAT0466:"Activation requested for FRU %1s on system.",PLAT0467:"FRU %1s on system is active.",PLAT0468:"Activation in progress for FRU %1s on system.",PLAT0470:"Deactivation request for FRU %1s on system.",PLAT0471:'FRU %1s on system is in standby or "hot spare" state.',PLAT0472:"Deactivation in progress for FRU %1s on system.",PLAT0474:"Communication lost with FRU %1s on system.",PLAT0476:"Numeric sensor %1s going low (lower non-critical).",PLAT0478:"Numeric sensor %1s going high (lower non-critical).",PLAT0480:"Numeric sensor %1s going low (lower critical).",PLAT0482:"Numeric sensor %1s going high (lower critical).",PLAT0484:"Numeric sensor %1s going low (lower non-recoverable).",PLAT0486:"Numeric sensor %1s going high (lower non-critical).",PLAT0488:"Numeric sensor %1s going low (upper non-critical).",PLAT0490:"Numeric sensor %1s going high (upper non-critical).",PLAT0492:"Numeric sensor %1s going low (upper critical).",PLAT0494:"Numeric sensor %1s going high (upper critical).",PLAT0496:"Numeric sensor %1s going low (upper non-recoverable).",PLAT0498:"Numeric sensor %1s going high (upper non-recoverable).",PLAT0500:"Sensor %1s has transitioned to idle.",PLAT0502:"Sensor %1s has transitioned to active.",PLAT0504:"Sensor %1s has transitioned to busy.",PLAT0508:"Sensor %1s has asserted.",PLAT0509:"Sensor %1s has de-asserted.",PLAT0510:"Sensor %1s is asserting predictive failure.",PLAT0511:"Sensor %1s is de-asserting predictive failure.",PLAT0512:"Sensor %1s has indicated limit exceeded.",PLAT0513:"Sensor %1s has indicated limit no longer exceeded.",PLAT0514:"Sensor %1s has indicated performance met.",PLAT0516:"Sensor %1s has indicated performance lags.",PLAT0518:"Sensor %1s has transitioned to normal state.",PLAT0520:"Sensor %1s has transitioned from normal to non-critical state.",PLAT0522:"Sensor %1s has transitioned to critical from a less severe state.",PLAT0524:"Sensor %1s has transitioned to non-recoverable from a less severe state.",PLAT0526:"Sensor %1s has transitioned to non-critical from a more severe state.",PLAT0528:"Sensor %1s has transitioned to critical from a non-recoverable state.",PLAT0530:"Sensor %1s has transitioned to non-recoverable.",PLAT0532:"Sensor %1s indicates a monitor state.",PLAT0534:"Sensor %1s has an informational state.",PLAT0536:"Device %1s has been added.",PLAT0537:"Device %1s has been removed from unit.",PLAT0538:"Device %1s has been enabled.",PLAT0539:"Device %1s has been disabled.",PLAT0540:"Sensor %1s has indicated a running state.",PLAT0544:"Sensor %1s has indicated a power off state.",PLAT0546:"Sensor %1s has indicated an on-line state.",PLAT0548:"Sensor %1s has indicated an off-line state.",PLAT0550:"Sensor %1s has indicated an off-duty state.",PLAT0552:"Sensor %1s has indicated a degraded state.",PLAT0554:"Sensor %1s has indicated a power save state.",PLAT0556:"Sensor %1s has indicated an install error.",PLAT0558:"Redundancy %1s has been lost.",PLAT0560:"Redundancy %1s has been reduced.",PLAT0561:"Redundancy %1s has been restored.",PLAT0562:"%1s has transitioned to a D0 power state.",PLAT0564:"%1s has transitioned to a D1 power state.",PLAT0566:"%1s has transitioned to a D2 power state.",PLAT0568:"%1s has transitioned to a D3 power state.",PLAT0720:"The System %1s encountered firmware progress - memory initialization entry.",PLAT0721:"The System %1s encountered firmware progress - memory initialization exit.",PLAT0722:"The System %1s encountered firmware progress - hard drive initialization entry.",PLAT0723:"The System %1s encountered firmware progress - hard drive initialization exit.",PLAT0724:"The System %1s encountered firmware progress - user authentication.",PLAT0728:"The System %1s encountered firmware progress - USR resource configuration entry.",PLAT0729:"The System %1s encountered firmware progress - USR resource configuration exit.",PLAT0730:"The System %1s encountered firmware progress - PCI recource configuration entry.",PLAT0731:"The System %1s encountered firmware progress - PCI recource configuration exit.",PLAT0732:"The System %1s encountered firmware progress - Option ROM initialization entry.",PLAT0733:"The System %1s encountered firmware progress - Option ROM initialization entry exit.",PLAT0734:"The System %1s encountered firmware progress -video initialization entry entry.",PLAT0735:"The System %1s encountered firmware progress - video initialization entry exit.",PLAT0736:"The System %1s encountered firmware progress - cache initialization entry.",PLAT0737:"The System %1s encountered firmware progress - cache initialization exit.",PLAT0738:"The System %1s encountered firmware progress - keyboard controller initialization entry.",PLAT0739:"The System %1s encountered firmware progress - keyboard controller initialization exit.",PLAT0740:"The System %1s encountered firmware progress - motherboard initialization entry.",PLAT0741:"The System %1s encountered firmware progress - motherboard initialization exit.",PLAT0742:"The System %1s encountered firmware progress - floppy disk initialization entry.",PLAT0743:"The System %1s encountered firmware progress - floppy disk initialization exit.",PLAT0744:"The System %1s encountered firmware progress - keyboard test entry.",PLAT0745:"The System %1s encountered firmware progress - keyboard test exit.",PLAT0746:"The System %1s encountered firmware progress - pointing device test entry.",PLAT0747:"The System %1s encountered firmware progress - pointing device test exit.",PLAT0750:"The System %1s encountered firmware progress - dock enable entry.",PLAT0751:"The System %1s encountered firmware progress - dock enable exit.",PLAT0752:"The System %1s encountered firmware progress - dock disable entry.",PLAT0753:"The System %1s encountered firmware progress - dock disable exit.",PLAT0760:"The System %1s encountered firmware progress - start OS boot process.",PLAT0762:"The System %1s encountered firmware progress - call OS wake vector.",PLAT0764:"The System %1s encountered firmware progress - unrecoverable keyboard failure.",PLAT0766:"The System %1s encountered firmware progress - no video device detected.",PLAT0768:"The System %1s encountered firmware progress - SMART alert detected on drive.",PLAT0770:"The System %1s encountered firmware progress - unrecoverable boot device failure.",PLAT0789:"Corrupt BIOS detected.",PLAT0790:"The System %1s encountered PCI configuration failure.",PLAT0791:"The System %1s encountered a video subsystem failure.",PLAT0792:"The System %1s encountered a storage subsystem failure.",PLAT0793:"The System %1s encountered a USB subsystem failure.",PLAT0794:"The System %1s has detected no memory in the system.",PLAT0795:"The System %1s encountered a motherboard failure.",PLAT0796:"The System %1s encountered a memory Regulator Voltage Bad.",PLAT0797:"%1s PCI reset is not deasserting.",PLAT0798:"%1s Non-Motherboard Regulator Failure.",PLAT0799:"%1s Power Supply Cable failure.",PLAT0800:"%1s Motherboard regulator failure.",PLAT0801:"%1s System component compatibility mismatch."};module.exports=lme_heci; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt-mei.min.js b/agents/modules_meshcmd_min/amt-mei.min.js deleted file mode 100644 index 840cb662..00000000 --- a/agents/modules_meshcmd_min/amt-mei.min.js +++ /dev/null @@ -1 +0,0 @@ -var Q=require("queue");function amt_heci(){var d=require("events").inherits(this);d.createEvent("error");var u=require("heci");var y=function(F){try{require("MeshAgent").SendCommand({action:"msg",type:"console",value:F})}catch(E){}};this._ObjectID="pthi";this._rq=new Q();this._setupPTHI=function b(){this._amt=u.create();this._amt.BiosVersionLen=65;this._amt.UnicodeStringLen=20;this._amt.Parent=this;this._amt.on("error",function F(H){if(this.Parent._rq.isEmpty()){this.Parent.emit("error",H)}else{var J=this.Parent._rq.deQueue();var I=J.optional;var G=J.func;I.unshift({Status:-1});G.apply(this.Parent,I);if(!this.Parent._rq.isEmpty()){this.connect(u.GUIDS.AMT,{noPipeline:1})}}});this._amt.on("connect",function E(){this.on("data",function G(I){var J=this.Parent.getCommand(I);var L=this.Parent._rq.deQueue();var K=L.optional;var H=L.func;K.unshift(J);H.apply(this.Parent,K);if(this.Parent._rq.isEmpty()){this.Parent._amt.disconnect();this.Parent._amt=null}else{this.write(this.Parent._rq.peekQueue().send)}});this.write(this.Parent._rq.peekQueue().send)})};function B(E){var F=E.indexOf("\0");if(F>=0){return E.substring(0,F)}else{return E}}this.getCommand=function g(E){var F=E.length==0?(this._rq.peekQueue().cmd|8388608):E.readUInt32LE(4);var G={IsResponse:(F&8388608)==8388608?true:false,Command:(F&8388607),Status:E.length!=0?E.readUInt32LE(12):-1,Data:E.length!=0?E.slice(16):null};return(G)};this.sendCommand=function x(){if(arguments.length<3||typeof(arguments[0])!="number"||typeof(arguments[1])!="object"||typeof(arguments[2])!="function"){throw ("invalid parameters")}var E=[];for(var G=3;G0){N.BiosVersion=N.BiosVersion.substring(0,N.BiosVersion.indexOf("\0"))}L.unshift(N)}else{L.unshift(null)}I.apply(this,L)},E,G)};function D(G,F){if((F==null)&&(typeof(F)!="number")){return null}if(G==null){G=""}var H="";for(var E=0;E0){J.unshift(I.Data.slice(2,2+K).toString())}else{J.unshift(null)}}else{J.unshift(null)}H.apply(this,J)},E,G)};this.getHashHandles=function k(E){var G=[];for(var F=1;F0){this.getCertHashEntry(G.shift(),this._getHashEntrySink,F,H,E,G)}else{H.unshift(E);F.apply(this,H)}};this.getLocalSystemAccount=function m(E){var G=[];for(var F=1;F>24)&255)+"."+((K>>16)&255)+"."+((K>>8)&255)+"."+(K&255);O.unshift(N);L.apply(this,O)}else{O.unshift(null);L.apply(this,O)}},E,J)};this.unprovision=function C(H,E){var I=[];for(var G=2;G=0){b.xxSend(String.fromCharCode(19,0,0,0,4)+IntToStrX(b.user.length+b.authuri.length+8)+String.fromCharCode(b.user.length)+b.user+String.fromCharCode(0,0)+String.fromCharCode(b.authuri.length)+b.authuri+String.fromCharCode(0,0,0,0))}else{if(d.indexOf(3)>=0){b.xxSend(String.fromCharCode(19,0,0,0,3)+IntToStrX(b.user.length+b.authuri.length+7)+String.fromCharCode(b.user.length)+b.user+String.fromCharCode(0,0)+String.fromCharCode(b.authuri.length)+b.authuri+String.fromCharCode(0,0,0))}else{if(d.indexOf(1)>=0){b.xxSend(String.fromCharCode(19,0,0,0,1)+IntToStrX(b.user.length+b.pass.length+2)+String.fromCharCode(b.user.length)+b.user+String.fromCharCode(b.pass.length)+b.pass)}else{b.Stop()}}}}else{if((g==3||g==4)&&y==1){var m=0;var w=e[m];var v=e.slice(m+1,m+1+w).toString();m+=(w+1);if(b.digestRealmMatch&&(b.digestRealmMatch!=v)){b.Stop();return}var r=e[m];var q=e.slice(m+1,m+1+r).toString();m+=(r+1);var u=0;var t=null;var k=b.xxRandomValueHex(32);var x="00000002";var p="";if(g==4){u=e[m];t=e.slice(m+1,m+1+u).toString();m+=(u+1);p=x+":"+k+":"+t+":"}var o=hex_md5(hex_md5(b.user+":"+v+":"+b.pass)+":"+q+":"+p+hex_md5("POST:"+b.authuri));var A=b.user.length+v.length+q.length+b.authuri.length+k.length+x.length+o.length+7;if(g==4){A+=(t.length+1)}var h=Buffer.concat([new Buffer([19,0,0,0,g]),new Buffer([A&255,(A>>8)&255,0,0]),new Buffer([b.user.length]),new Buffer(b.user),new Buffer([v.length]),new Buffer(v),new Buffer([q.length]),new Buffer(q),new Buffer([b.authuri.length]),new Buffer(b.authuri),new Buffer([k.length]),new Buffer(k),new Buffer([x.length]),new Buffer(x),new Buffer([o.length]),new Buffer(o)]);if(g==4){h=Buffer.concat([h,new Buffer([t.length]),new Buffer(t)])}b.xxSend(h)}else{if(y==0){if(b.protocol==1){}if(b.protocol==2){b.xxSend(new Buffer([64,0,0,0,0,0,0,0]))}if(b.protocol==3){b.connectstate=1;b.xxStateChange(3)}}else{b.Stop()}}}break;case 33:if(b.amtaccumulator.length<23){break}j=23;b.xxSend(String.fromCharCode(39,0,0,0)+ToIntStr(b.amtsequence++)+String.fromCharCode(0,0,27,0,0,0));if(b.protocol==1){b.amtkeepalivetimer=setInterval(b.xxSendAmtKeepAlive,2000)}b.connectstate=1;b.xxStateChange(3);break;case 41:if(b.amtaccumulator.length<10){break}j=10;break;case 42:if(b.amtaccumulator.length<10){break}var l=(10+((b.amtaccumulator[9]&255)<<8)+(b.amtaccumulator[8]&255));if(b.amtaccumulator.length8){b.m.ProcessData(b.amtaccumulator.substring(8))}j=b.amtaccumulator.length;break;default:console.log("Unknown Intel AMT command: "+b.amtaccumulator[0]+" acclen="+b.amtaccumulator.length);b.Stop();return}if(j==0){return}if(j==b.amtaccumulator.length){b.amtaccumulator=null}else{b.amtaccumulator=b.amtaccumulator.slice(j)}}};b.xxSend=function(d){if(c&&c.redirtrace){console.log("REDIR-SEND("+d.length+"): "+rstr2hex(d))}if(typeof d=="string"){b.socket.write(new Buffer(d,"binary"))}else{b.socket.write(d)}};b.Send=function(d){if(b.socket==null||b.connectstate!=1){return}if(b.protocol==1){b.xxSend(String.fromCharCode(40,0,0,0)+ToIntStr(b.amtsequence++)+ToShortStr(d.length)+d)}else{b.xxSend(d)}};b.xxSendAmtKeepAlive=function(){if(b.socket==null){return}b.xxSend(String.fromCharCode(43,0,0,0)+ToIntStr(b.amtsequence++))};b.xxRandomValueHex=function(f){var g=[],e=Math.floor(f/2);for(var d=0;d>8)&255),((a>>16)&255),((a>>24)&255))}function ToShortStr(a){return String.fromCharCode((a&255),((a>>8)&255))}function ShortToStr(a){return String.fromCharCode((a>>8)&255,a&255)}function ShortToStrX(a){return String.fromCharCode(a&255,(a>>8)&255)}function IntToStr(a){return String.fromCharCode((a>>24)&255,(a>>16)&255,(a>>8)&255,a&255)}function IntToStrX(a){return String.fromCharCode(a&255,(a>>8)&255,(a>>16)&255,(a>>24)&255)}var md5hasher=require("MD5Stream").create();function hex_md5(b){return md5hasher.syncHash(b).toString("hex").toLowerCase()}; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt-scanner.min.js b/agents/modules_meshcmd_min/amt-scanner.min.js deleted file mode 100644 index 0de77528..00000000 --- a/agents/modules_meshcmd_min/amt-scanner.min.js +++ /dev/null @@ -1 +0,0 @@ -function AMTScanner(){var a=require("events").inherits(this);a.createEvent("found");this.dgram=require("dgram");this.buildRmcpPing=function(c){var b=Buffer.from("06000006000011BE80000000","hex");b[9]=c;return b};this.parseRmcpPacket=function(h,b,g,d){if(b==null||b.length<20){return}var f={};if(((b[12]==0)||(b[13]!=0)||(b[14]!=1)||(b[15]!=87))&&(b[21]&32)){f.servertag=b[9];f.minorVersion=b[18]&15;f.majorVersion=(b[18]>>4)&15;f.provisioningState=b[19]&3;var e=(b[16]*256)+b[17];var c=((b[19]&4)!=0)?true:false;f.openPorts=[e];f.address=g.address;if(c==true){f.openPorts=[16992,16993]}if(d!==undefined){d(h,f)}}};this.parseIPv4Range=function(f){if(f==undefined||f==null){return null}var g=f.split("-");if(g.length==2){return{min:this.parseIpv4Addr(g[0]),max:this.parseIpv4Addr(g[1])}}g=f.split("/");if(g.length==2){var c=this.parseIpv4Addr(g[0]),e=parseInt(g[1]),d=0;if(e<=16||e>32){return null}e=32-e;for(var b=0;b>24)&255)+"."+((b>>16)&255)+"."+((b>>8)&255)+"."+(b&255)};this.scan=function(e,h,b){var d=this.parseIPv4Range(e);var f=this.buildRmcpPing(0);var g=this.dgram.createSocket({type:"udp4"});g.parent=this;g.scanResults=[];g.on("error",function(j){console.log("Error:"+j)});g.on("message",function(j,k){if(k.size>4){this.parent.parseRmcpPacket(this,j,k,function(m,l){m.scanResults.push(l)})}});g.on("listening",function(){for(var j=d.min;j<=d.max;j++){g.send(f,623,g.parent.IPv4NumToStr(j))}});g.bind({address:"0.0.0.0",port:0,exclusive:true});var i=setTimeout(function c(){g.close();if(b){b(g.scanResults)}g.parent.emit("found",g.scanResults);delete g},h)}}module.exports=AMTScanner; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt-script.min.js b/agents/modules_meshcmd_min/amt-script.min.js deleted file mode 100644 index 62a1a11e..00000000 --- a/agents/modules_meshcmd_min/amt-script.min.js +++ /dev/null @@ -1 +0,0 @@ -script_functionTable1=["nop","jump","set","print","dialog","getitem","substr","indexof","split","join","length","jsonparse","jsonstr","add","substract","parseint","wsbatchenum","wsput","wscreate","wsdelete","wsexec","scriptspeed","wssubscribe","wsunsubscribe","readchar","signwithdummyca"];script_functionTable2=["encodeuri","decodeuri","passwordcheck","atob","btoa","hex2str","str2hex","random","md5","maketoarray","readshort","readshortx","readint","readsint","readintx","shorttostr","shorttostrx","inttostr","inttostrx"];script_functionTableX2=[encodeURI,decodeURI,passwordcheck,atob,btoa,hex2rstr,rstr2hex,random,rstr_md5,MakeToArray,ReadShort,ReadShortX,ReadInt,ReadSInt,ReadIntX,ShortToStr,ShortToStrX,IntToStr,IntToStrX];function MakeToArray(a){if(!a||a==null||typeof a=="object"){return a}return[a]}function ReadShort(b,a){return(b[a]<<8)+b[a+1]}function ReadShortX(b,a){return(b[a+1]<<8)+b[a]}function ReadInt(b,a){return(b[a]*16777216)+(b[a+1]<<16)+(b[a+2]<<8)+b[a+3]}function ReadSInt(b,a){return(b[a]<<24)+(b[a+1]<<16)+(b[a+2]<<8)+b[a+3]}function ReadIntX(b,a){return(b[a+3]*16777216)+(b[a+2]<<16)+(b[a+1]<<8)+b[a]}function ShortToStr(a){return String.fromCharCode((a>>8)&255,a&255)}function ShortToStrX(a){return String.fromCharCode(a&255,(a>>8)&255)}function IntToStr(a){return String.fromCharCode((a>>24)&255,(a>>16)&255,(a>>8)&255,a&255)}function IntToStrX(a){return String.fromCharCode(a&255,(a>>8)&255,(a>>16)&255,(a>>24)&255)}function btoa(a){return Buffer.from(a).toString("base64")}function atob(b){var c=null;try{c=Buffer.from(b,"base64").toString()}catch(a){console.log(a)}return c}function passwordcheck(g){if(g.length<8){return false}var h=0,d=0,f=0,e=0;for(var b in g){var a=g.charCodeAt(b);if((a>64)&&(a<91)){h=1}else{if((a>96)&&(a<123)){d=1}else{if((a>47)&&(a<58)){f=1}else{e=1}}}}return((h+d+f+e)==4)}function hex2rstr(a){Buffer.from(a,"hex").toString()}function rstr2hex(a){Buffer.from(a).toString("hex")}function random(){return Math.floor(Math.random()*max)}function rstr_md5(a){return hex2rstr(hex_md5(a))}function getItem(b,c,d){for(var a in b){if(b[a][c]==d){return b[a]}}return null}var httpErrorTable={200:"OK",401:"Authentication Error",408:"Timeout Error",601:"WSMAN Parsing Error",602:"Unable to parse HTTP response header",603:"Unexpected HTTP enum response",604:"Unexpected HTTP pull response",998:"Invalid TLS certificate"};module.exports.setup=function(a,c){var b={startvars:c,onCompleted:null};if(a.length<6){console.error("Invalid script length");return null}if(ReadInt(a,0)!=612182341){console.error("Invalid binary script");return null}if(ReadShort(a,4)>1){console.error("Unsupported script version");return null}b.script=a.slice(6);b.reset=function(d){b.stop();b.ip=0;b.variables=c;b.state=1};b.start=function(d){b.stop();if(d==null){b.stepspeed=10}else{b.stepspeed=d}if(b.stepspeed>0){b.timer=setInterval(function(){b.step()},b.stepspeed)}};b.stop=function(){if(b.timer!=null){clearInterval(b.timer)}b.timer=null;b.stepspeed=0};b.getVar=function(d){if(d==undefined){return undefined}return b.getVarEx(d.split("."),b.variables)};b.getVarEx=function(f,g){try{if(f==undefined){return undefined}if(f.length==0){return g}return b.getVarEx(f.slice(1),g[f[0]])}catch(d){return null}};b.setVar=function(d,e){b.setVarEx(d.split("."),b.variables,e)};b.setVarEx=function(d,f,e){if(d.length==1){f[d[0]]=e}else{b.setVarEx(d.slice(1),f[d[0]],e)}};b.step=function(){if(b.state!=1){return}if(b.ip1){var r=l.split("{").pop().split("}").shift();l=l.replace("{"+r+"}",b.getVar(r))}}if(k==1){b.variables["__"+p]=decodeURI(l);l="__"+p}h.push(l)}if(k==2||k==3){b.variables["__"+p]=ReadSInt(l,0);h.push("__"+p)}g+=(2+f)}b.ip+=n;var j=[];for(var p=0;p<10;p++){j.push(b.getVar(h[p]))}var q;try{if(m<10000){switch(m){case 0:break;case 1:if(j[2]){if((j[2]=="<"&&j[1]="&&j[1]>=j[3])||(j[2]==">"&&j[1]>j[3])){b.ip=j[0]}}else{b.ip=j[0]}break;case 2:if(h[1]==undefined){delete b.variables[h[0]]}else{b.setVar(h[0],j[1])}break;case 3:var s=b.toString(j[0]);if(s.indexOf("INFO: ")==0){s=s.substring(6)}if(s.indexOf("SUCCESS: ")==0){s=s.substring(9)}if(b.onConsole){b.onConsole(s,b)}else{console.log(s)}break;case 4:b.state=2;b.dialog=true;setDialogMode(11,j[0],j[2],b.xxStepDialogOk,j[1],b);break;case 5:for(var p in j[1]){if(j[1][p][j[2]]==j[3]){q=p}}break;case 6:q=j[1].substr(j[2],j[3]);break;case 7:q=j[1].indexOf(j[2]);break;case 8:q=j[1].split(j[2]);break;case 9:q=j[1].join(j[2]);break;case 10:if(j[1]==null){q=0}else{q=j[1].length}break;case 11:q=JSON.parse(j[1]);break;case 12:q=JSON.stringify(j[1]);break;case 13:q=(j[1]+j[2]);break;case 14:q=(j[1]-j[2]);break;case 15:q=parseInt(j[1]);break;case 16:b.state=2;b.amtstack.BatchEnum(j[0],j[1],b.xxWsmanReturn,b);break;case 17:b.state=2;b.amtstack.Put(j[0],j[1],b.xxWsmanReturn,b);break;case 18:b.state=2;b.amtstack.Create(j[0],j[1],b.xxWsmanReturn,b);break;case 19:b.state=2;b.amtstack.Delete(j[0],j[1],b.xxWsmanReturn,b);break;case 20:b.state=2;b.amtstack.Exec(j[0],j[1],j[2],b.xxWsmanReturn,b,0,j[3]);break;case 21:b.stepspeed=j[0];if(b.timer!=null){clearInterval(b.timer);b.timer=setInterval(function(){b.step()},b.stepspeed)}break;case 22:b.state=2;b.amtstack.Subscribe(j[0],j[1],j[2],b.xxWsmanReturn,b,0,j[3],j[4],j[5],j[6]);break;case 23:b.state=2;b.amtstack.UnSubscribe(j[0],b.xxWsmanReturn,b,0,j[1]);break;case 24:console.log(j[1],j[2],j[1].charCodeAt(j[2]));q=j[1].charCodeAt(j[2]);break;case 25:break;default:b.state=9;console.error("Script Error, unknown command: "+m)}}else{if(m<20000){q=script_functionTableX2[m-10000](j[1],j[2],j[3],j[4],j[5],j[6])}else{}}if(q!=undefined){b.setVar(h[0],q)}}catch(o){if(typeof o=="object"){o=o.message}b.setVar("_exception",o)}}if(b.state==1&&b.ip>=b.script.length){b.state=0;b.stop();if(b.onCompleted){b.onCompleted()}}if(b.onStep){b.onStep(b)}return b};b.xxStepDialogOk=function(d){b.variables.DialogSelect=d;b.state=1;b.dialog=false;if(b.onStep){b.onStep(b)}};b.xxWsmanReturn=function(f,d,e,g){b.setVar(d,e);b.setVar("wsman_result",g);b.setVar("wsman_result_str",((httpErrorTable[g])?(httpErrorTable[g]):("Error #"+g)));b.state=1;if(b.onStep){b.onStep(b)}};b.toString=function(d){if(typeof d=="object"){return JSON.stringify(d)}return d};b.reset();return b};module.exports.compile=function(o,l){var n="",q=o.split("\n"),h={},k=[],s=[];for(var d in q){var p=q[d];if(p.startsWith("##SWAP ")){var u=p.split(" ");if(u.length==3){s[u[1]]=u[2]}}if(p[0]=="#"||p.length==0){continue}for(var u in s){p=p.split(u).join(s[u])}var f=p.match(/"[^"]*"|[^\s"]+/g);if(f.length==0){continue}if(p[0]==":"){h[f[0].toUpperCase()]=n.length;continue}var c=script_functionTable1.indexOf(f[0].toLowerCase());if(c==-1){c=script_functionTable2.indexOf(f[0].toLowerCase());if(c>=0){c+=10000}}if(c==-1){if(l){l("Unabled to compile, unknown command: "+f[0])}return""}var b=ShortToStr(f.length-1);for(var e in f){if(e==0){continue}if(f[e][0]==":"){k.push([f[e],n.length+b.length+7]);b+=ShortToStr(5)+String.fromCharCode(3)+IntToStr(4294967295)}else{var a=parseInt(f[e]);if(a==f[e]){b+=ShortToStr(5)+String.fromCharCode(2)+IntToStr(a)}else{if(f[e][0]=='"'&&f[e][f[e].length-1]=='"'){b+=ShortToStr(f[e].length-1)+String.fromCharCode(1)+f[e].substring(1,f[e].length-1)}else{b+=ShortToStr(f[e].length+1)+String.fromCharCode(0)+f[e]}}}}b=ShortToStr(c)+ShortToStr(b.length+4)+b;n+=b}for(d in k){var g=k[d][0].toUpperCase(),m=k[d][1],t=h[g];if(t==undefined){if(l){l("Unabled to compile, unknown label: "+g)}return""}n=n.substr(0,m)+IntToStr(t)+n.substr(m+4)}return IntToStr(612182341)+ShortToStr(1)+n};module.exports.decompile=function(g,q){var t="",s=6,m=0,n={};if(q>=0){s=q}else{if(g.length<6){return"# Invalid script length"}var p=ReadInt(g,0);var w=ReadShort(g,4);if(p!=612182341){return"# Invalid binary script: "+p}if(w!=1){return"# Invalid script version"}}while(s=0)){t+=":label"+(s-6)+"\n"}for(var k=0;k=10000)&&(h<10000)){t+=script_functionTable2[h-10000]+d+"\n"}}s+=j;if(q>=0){return t}}var u=t.split("\n");t="";for(var k in u){var o=u[k];if(o[0]!=":"){t+=o+"\n"}else{if(n[o]){t+=o+"\n"}}}return t}; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt-wsman-duk.min.js b/agents/modules_meshcmd_min/amt-wsman-duk.min.js deleted file mode 100644 index d83115f4..00000000 --- a/agents/modules_meshcmd_min/amt-wsman-duk.min.js +++ /dev/null @@ -1 +0,0 @@ -function CreateWsmanComm(){var a={};a.PendingAjax=[];a.ActiveAjaxCount=0;a.MaxActiveAjaxCount=1;a.FailAllError=0;a.digest=null;a.RequestCount=0;if(arguments.length==1&&typeof(arguments[0]=="object")){a.host=arguments[0].host;a.port=arguments[0].port;a.authToken=arguments[0].authToken;a.tls=arguments[0].tls}else{a.host=arguments[0];a.port=arguments[1];a.user=arguments[2];a.pass=arguments[3];a.tls=arguments[4]}a.PerformAjax=function(d,c,f,e,g,b){if((a.ActiveAjaxCount==0||((a.ActiveAjaxCount=a.MaxActiveAjaxCount||a.PendingAjax.length==0){return}var b=a.PendingAjax.shift();a.PerformAjaxEx(b[0],b[1],b[2],b[3],b[4]);a.PerformNextAjax()};a.PerformAjaxEx=function(d,c,g,h,b){if(a.FailAllError!=0){if(a.FailAllError!=999){a.gotNextMessagesError({status:a.FailAllError},"error",null,[d,c,g])}return}if(!d){d=""}if(globalDebugFlags&1){console.log("SEND: "+d+"\r\n\r\n")}if(a.digest==null){if(a.authToken){a.digest=require("http-digest").create({authToken:a.authToken})}else{a.digest=require("http-digest").create(a.user,a.pass)}a.digest.http=require("http")}var f={protocol:(a.tls==1?"https:":"http:"),method:"POST",host:a.host,path:"/wsman",port:a.port,rejectUnauthorized:false,checkServerIdentity:function(i){console.log("checkServerIdentity",JSON.stringify(i))}};var e=a.digest.request(f);e.on("error",function(i){a.gotNextMessagesError({status:600},"error",null,[d,c,g])});e.on("response",function(i){if(globalDebugFlags&1){console.log("Response: "+i.statusCode)}if(i.statusCode!=200){if(globalDebugFlags&1){console.log("ERR:"+JSON.stringify(i))}a.gotNextMessagesError({status:i.statusCode},"error",null,[d,c,g])}else{i.acc="";i.on("data",function(j){this.acc+=j});i.on("end",function(){a.gotNextMessages(i.acc,"success",{status:i.statusCode},[d,c,g])})}});e.end(d);a.ActiveAjaxCount++;return e};a.pendingAjaxCall=[];a.gotNextMessages=function(c,e,d,b){a.ActiveAjaxCount--;if(a.FailAllError==999){return}if(globalDebugFlags&1){console.log("RECV: "+c+"\r\n\r\n")}if(a.FailAllError!=0){b[1](null,a.FailAllError,b[2]);return}if(d.status!=200){b[1](null,d.status,b[2]);return}b[1](c,200,b[2]);a.PerformNextAjax()};a.gotNextMessagesError=function(d,e,c,b){a.ActiveAjaxCount--;if(a.FailAllError==999){return}if(a.FailAllError!=0){b[1](null,a.FailAllError,b[2]);return}if(a.FailAllError!=999){b[1]({Header:{HttpError:d.status}},d.status,b[2])}a.PerformNextAjax()};a.CancelAllQueries=function(b){while(a.PendingAjax.length>0){var c=a.PendingAjax.shift();c[1](null,b,c[2])}};return a}module.exports=CreateWsmanComm; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt-wsman.min.js b/agents/modules_meshcmd_min/amt-wsman.min.js deleted file mode 100644 index e8afb796..00000000 --- a/agents/modules_meshcmd_min/amt-wsman.min.js +++ /dev/null @@ -1 +0,0 @@ -function WsmanStackCreateService(){var p={_ObjectID:"WSMAN"};p.NextMessageId=1;p.Address="/wsman";p.xmlParser=require("amt-xml");if(arguments.length==1&&typeof(arguments[0]=="object")){var e=arguments[0].transport;if(e){p.comm=new e(arguments[0])}}else{var e=arguments[0];if(e){p.comm=new e(arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6])}}p.PerformAjax=function q(t,r,v,u,s){if(s==null){s=""}p.comm.PerformAjax('
"+t,function(w,x,y){if(x!=200){r(p,null,{Header:{HttpError:x}},x,y);return}var z=p.xmlParser.ParseWsman(w);if(!z||z==null){r(p,null,{Header:{HttpError:x}},601,y)}else{r(p,z.Header.ResourceURI,z,200,y)}},v,u)};p.CancelAllQueries=function d(r){p.comm.CancelAllQueries(r)};p.GetNameFromUrl=function(r){var s=r.lastIndexOf("/");return(s==-1)?r:r.substring(s+1)};p.ExecSubscribe=function n(z,t,C,r,B,y,A,w,D,x){var u="",v="",w="";if(D!=null&&x!=null){u='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken'+D+''+x+"";v=''}if(w!=null){w=""+w+""}if(t=="PushWithAck"){t="dmtf.org/wbem/wsman/1/wsman/PushWithAck"}else{if(t=="Push"){t="xmlsoap.org/ws/2004/08/eventing/DeliveryModes/Push"}}var s="http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe"+p.Address+""+z+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"+c(A)+u+'
'+C+""+w+""+v+"";p.PerformAjax(s+"
",r,B,y,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:m="http://x.com"')};p.ExecUnSubscribe=function o(u,r,w,t,v){var s="http://schemas.xmlsoap.org/ws/2004/08/eventing/Unsubscribe"+p.Address+""+u+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"+c(v)+"";p.PerformAjax(s+"",r,w,t,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing"')};p.ExecPut=function m(v,u,r,x,t,w){var s="http://schemas.xmlsoap.org/ws/2004/09/transfer/Put"+p.Address+""+v+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60.000S"+c(w)+""+b(v,u);p.PerformAjax(s+"",r,x,t)};p.ExecCreate=function f(x,w,r,z,v,y){var u=p.GetNameFromUrl(x);var s="http://schemas.xmlsoap.org/ws/2004/09/transfer/Create"+p.Address+""+x+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+c(y)+"';for(var t in w){s+=""+w[t]+""}p.PerformAjax(s+"",r,z,v)};p.ExecDelete=function g(v,u,r,w,t){var s="http://schemas.xmlsoap.org/ws/2004/09/transfer/Delete"+p.Address+""+v+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+c(u)+"";p.PerformAjax(s,r,w,t)};p.ExecGet=function i(t,r,u,s){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/transfer/Get"+p.Address+""+t+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S",r,u,s)};p.ExecMethod=function j(y,v,r,t,A,w,z){var s="";for(var u in r){if(r[u]!=null){if(Array.isArray(r[u])){for(var B in r[u]){s+=""+r[u][B]+""}}else{s+=""+r[u]+""}}}p.ExecMethodXml(y,v,s,t,A,w,z)};p.ExecMethodXml=function k(v,t,r,s,x,u,w){p.PerformAjax(v+"/"+t+""+p.Address+""+v+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+c(w)+"'+r+"",s,x,u)};p.ExecEnum=function h(t,r,u,s){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Enumerate"+p.Address+""+t+""+(p.NextMessageId++)+'http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S',r,u,s)};p.ExecPull=function l(u,s,r,v,t){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Pull"+p.Address+""+u+""+(p.NextMessageId++)+'http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S'+s+"99999999",r,v,t)};function b(w,u){if(!w||u==null){return""}var s=p.GetNameFromUrl(w);var v="';for(var t in u){if(!u.hasOwnProperty(t)||t.indexOf("__")===0||t.indexOf("@")===0){continue}if(u[t]==null||typeof u[t]==="function"){continue}if(typeof u[t]==="object"&&u[t]["ReferenceParameters"]){v+=""+u[t].Address+""+u[t]["ReferenceParameters"]["ResourceURI"]+"";var x=u[t]["ReferenceParameters"]["SelectorSet"]["Selector"];if(Array.isArray(x)){for(var r=0;r"+x[r]["Value"]+""}}else{v+=""+x.Value+""}v+=""}else{if(Array.isArray(u[t])){for(var r=0;r"+u[t][r].toString()+""}}else{v+=""+u[t].toString()+""}}}v+="";return v}function a(r){if(!r){return""}var t=" ";for(var s in r){if(!r.hasOwnProperty(s)||s.indexOf("@")!==0){continue}t+=s.substring(1)+'="'+r[s]+'" '}return t}function c(v){if((v==null)||(v=="null")){return""}if(typeof v=="string"){return v}if(v.InstanceID){return''+v.InstanceID+""}var t="";for(var s in v){if(!v.hasOwnProperty(s)){continue}t+='';if(v[s]["ReferenceParameters"]){t+="";t+=""+v[s]["Address"]+""+v[s]["ReferenceParameters"]["ResourceURI"]+"";var u=v[s]["ReferenceParameters"]["SelectorSet"]["Selector"];if(Array.isArray(u)){for(var r=0;r"+u[r]["Value"]+""}}else{t+=""+u.Value+""}t+=""}else{t+=v[s]}t+=""}t+="";return t}return p}module.exports=WsmanStackCreateService; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt-xml.min.js b/agents/modules_meshcmd_min/amt-xml.min.js deleted file mode 100644 index 4b2308ed..00000000 --- a/agents/modules_meshcmd_min/amt-xml.min.js +++ /dev/null @@ -1 +0,0 @@ -try{Object.defineProperty(Array.prototype,"peek",{value:function(){return(this.length>0?this[this.length-1]:undefined)}})}catch(e){}module.exports.ParseWsman=function(j){try{if(!j.childNodes){j=_turnToXml(j)}var g={Header:{}},d=j.getElementsByTagName("Header")[0],h;if(!d){d=j.getElementsByTagName("a:Header")[0]}if(!d){return null}for(var f=0;f0){h=a.childNodes[0].localName;if(h.indexOf("_OUTPUT")==h.length-7){h=h.substring(0,h.length-7)}g.Header.Method=h;g.Body=_ParseWsmanRec(a.childNodes[0])}return g}catch(c){console.error("Unable to parse XML: "+j,c);return null}};function _ParseWsmanRec(g){var c,h={};for(var d=0;d0)){b={Value:c};for(var f=0;f';for(var c in d){if(!d.hasOwnProperty(c)||c.indexOf("__")===0||c.indexOf("@")===0){continue}if(d[c]==null||typeof d[c]==="function"){continue}if(typeof d[c]==="object"&&d[c]["ReferenceParameters"]){f+=""+d[c].Address+""+d[c]["ReferenceParameters"]["ResourceURI"]+"";var h=d[c]["ReferenceParameters"]["SelectorSet"]["Selector"];if(Array.isArray(h)){for(var a=0;a"+h[a]["Value"]+""}}else{f+=""+h.Value+""}f+=""}else{if(Array.isArray(d[c])){for(var a=0;a"+d[c][a].toString()+""}}else{f+=""+d[c].toString()+""}}}f+="";return f}function _treeBuilder(){this.tree=[];this.push=function(a){this.tree.push(a)};this.pop=function(){var a=this.tree.pop();if(this.tree.length>0){var b=this.tree.peek();b.childNodes.push(a);b.childElementCount=b.childNodes.length}return(a)};this.peek=function(){return(this.tree.peek())};this.addNamespace=function(g,d){this.tree.peek().nsTable[g]=d;if(this.tree.peek().attributes.length>0){for(var c=0;c=0;--a){if(this.tree[a].nsTable[b]!=null){return(this.tree[a].nsTable[b])}}return null}}function _turnToXml(a){if(a==null){return null}return({childNodes:[_turnToXmlRec(a)],getElementsByTagName:_getElementsByTagName,getChildElementsByTagName:_getChildElementsByTagName,getElementsByTagNameNS:_getElementsByTagNameNS})}function _getElementsByTagNameNS(b,a){var c=[];_xmlTraverseAllRec(this.childNodes,function(d){if(d.localName==a&&(d.namespace==b||b=="*")){c.push(d)}});return c}function _getElementsByTagName(a){var b=[];_xmlTraverseAllRec(this.childNodes,function(c){if(c.localName==a){b.push(c)}});return b}function _getChildElementsByTagName(a){var c=[];if(this.childNodes!=null){for(var b in this.childNodes){if(this.childNodes[b].localName==a){c.push(this.childNodes[b])}}}return(c)}function _getChildElementsByTagNameNS(c,a){var d=[];if(this.childNodes!=null){for(var b in this.childNodes){if(this.childNodes[b].localName==a&&(c=="*"||this.childNodes[b].namespace==c)){d.push(this.childNodes[b])}}}return(d)}function _xmlTraverseAllRec(c,a){for(var b in c){a(c[b]);if(c[b].childNodes){_xmlTraverseAllRec(c[b].childNodes,a)}}}function _turnToXmlRec(w){try{if(w==null){return null}var m=new _treeBuilder(),r=null,z=w.split("<"),u=[],h=null,g=null;for(var o in z){var A=z[o].split(">"),B=A[0].split(" "),l=B[0];if((l.length>0)&&(l[0]!="?")){if(l[0]!="/"){var a=[],s,t=l.split(" ")[0].split(":"),s=(t.length>1)?t[1]:t[0];Object.defineProperty(a,"get",{value:function(){if(arguments.length==1){for(var i in this){if(this[i].name==arguments[0]){return(this[i])}}}else{if(arguments.length==2){for(var i in this){if(this[i].name==arguments[1]&&(arguments[0]=="*"||this[i].namespace==arguments[0])){return(this[i])}}}else{throw ("attributes.get(): Invalid number of parameters")}}}});m.push({name:l,localName:s,getChildElementsByTagName:_getChildElementsByTagName,getElementsByTagNameNS:_getElementsByTagNameNS,getChildElementsByTagNameNS:_getChildElementsByTagNameNS,attributes:a,childNodes:[],nsTable:{}});if(B.length>0){var v=false;for(var p in B){if(B[p]=="/"){m.peek().namespace=m.peek().name==m.peek().localName?m.getNamespace("*"):m.getNamespace(m.peek().name.substring(0,m.peek().name.indexOf(":")));m.peek().textContent="";r=m.pop();v=true;break}var q=B[p].indexOf("=");if(q>0){var b=B[p].substring(0,q);var d=B[p].substring(q+2,B[p].length-1);var c=m.getNamespace("*");if(b=="xmlns"){m.addNamespace("*",d);c=d}else{if(b.startsWith("xmlns:")){m.addNamespace(b.substring(6),d)}else{var f=b.split(":");if(f.length==2){b=f[1];c=m.getNamespace(f[0])}}}var y={name:b,value:d};if(c!=null){y.namespace=c}m.peek().attributes.push(y)}}if(v){continue}}m.peek().namespace=m.peek().name==m.peek().localName?m.getNamespace("*"):m.getNamespace(m.peek().name.substring(0,m.peek().name.indexOf(":")));if(A[1]){m.peek().textContent=A[1]}}else{r=m.pop()}}}}catch(n){return null}return r}; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt.min.js b/agents/modules_meshcmd_min/amt.min.js deleted file mode 100644 index 6984729b..00000000 --- a/agents/modules_meshcmd_min/amt.min.js +++ /dev/null @@ -1 +0,0 @@ -function AmtStackCreateService(R){var J=new Object();J._ObjectID="AMT";J.wsman=R;J.pfx=["http://intel.com/wbem/wscim/1/amt-schema/1/","http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/","http://intel.com/wbem/wscim/1/ips-schema/1/"];J.PendingEnums=[];J.PendingBatchOperations=0;J.ActiveEnumsCount=0;J.MaxActiveEnumsCount=1;J.onProcessChanged=null;var n=0;var m=0;J.GetPendingActions=function(){return(J.PendingEnums.length*2)+(J.ActiveEnumsCount)+J.wsman.comm.PendingAjax.length+J.wsman.comm.ActiveAjaxCount+J.PendingBatchOperations};function r(){var S=J.GetPendingActions();if(n=J.MaxActiveEnumsCount||J.PendingEnums.length==0){return}var T=J.PendingEnums.shift();J.Enum(T[0],T[1],T[2]);d(0)}J.BatchEnum=function(S,V,T,X,U,W){J.PendingBatchOperations+=(V.length*2);b(S,x(V),T,X,{},U,W);r()};function x(S){return JSON.parse(JSON.stringify(S))}function b(S,X,T,aa,Z,U,Y){J.PendingBatchOperations-=2;var W=X.shift(),V=J.Enum;if(W[0]=="*"){V=J.Get;W=W.substring(1)}V(W,function(ad,ab,ac,ae,af){af[2][ab]={response:(ac==null?null:ac.Body),responses:ac,status:ae};if(af[1].length==0||ae==401||(U!=true&&ae!=200&&ae!=400)){J.PendingBatchOperations-=(X.length*2);r();T.call(J,J,S,af[2],ae,aa)}else{r();b(S,X,T,aa,af[2],Y)}},[S,X,Z],Y);r()}J.BatchGet=function(S,U,T,W,V){h({name:S,names:U,callback:T,current:0,responses:{},tag:W,pri:V});r()};function h(S){if(S.names.length<=S.current){S.callback.call(J,J,S.name,S.responses,200,S.tag)}else{J.wsman.ExecGet(J.CompleteName(S.names[S.current]),function(V,U,T,W){g(S,T,W)},S.pri);S.current++}r()}function g(S,T,U){if(T==null||U!=200){S.callback.call(J,J,S.name,null,U,S.tag)}else{S.responses[T.Header.Method]=T;h(S)}}J.CompleteName=function(S){if(S.indexOf("AMT_")==0){return J.pfx[0]+S}if(S.indexOf("CIM_")==0){return J.pfx[1]+S}if(S.indexOf("IPS_")==0){return J.pfx[2]+S}};J.CompleteExecResponse=function(S){if(S&&S!=null&&S.Body&&(S.Body.ReturnValue!=undefined)){S.Body.ReturnValueStr=J.AmtStatusToStr(S.Body.ReturnValue)}return S};J.RequestPowerStateChange=function(T,S){J.CIM_PowerManagementService_RequestPowerStateChange(T,'
http://schemas.xmlsoap.org/ws/2004/08/addressing
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ComputerSystemCIM_ComputerSystemManagedSystem',null,null,S)};J.SetBootConfigRole=function(T,S){J.CIM_BootService_SetBootConfigRole('
http://schemas.xmlsoap.org/ws/2004/08/addressing
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_BootConfigSettingIntel(r) AMT: Boot Configuration 0',T,S)};J.CancelAllQueries=function(S){J.wsman.CancelAllQueries(S)};J.AMT_AgentPresenceWatchdog_RegisterAgent=function(S,V,T,U){J.Exec("AMT_AgentPresenceWatchdog","RegisterAgent",{},S,V,T,U)};J.AMT_AgentPresenceWatchdog_AssertPresence=function(V,S,W,T,U){J.Exec("AMT_AgentPresenceWatchdog","AssertPresence",{SequenceNumber:V},S,W,T,U)};J.AMT_AgentPresenceWatchdog_AssertShutdown=function(V,S,W,T,U){J.Exec("AMT_AgentPresenceWatchdog","AssertShutdown",{SequenceNumber:V},S,W,T,U)};J.AMT_AgentPresenceWatchdog_AddAction=function(X,W,V,T,S,U,aa,Y,Z){J.Exec("AMT_AgentPresenceWatchdog","AddAction",{OldState:X,NewState:W,EventOnTransition:V,ActionSd:T,ActionEac:S},U,aa,Y,Z)};J.AMT_AgentPresenceWatchdog_DeleteAllActions=function(S,V,T,U){J.Exec("AMT_AgentPresenceWatchdog","DeleteAllActions",{},S,V,T,U)};J.AMT_AgentPresenceWatchdogAction_GetActionEac=function(S){J.Exec("AMT_AgentPresenceWatchdogAction","GetActionEac",{},S)};J.AMT_AgentPresenceWatchdogVA_RegisterAgent=function(S){J.Exec("AMT_AgentPresenceWatchdogVA","RegisterAgent",{},S)};J.AMT_AgentPresenceWatchdogVA_AssertPresence=function(T,S){J.Exec("AMT_AgentPresenceWatchdogVA","AssertPresence",{SequenceNumber:T},S)};J.AMT_AgentPresenceWatchdogVA_AssertShutdown=function(T,S){J.Exec("AMT_AgentPresenceWatchdogVA","AssertShutdown",{SequenceNumber:T},S)};J.AMT_AgentPresenceWatchdogVA_AddAction=function(X,W,V,T,S,U){J.Exec("AMT_AgentPresenceWatchdogVA","AddAction",{OldState:X,NewState:W,EventOnTransition:V,ActionSd:T,ActionEac:S},U)};J.AMT_AgentPresenceWatchdogVA_DeleteAllActions=function(S,T){J.Exec("AMT_AgentPresenceWatchdogVA","DeleteAllActions",{_method_dummy:S},T)};J.AMT_AlarmClockService_AddAlarm=function s(S,T){var V=S.InstanceID;var X=S.ElementName;var Y=S.StartTime.Datetime;var W=S.Interval?S.Interval.Datetime:undefined;var U=S.DeleteOnCompletion;var Z=''+V+""+X+''+Y+""+((W!=undefined)?(''+W+""):"")+""+U+"";J.wsman.ExecMethodXml(J.CompleteName("AMT_AlarmClockService"),"AddAlarm",Z,T)};J.AMT_AuditLog_ClearLog=function(S){J.Exec("AMT_AuditLog","ClearLog",{},S)};J.AMT_AuditLog_RequestStateChange=function(T,U,S){J.Exec("AMT_AuditLog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AMT_AuditLog_ReadRecords=function(T,S,U){J.Exec("AMT_AuditLog","ReadRecords",{StartIndex:T},S,U)};J.AMT_AuditLog_SetAuditLock=function(V,T,U,S){J.Exec("AMT_AuditLog","SetAuditLock",{LockTimeoutInSeconds:V,Flag:T,Handle:U},S)};J.AMT_AuditLog_ExportAuditLogSignature=function(T,S){J.Exec("AMT_AuditLog","ExportAuditLogSignature",{SigningMechanism:T},S)};J.AMT_AuditLog_SetSigningKeyMaterial=function(W,V,U,T,S){J.Exec("AMT_AuditLog","SetSigningKeyMaterial",{SigningMechanismType:W,SigningKey:V,LengthOfCertificates:U,Certificates:T},S)};J.AMT_AuditPolicyRule_SetAuditPolicy=function(U,S,V,W,T){J.Exec("AMT_AuditPolicyRule","SetAuditPolicy",{Enable:U,AuditedAppID:S,EventID:V,PolicyType:W},T)};J.AMT_AuditPolicyRule_SetAuditPolicyBulk=function(U,S,V,W,T){J.Exec("AMT_AuditPolicyRule","SetAuditPolicyBulk",{Enable:U,AuditedAppID:S,EventID:V,PolicyType:W},T)};J.AMT_AuthorizationService_AddUserAclEntryEx=function(V,U,W,S,X,T){J.Exec("AMT_AuthorizationService","AddUserAclEntryEx",{DigestUsername:V,DigestPassword:U,KerberosUserSid:W,AccessPermission:S,Realms:X},T)};J.AMT_AuthorizationService_EnumerateUserAclEntries=function(T,S){J.Exec("AMT_AuthorizationService","EnumerateUserAclEntries",{StartIndex:T},S)};J.AMT_AuthorizationService_GetUserAclEntryEx=function(T,S,U){J.Exec("AMT_AuthorizationService","GetUserAclEntryEx",{Handle:T},S,U)};J.AMT_AuthorizationService_UpdateUserAclEntryEx=function(W,V,U,X,S,Y,T){J.Exec("AMT_AuthorizationService","UpdateUserAclEntryEx",{Handle:W,DigestUsername:V,DigestPassword:U,KerberosUserSid:X,AccessPermission:S,Realms:Y},T)};J.AMT_AuthorizationService_RemoveUserAclEntry=function(T,S){J.Exec("AMT_AuthorizationService","RemoveUserAclEntry",{Handle:T},S)};J.AMT_AuthorizationService_SetAdminAclEntryEx=function(U,T,S){J.Exec("AMT_AuthorizationService","SetAdminAclEntryEx",{Username:U,DigestPassword:T},S)};J.AMT_AuthorizationService_GetAdminAclEntry=function(S){J.Exec("AMT_AuthorizationService","GetAdminAclEntry",{},S)};J.AMT_AuthorizationService_GetAdminAclEntryStatus=function(S){J.Exec("AMT_AuthorizationService","GetAdminAclEntryStatus",{},S)};J.AMT_AuthorizationService_GetAdminNetAclEntryStatus=function(S){J.Exec("AMT_AuthorizationService","GetAdminNetAclEntryStatus",{},S)};J.AMT_AuthorizationService_SetAclEnabledState=function(U,T,S,V){J.Exec("AMT_AuthorizationService","SetAclEnabledState",{Handle:U,Enabled:T},S,V)};J.AMT_AuthorizationService_GetAclEnabledState=function(T,S,U){J.Exec("AMT_AuthorizationService","GetAclEnabledState",{Handle:T},S,U)};J.AMT_EndpointAccessControlService_RequestStateChange=function(T,U,S){J.Exec("AMT_EndpointAccessControlService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AMT_EndpointAccessControlService_GetPosture=function(T,S){J.Exec("AMT_EndpointAccessControlService","GetPosture",{PostureType:T},S)};J.AMT_EndpointAccessControlService_GetPostureHash=function(T,S){J.Exec("AMT_EndpointAccessControlService","GetPostureHash",{PostureType:T},S)};J.AMT_EndpointAccessControlService_UpdatePostureState=function(T,S){J.Exec("AMT_EndpointAccessControlService","UpdatePostureState",{UpdateType:T},S)};J.AMT_EndpointAccessControlService_GetEacOptions=function(S){J.Exec("AMT_EndpointAccessControlService","GetEacOptions",{},S)};J.AMT_EndpointAccessControlService_SetEacOptions=function(T,U,S){J.Exec("AMT_EndpointAccessControlService","SetEacOptions",{EacVendors:T,PostureHashAlgorithm:U},S)};J.AMT_EnvironmentDetectionSettingData_SetSystemDefensePolicy=function(T,S){J.Exec("AMT_EnvironmentDetectionSettingData","SetSystemDefensePolicy",{Policy:T},S)};J.AMT_EnvironmentDetectionSettingData_EnableVpnRouting=function(T,S){J.Exec("AMT_EnvironmentDetectionSettingData","EnableVpnRouting",{Enable:T},S)};J.AMT_EthernetPortSettings_SetLinkPreference=function(T,U,S){J.Exec("AMT_EthernetPortSettings","SetLinkPreference",{LinkPreference:T,Timeout:U},S)};J.AMT_HeuristicPacketFilterStatistics_ResetSelectedStats=function(T,S){J.Exec("AMT_HeuristicPacketFilterStatistics","ResetSelectedStats",{SelectedStatistics:T},S)};J.AMT_KerberosSettingData_GetCredentialCacheState=function(S){J.Exec("AMT_KerberosSettingData","GetCredentialCacheState",{},S)};J.AMT_KerberosSettingData_SetCredentialCacheState=function(T,S){J.Exec("AMT_KerberosSettingData","SetCredentialCacheState",{Enable:T},S)};J.AMT_MessageLog_CancelIteration=function(T,S){J.Exec("AMT_MessageLog","CancelIteration",{IterationIdentifier:T},S)};J.AMT_MessageLog_RequestStateChange=function(T,U,S){J.Exec("AMT_MessageLog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AMT_MessageLog_ClearLog=function(S){J.Exec("AMT_MessageLog","ClearLog",{},S)};J.AMT_MessageLog_GetRecords=function(T,U,S,V){J.Exec("AMT_MessageLog","GetRecords",{IterationIdentifier:T,MaxReadRecords:U},S,V)};J.AMT_MessageLog_GetRecord=function(T,U,S){J.Exec("AMT_MessageLog","GetRecord",{IterationIdentifier:T,PositionToNext:U},S)};J.AMT_MessageLog_PositionAtRecord=function(T,U,V,S){J.Exec("AMT_MessageLog","PositionAtRecord",{IterationIdentifier:T,MoveAbsolute:U,RecordNumber:V},S)};J.AMT_MessageLog_PositionToFirstRecord=function(S,T){J.Exec("AMT_MessageLog","PositionToFirstRecord",{},S,T)};J.AMT_MessageLog_FreezeLog=function(T,S){J.Exec("AMT_MessageLog","FreezeLog",{Freeze:T},S)};J.AMT_PublicKeyManagementService_AddCRL=function(U,T,S){J.Exec("AMT_PublicKeyManagementService","AddCRL",{Url:U,SerialNumbers:T},S)};J.AMT_PublicKeyManagementService_ResetCRLList=function(S,T){J.Exec("AMT_PublicKeyManagementService","ResetCRLList",{_method_dummy:S},T)};J.AMT_PublicKeyManagementService_AddCertificate=function(T,S,U){J.Exec("AMT_PublicKeyManagementService","AddCertificate",{CertificateBlob:T},S,U)};J.AMT_PublicKeyManagementService_AddTrustedRootCertificate=function(T,S){J.Exec("AMT_PublicKeyManagementService","AddTrustedRootCertificate",{CertificateBlob:T},S)};J.AMT_PublicKeyManagementService_AddKey=function(T,S){J.Exec("AMT_PublicKeyManagementService","AddKey",{KeyBlob:T},S)};J.AMT_PublicKeyManagementService_GeneratePKCS10Request=function(U,T,V,S){J.Exec("AMT_PublicKeyManagementService","GeneratePKCS10Request",{KeyPair:U,DNName:T,Usage:V},S)};J.AMT_PublicKeyManagementService_GeneratePKCS10RequestEx=function(T,V,U,S){J.Exec("AMT_PublicKeyManagementService","GeneratePKCS10RequestEx",{KeyPair:T,SigningAlgorithm:V,NullSignedCertificateRequest:U},S)};J.AMT_PublicKeyManagementService_GenerateKeyPair=function(T,U,S){J.Exec("AMT_PublicKeyManagementService","GenerateKeyPair",{KeyAlgorithm:T,KeyLength:U},S)};J.AMT_RedirectionService_RequestStateChange=function(T,S){J.Exec("AMT_RedirectionService","RequestStateChange",{RequestedState:T},S)};J.AMT_RedirectionService_TerminateSession=function(T,S){J.Exec("AMT_RedirectionService","TerminateSession",{SessionType:T},S)};J.AMT_RemoteAccessService_AddMpServer=function(S,X,Z,T,V,aa,Y,W,U){J.Exec("AMT_RemoteAccessService","AddMpServer",{AccessInfo:S,InfoFormat:X,Port:Z,AuthMethod:T,Certificate:V,Username:aa,Password:Y,CN:W},U)};J.AMT_RemoteAccessService_AddRemoteAccessPolicyRule=function(V,W,T,U,S){J.Exec("AMT_RemoteAccessService","AddRemoteAccessPolicyRule",{Trigger:V,TunnelLifeTime:W,ExtendedData:T,MpServer:U},S)};J.AMT_RemoteAccessService_CloseRemoteAccessConnection=function(S,T){J.Exec("AMT_RemoteAccessService","CloseRemoteAccessConnection",{_method_dummy:S},T)};J.AMT_SetupAndConfigurationService_CommitChanges=function(S,T,U){J.Exec("AMT_SetupAndConfigurationService","CommitChanges",{_method_dummy:S},T,U)};J.AMT_SetupAndConfigurationService_Unprovision=function(T,S){J.Exec("AMT_SetupAndConfigurationService","Unprovision",{ProvisioningMode:T},S)};J.AMT_SetupAndConfigurationService_PartialUnprovision=function(S,T){J.Exec("AMT_SetupAndConfigurationService","PartialUnprovision",{_method_dummy:S},T)};J.AMT_SetupAndConfigurationService_ResetFlashWearOutProtection=function(S,T){J.Exec("AMT_SetupAndConfigurationService","ResetFlashWearOutProtection",{_method_dummy:S},T)};J.AMT_SetupAndConfigurationService_ExtendProvisioningPeriod=function(T,S){J.Exec("AMT_SetupAndConfigurationService","ExtendProvisioningPeriod",{Duration:T},S)};J.AMT_SetupAndConfigurationService_SetMEBxPassword=function(T,S){J.Exec("AMT_SetupAndConfigurationService","SetMEBxPassword",{Password:T},S)};J.AMT_SetupAndConfigurationService_SetTLSPSK=function(T,U,S){J.Exec("AMT_SetupAndConfigurationService","SetTLSPSK",{PID:T,PPS:U},S)};J.AMT_SetupAndConfigurationService_GetProvisioningAuditRecord=function(S){J.Exec("AMT_SetupAndConfigurationService","GetProvisioningAuditRecord",{},S)};J.AMT_SetupAndConfigurationService_GetUuid=function(S){J.Exec("AMT_SetupAndConfigurationService","GetUuid",{},S)};J.AMT_SetupAndConfigurationService_GetUnprovisionBlockingComponents=function(S){J.Exec("AMT_SetupAndConfigurationService","GetUnprovisionBlockingComponents",{},S)};J.AMT_SetupAndConfigurationService_GetProvisioningAuditRecordV2=function(S){J.Exec("AMT_SetupAndConfigurationService","GetProvisioningAuditRecordV2",{},S)};J.AMT_SystemDefensePolicy_GetTimeout=function(S){J.Exec("AMT_SystemDefensePolicy","GetTimeout",{},S)};J.AMT_SystemDefensePolicy_SetTimeout=function(T,S){J.Exec("AMT_SystemDefensePolicy","SetTimeout",{Timeout:T},S)};J.AMT_SystemDefensePolicy_UpdateStatistics=function(T,V,S,X,U,W){J.Exec("AMT_SystemDefensePolicy","UpdateStatistics",{NetworkInterface:T,ResetOnRead:V},S,X,U,W)};J.AMT_SystemPowerScheme_SetPowerScheme=function(S,T,U){J.Exec("AMT_SystemPowerScheme","SetPowerScheme",{},S,U,0,{InstanceID:T})};J.AMT_TimeSynchronizationService_GetLowAccuracyTimeSynch=function(S,T){J.Exec("AMT_TimeSynchronizationService","GetLowAccuracyTimeSynch",{},S,T)};J.AMT_TimeSynchronizationService_SetHighAccuracyTimeSynch=function(T,V,W,S,U){J.Exec("AMT_TimeSynchronizationService","SetHighAccuracyTimeSynch",{Ta0:T,Tm1:V,Tm2:W},S,U)};J.AMT_TLSCredentialContext_Create=function t(T,U,S,V){J.Create("AMT_TLSCredentialContext",{ElementInContext:T,ElementProvidingContext:U},S,V)};J.AMT_UserInitiatedConnectionService_RequestStateChange=function(T,U,S){J.Exec("AMT_UserInitiatedConnectionService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AMT_WebUIService_RequestStateChange=function(T,V,S,U){J.Exec("AMT_WebUIService","RequestStateChange",{RequestedState:T,TimeoutPeriod:V},S,U)};J.AMT_WiFiPortConfigurationService_AddWiFiSettings=function(W,X,V,U,S,T){J.ExecWithXml("AMT_WiFiPortConfigurationService","AddWiFiSettings",{WiFiEndpoint:W,WiFiEndpointSettingsInput:X,IEEE8021xSettingsInput:V,ClientCredential:U,CACredential:S},T)};J.AMT_WiFiPortConfigurationService_UpdateWiFiSettings=function(W,X,V,U,S,T){J.ExecWithXml("AMT_WiFiPortConfigurationService","UpdateWiFiSettings",{WiFiEndpointSettings:W,WiFiEndpointSettingsInput:X,IEEE8021xSettingsInput:V,ClientCredential:U,CACredential:S},T)};J.AMT_WiFiPortConfigurationService_DeleteAllITProfiles=function(S,T){J.Exec("AMT_WiFiPortConfigurationService","DeleteAllITProfiles",{_method_dummy:S},T)};J.AMT_WiFiPortConfigurationService_DeleteAllUserProfiles=function(S,T){J.Exec("AMT_WiFiPortConfigurationService","DeleteAllUserProfiles",{_method_dummy:S},T)};J.CIM_Account_RequestStateChange=function(T,U,S){J.Exec("CIM_Account","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_AccountManagementService_CreateAccount=function(U,S,T){J.Exec("CIM_AccountManagementService","CreateAccount",{System:U,AccountTemplate:S},T)};J.CIM_BootConfigSetting_ChangeBootOrder=function(T,S){J.Exec("CIM_BootConfigSetting","ChangeBootOrder",{Source:T},S)};J.CIM_BootService_SetBootConfigRole=function(S,U,T){J.Exec("CIM_BootService","SetBootConfigRole",{BootConfigSetting:S,Role:U},T,0,1)};J.CIM_Card_ConnectorPower=function(T,U,S){J.Exec("CIM_Card","ConnectorPower",{Connector:T,PoweredOn:U},S)};J.CIM_Card_IsCompatible=function(T,S){J.Exec("CIM_Card","IsCompatible",{ElementToCheck:T},S)};J.CIM_Chassis_IsCompatible=function(T,S){J.Exec("CIM_Chassis","IsCompatible",{ElementToCheck:T},S)};J.CIM_Fan_SetSpeed=function(T,S){J.Exec("CIM_Fan","SetSpeed",{DesiredSpeed:T},S)};J.CIM_KVMRedirectionSAP_RequestStateChange=function(T,U,S){J.Exec("CIM_KVMRedirectionSAP","RequestStateChange",{RequestedState:T},S)};J.CIM_MediaAccessDevice_LockMedia=function(T,S){J.Exec("CIM_MediaAccessDevice","LockMedia",{Lock:T},S)};J.CIM_MediaAccessDevice_SetPowerState=function(T,U,S){J.Exec("CIM_MediaAccessDevice","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_MediaAccessDevice_Reset=function(S){J.Exec("CIM_MediaAccessDevice","Reset",{},S)};J.CIM_MediaAccessDevice_EnableDevice=function(T,S){J.Exec("CIM_MediaAccessDevice","EnableDevice",{Enabled:T},S)};J.CIM_MediaAccessDevice_OnlineDevice=function(T,S){J.Exec("CIM_MediaAccessDevice","OnlineDevice",{Online:T},S)};J.CIM_MediaAccessDevice_QuiesceDevice=function(T,S){J.Exec("CIM_MediaAccessDevice","QuiesceDevice",{Quiesce:T},S)};J.CIM_MediaAccessDevice_SaveProperties=function(S){J.Exec("CIM_MediaAccessDevice","SaveProperties",{},S)};J.CIM_MediaAccessDevice_RestoreProperties=function(S){J.Exec("CIM_MediaAccessDevice","RestoreProperties",{},S)};J.CIM_MediaAccessDevice_RequestStateChange=function(T,U,S){J.Exec("CIM_MediaAccessDevice","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_PhysicalFrame_IsCompatible=function(T,S){J.Exec("CIM_PhysicalFrame","IsCompatible",{ElementToCheck:T},S)};J.CIM_PhysicalPackage_IsCompatible=function(T,S){J.Exec("CIM_PhysicalPackage","IsCompatible",{ElementToCheck:T},S)};J.CIM_PowerManagementService_RequestPowerStateChange=function(U,T,V,W,S){J.Exec("CIM_PowerManagementService","RequestPowerStateChange",{PowerState:U,ManagedElement:T,Time:V,TimeoutPeriod:W},S,0,1)};J.CIM_PowerSupply_SetPowerState=function(T,U,S){J.Exec("CIM_PowerSupply","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_PowerSupply_Reset=function(S){J.Exec("CIM_PowerSupply","Reset",{},S)};J.CIM_PowerSupply_EnableDevice=function(T,S){J.Exec("CIM_PowerSupply","EnableDevice",{Enabled:T},S)};J.CIM_PowerSupply_OnlineDevice=function(T,S){J.Exec("CIM_PowerSupply","OnlineDevice",{Online:T},S)};J.CIM_PowerSupply_QuiesceDevice=function(T,S){J.Exec("CIM_PowerSupply","QuiesceDevice",{Quiesce:T},S)};J.CIM_PowerSupply_SaveProperties=function(S){J.Exec("CIM_PowerSupply","SaveProperties",{},S)};J.CIM_PowerSupply_RestoreProperties=function(S){J.Exec("CIM_PowerSupply","RestoreProperties",{},S)};J.CIM_PowerSupply_RequestStateChange=function(T,U,S){J.Exec("CIM_PowerSupply","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_Processor_SetPowerState=function(T,U,S){J.Exec("CIM_Processor","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_Processor_Reset=function(S){J.Exec("CIM_Processor","Reset",{},S)};J.CIM_Processor_EnableDevice=function(T,S){J.Exec("CIM_Processor","EnableDevice",{Enabled:T},S)};J.CIM_Processor_OnlineDevice=function(T,S){J.Exec("CIM_Processor","OnlineDevice",{Online:T},S)};J.CIM_Processor_QuiesceDevice=function(T,S){J.Exec("CIM_Processor","QuiesceDevice",{Quiesce:T},S)};J.CIM_Processor_SaveProperties=function(S){J.Exec("CIM_Processor","SaveProperties",{},S)};J.CIM_Processor_RestoreProperties=function(S){J.Exec("CIM_Processor","RestoreProperties",{},S)};J.CIM_Processor_RequestStateChange=function(T,U,S){J.Exec("CIM_Processor","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_RecordLog_ClearLog=function(S){J.Exec("CIM_RecordLog","ClearLog",{},S)};J.CIM_RecordLog_RequestStateChange=function(T,U,S){J.Exec("CIM_RecordLog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_RedirectionService_RequestStateChange=function(T,U,S){J.Exec("CIM_RedirectionService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_Sensor_SetPowerState=function(T,U,S){J.Exec("CIM_Sensor","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_Sensor_Reset=function(S){J.Exec("CIM_Sensor","Reset",{},S)};J.CIM_Sensor_EnableDevice=function(T,S){J.Exec("CIM_Sensor","EnableDevice",{Enabled:T},S)};J.CIM_Sensor_OnlineDevice=function(T,S){J.Exec("CIM_Sensor","OnlineDevice",{Online:T},S)};J.CIM_Sensor_QuiesceDevice=function(T,S){J.Exec("CIM_Sensor","QuiesceDevice",{Quiesce:T},S)};J.CIM_Sensor_SaveProperties=function(S){J.Exec("CIM_Sensor","SaveProperties",{},S)};J.CIM_Sensor_RestoreProperties=function(S){J.Exec("CIM_Sensor","RestoreProperties",{},S)};J.CIM_Sensor_RequestStateChange=function(T,U,S){J.Exec("CIM_Sensor","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_StatisticalData_ResetSelectedStats=function(T,S){J.Exec("CIM_StatisticalData","ResetSelectedStats",{SelectedStatistics:T},S)};J.CIM_Watchdog_KeepAlive=function(S){J.Exec("CIM_Watchdog","KeepAlive",{},S)};J.CIM_Watchdog_SetPowerState=function(T,U,S){J.Exec("CIM_Watchdog","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_Watchdog_Reset=function(S){J.Exec("CIM_Watchdog","Reset",{},S)};J.CIM_Watchdog_EnableDevice=function(T,S){J.Exec("CIM_Watchdog","EnableDevice",{Enabled:T},S)};J.CIM_Watchdog_OnlineDevice=function(T,S){J.Exec("CIM_Watchdog","OnlineDevice",{Online:T},S)};J.CIM_Watchdog_QuiesceDevice=function(T,S){J.Exec("CIM_Watchdog","QuiesceDevice",{Quiesce:T},S)};J.CIM_Watchdog_SaveProperties=function(S){J.Exec("CIM_Watchdog","SaveProperties",{},S)};J.CIM_Watchdog_RestoreProperties=function(S){J.Exec("CIM_Watchdog","RestoreProperties",{},S)};J.CIM_Watchdog_RequestStateChange=function(T,U,S){J.Exec("CIM_Watchdog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_WiFiPort_SetPowerState=function(T,U,S){J.Exec("CIM_WiFiPort","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_WiFiPort_Reset=function(S){J.Exec("CIM_WiFiPort","Reset",{},S)};J.CIM_WiFiPort_EnableDevice=function(T,S){J.Exec("CIM_WiFiPort","EnableDevice",{Enabled:T},S)};J.CIM_WiFiPort_OnlineDevice=function(T,S){J.Exec("CIM_WiFiPort","OnlineDevice",{Online:T},S)};J.CIM_WiFiPort_QuiesceDevice=function(T,S){J.Exec("CIM_WiFiPort","QuiesceDevice",{Quiesce:T},S)};J.CIM_WiFiPort_SaveProperties=function(S){J.Exec("CIM_WiFiPort","SaveProperties",{},S)};J.CIM_WiFiPort_RestoreProperties=function(S){J.Exec("CIM_WiFiPort","RestoreProperties",{},S)};J.CIM_WiFiPort_RequestStateChange=function(T,U,S){J.Exec("CIM_WiFiPort","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.IPS_HostBasedSetupService_Setup=function(W,X,V,T,Y,U,S){J.Exec("IPS_HostBasedSetupService","Setup",{NetAdminPassEncryptionType:W,NetworkAdminPassword:X,McNonce:V,Certificate:T,SigningAlgorithm:Y,DigitalSignature:U},S)};J.IPS_HostBasedSetupService_AddNextCertInChain=function(V,T,U,S){J.Exec("IPS_HostBasedSetupService","AddNextCertInChain",{NextCertificate:V,IsLeafCertificate:T,IsRootCertificate:U},S)};J.IPS_HostBasedSetupService_AdminSetup=function(V,W,U,X,T,S){J.Exec("IPS_HostBasedSetupService","AdminSetup",{NetAdminPassEncryptionType:V,NetworkAdminPassword:W,McNonce:U,SigningAlgorithm:X,DigitalSignature:T},S)};J.IPS_HostBasedSetupService_UpgradeClientToAdmin=function(U,V,T,S){J.Exec("IPS_HostBasedSetupService","UpgradeClientToAdmin",{McNonce:U,SigningAlgorithm:V,DigitalSignature:T},S)};J.IPS_HostBasedSetupService_DisableClientControlMode=function(S,T){J.Exec("IPS_HostBasedSetupService","DisableClientControlMode",{_method_dummy:S},T)};J.IPS_KVMRedirectionSettingData_TerminateSession=function(S){J.Exec("IPS_KVMRedirectionSettingData","TerminateSession",{},S)};J.IPS_KVMRedirectionSettingData_DataChannelRead=function(S){J.Exec("IPS_KVMRedirectionSettingData","DataChannelRead",{},S)};J.IPS_KVMRedirectionSettingData_DataChannelWrite=function(T,S){J.Exec("IPS_KVMRedirectionSettingData","DataChannelWrite",{DataMessage:T},S)};J.IPS_OptInService_StartOptIn=function(S){J.Exec("IPS_OptInService","StartOptIn",{},S)};J.IPS_OptInService_CancelOptIn=function(S){J.Exec("IPS_OptInService","CancelOptIn",{},S)};J.IPS_OptInService_SendOptInCode=function(T,S){J.Exec("IPS_OptInService","SendOptInCode",{OptInCode:T},S)};J.IPS_OptInService_StartService=function(S){J.Exec("IPS_OptInService","StartService",{},S)};J.IPS_OptInService_StopService=function(S){J.Exec("IPS_OptInService","StopService",{},S)};J.IPS_OptInService_RequestStateChange=function(T,U,S){J.Exec("IPS_OptInService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.IPS_ProvisioningRecordLog_RequestStateChange=function(T,U,S){J.Exec("IPS_ProvisioningRecordLog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.IPS_ProvisioningRecordLog_ClearLog=function(S,T){J.Exec("IPS_ProvisioningRecordLog","ClearLog",{_method_dummy:S},T)};J.IPS_SecIOService_RequestStateChange=function(T,U,S){J.Exec("IPS_SecIOService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AmtStatusToStr=function(S){if(J.AmtStatusCodes[S]){return J.AmtStatusCodes[S]}else{return"UNKNOWN_ERROR"}};J.AmtStatusCodes={0:"SUCCESS",1:"INTERNAL_ERROR",2:"NOT_READY",3:"INVALID_PT_MODE",4:"INVALID_MESSAGE_LENGTH",5:"TABLE_FINGERPRINT_NOT_AVAILABLE",6:"INTEGRITY_CHECK_FAILED",7:"UNSUPPORTED_ISVS_VERSION",8:"APPLICATION_NOT_REGISTERED",9:"INVALID_REGISTRATION_DATA",10:"APPLICATION_DOES_NOT_EXIST",11:"NOT_ENOUGH_STORAGE",12:"INVALID_NAME",13:"BLOCK_DOES_NOT_EXIST",14:"INVALID_BYTE_OFFSET",15:"INVALID_BYTE_COUNT",16:"NOT_PERMITTED",17:"NOT_OWNER",18:"BLOCK_LOCKED_BY_OTHER",19:"BLOCK_NOT_LOCKED",20:"INVALID_GROUP_PERMISSIONS",21:"GROUP_DOES_NOT_EXIST",22:"INVALID_MEMBER_COUNT",23:"MAX_LIMIT_REACHED",24:"INVALID_AUTH_TYPE",25:"AUTHENTICATION_FAILED",26:"INVALID_DHCP_MODE",27:"INVALID_IP_ADDRESS",28:"INVALID_DOMAIN_NAME",29:"UNSUPPORTED_VERSION",30:"REQUEST_UNEXPECTED",31:"INVALID_TABLE_TYPE",32:"INVALID_PROVISIONING_STATE",33:"UNSUPPORTED_OBJECT",34:"INVALID_TIME",35:"INVALID_INDEX",36:"INVALID_PARAMETER",37:"INVALID_NETMASK",38:"FLASH_WRITE_LIMIT_EXCEEDED",39:"INVALID_IMAGE_LENGTH",40:"INVALID_IMAGE_SIGNATURE",41:"PROPOSE_ANOTHER_VERSION",42:"INVALID_PID_FORMAT",43:"INVALID_PPS_FORMAT",44:"BIST_COMMAND_BLOCKED",45:"CONNECTION_FAILED",46:"CONNECTION_TOO_MANY",47:"RNG_GENERATION_IN_PROGRESS",48:"RNG_NOT_READY",49:"CERTIFICATE_NOT_READY",1024:"DISABLED_BY_POLICY",2048:"NETWORK_IF_ERROR_BASE",2049:"UNSUPPORTED_OEM_NUMBER",2050:"UNSUPPORTED_BOOT_OPTION",2051:"INVALID_COMMAND",2052:"INVALID_SPECIAL_COMMAND",2053:"INVALID_HANDLE",2054:"INVALID_PASSWORD",2055:"INVALID_REALM",2056:"STORAGE_ACL_ENTRY_IN_USE",2057:"DATA_MISSING",2058:"DUPLICATE",2059:"EVENTLOG_FROZEN",2060:"PKI_MISSING_KEYS",2061:"PKI_GENERATING_KEYS",2062:"INVALID_KEY",2063:"INVALID_CERT",2064:"CERT_KEY_NOT_MATCH",2065:"MAX_KERB_DOMAIN_REACHED",2066:"UNSUPPORTED",2067:"INVALID_PRIORITY",2068:"NOT_FOUND",2069:"INVALID_CREDENTIALS",2070:"INVALID_PASSPHRASE",2072:"NO_ASSOCIATION",2075:"AUDIT_FAIL",2076:"BLOCKING_COMPONENT",2081:"USER_CONSENT_REQUIRED",4096:"APP_INTERNAL_ERROR",4097:"NOT_INITIALIZED",4098:"LIB_VERSION_UNSUPPORTED",4099:"INVALID_PARAM",4100:"RESOURCES",4101:"HARDWARE_ACCESS_ERROR",4102:"REQUESTOR_NOT_REGISTERED",4103:"NETWORK_ERROR",4104:"PARAM_BUFFER_TOO_SHORT",4105:"COM_NOT_INITIALIZED_IN_THREAD",4106:"URL_REQUIRED"};J.GetMessageLog=function(S,T){J.AMT_MessageLog_PositionToFirstRecord(k,[S,T,[]])};function k(U,S,T,V,W){if(V!=200||T.Body.ReturnValue!="0"){W[0](J,null,W[2],V);return}J.AMT_MessageLog_GetRecords(T.Body.IterationIdentifier,390,l,W)}function l(Z,W,Y,aa,ac){if(aa!=200||Y.Body.ReturnValue!="0"){ac[0](J,null,ac[2],aa);return}var U,V,ae,T,S=ac[2],ab=new Date(),ad,X=Y.Body.RecordArray;if(typeof X==="string"){Y.Body.RecordArray=[Y.Body.RecordArray]}for(U in X){T=Buffer.from(X[U],"base64");if(T!=null){ad=M(T,0);if((ad>0)&&(ad<4294967295)){ae={DeviceAddress:T[4],EventSensorType:T[5],EventType:T[6],EventOffset:T[7],EventSourceType:T[8],EventSeverity:T[9],SensorNumber:T[10],Entity:T[11],EntityInstance:T[12],EventData:[],Time:new Date((ad+(ab.getTimezoneOffset()*60))*1000)};for(V=13;V<21;V++){ae.EventData.push(T[V])}ae.EntityStr=o[ae.Entity];ae.Desc=j(ae.EventSensorType,ae.EventOffset,ae.EventData,ae.Entity);if(!ae.EntityStr){ae.EntityStr="Unknown"}S.push(ae)}}}if(Y.Body.NoMoreRecords!=true){J.AMT_MessageLog_GetRecords(Y.Body.IterationIdentifier,390,l,[ac[0],S,ac[2]])}else{ac[0](J,S,ac[2])}}var f="Platform firmware (e.g. BIOS)|SMI handler|ISV system management software|Alert ASIC|IPMI|BIOS vendor|System board set vendor|System integrator|Third party add-in|OSV|NIC|System management card".split("|");var p="Unspecified.|No system memory is physically installed in the system.|No usable system memory, all installed memory has experienced an unrecoverable failure.|Unrecoverable hard-disk/ATAPI/IDE device failure.|Unrecoverable system-board failure.|Unrecoverable diskette subsystem failure.|Unrecoverable hard-disk controller failure.|Unrecoverable PS/2 or USB keyboard failure.|Removable boot media not found.|Unrecoverable video controller failure.|No video device detected.|Firmware (BIOS) ROM corruption detected.|CPU voltage mismatch (processors that share same supply have mismatched voltage requirements)|CPU speed matching failure".split("|");var q="Unspecified.|Memory initialization.|Starting hard-disk initialization and test|Secondary processor(s) initialization|User authentication|User-initiated system setup|USB resource configuration|PCI resource configuration|Option ROM initialization|Video initialization|Cache initialization|SM Bus initialization|Keyboard controller initialization|Embedded controller/management controller initialization|Docking station attachment|Enabling docking station|Docking station ejection|Disabling docking station|Calling operating system wake-up vector|Starting operating system boot process|Baseboard or motherboard initialization|reserved|Floppy initialization|Keyboard test|Pointing device test|Primary processor initialization".split("|");var o="Unspecified|Other|Unknown|Processor|Disk|Peripheral|System management module|System board|Memory module|Processor module|Power supply|Add in card|Front panel board|Back panel board|Power system board|Drive backplane|System internal expansion board|Other system board|Processor board|Power unit|Power module|Power management board|Chassis back panel board|System chassis|Sub chassis|Other chassis board|Disk drive bay|Peripheral bay|Device bay|Fan cooling|Cooling unit|Cable interconnect|Memory device|System management software|BIOS|Intel(r) ME|System bus|Group|Intel(r) ME|External environment|Battery|Processing blade|Connectivity switch|Processor/memory module|I/O module|Processor I/O module|Management controller firmware|IPMI channel|PCI bus|PCI express bus|SCSI bus|SATA/SAS bus|Processor front side bus".split("|");J.RealmNames="||Redirection|PT Administration|Hardware Asset|Remote Control|Storage|Event Manager|Storage Admin|Agent Presence Local|Agent Presence Remote|Circuit Breaker|Network Time|General Information|Firmware Update|EIT|LocalUN|Endpoint Access Control|Endpoint Access Control Admin|Event Log Reader|Audit Log|ACL Realm|||Local System".split("|");J.WatchdogCurrentStates={1:"Not Started",2:"Stopped",4:"Running",8:"Expired",16:"Suspended"};function j(V,U,T,S){if(V==15){if(T[0]==235){return"Invalid Data"}if(U==0){return p[T[1]]}return q[T[1]]}if(V==18&&T[0]==170){return"Agent watchdog "+char2hex(T[4])+char2hex(T[3])+char2hex(T[2])+char2hex(T[1])+"-"+char2hex(T[6])+char2hex(T[5])+"-... changed to "+J.WatchdogCurrentStates[T[7]]}if(V==6){return"Authentication failed "+(T[1]+(T[2]<<8))+" times. The system may be under attack."}if(V==30){return"No bootable media"}if(V==32){return"Operating system lockup or power interrupt"}if(V==35){return"System boot failure"}if(V==37){return"System firmware started (at least one CPU is properly executing)."}return"Unknown Sensor Type #"+V}var a={16:"Security Admin",17:"RCO",18:"Redirection Manager",19:"Firmware Update Manager",20:"Security Audit Log",21:"Network Time",22:"Network Administration",23:"Storage Administration",24:"Event Manager",25:"Circuit Breaker Manager",26:"Agent Presence Manager",27:"Wireless Configuration",28:"EAC",29:"KVM",30:"User Opt-In Events",32:"Screen Blanking",33:"Watchdog Events",1600:"Provisioning Started",1601:"Provisioning Completed",1602:"ACL Entry Added",1603:"ACL Entry Modified",1604:"ACL Entry Removed",1605:"ACL Access with Invalid Credentials",1606:"ACL Entry State",1607:"TLS State Changed",1608:"TLS Server Certificate Set",1609:"TLS Server Certificate Remove",1610:"TLS Trusted Root Certificate Added",1611:"TLS Trusted Root Certificate Removed",1612:"TLS Preshared Key Set",1613:"Kerberos Settings Modified",1614:"Kerberos Master Key Modified",1615:"Flash Wear out Counters Reset",1616:"Power Package Modified",1617:"Set Realm Authentication Mode",1618:"Upgrade Client to Admin Control Mode",1619:"Unprovisioning Started",1700:"Performed Power Up",1701:"Performed Power Down",1702:"Performed Power Cycle",1703:"Performed Reset",1704:"Set Boot Options",1800:"IDER Session Opened",1801:"IDER Session Closed",1802:"IDER Enabled",1803:"IDER Disabled",1804:"SoL Session Opened",1805:"SoL Session Closed",1806:"SoL Enabled",1807:"SoL Disabled",1808:"KVM Session Started",1809:"KVM Session Ended",1810:"KVM Enabled",1811:"KVM Disabled",1812:"VNC Password Failed 3 Times",1900:"Firmware Updated",1901:"Firmware Update Failed",2000:"Security Audit Log Cleared",2001:"Security Audit Policy Modified",2002:"Security Audit Log Disabled",2003:"Security Audit Log Enabled",2004:"Security Audit Log Exported",2005:"Security Audit Log Recovered",2100:"Intel(R) ME Time Set",2200:"TCPIP Parameters Set",2201:"Host Name Set",2202:"Domain Name Set",2203:"VLAN Parameters Set",2204:"Link Policy Set",2205:"IPv6 Parameters Set",2300:"Global Storage Attributes Set",2301:"Storage EACL Modified",2302:"Storage FPACL Modified",2303:"Storage Write Operation",2400:"Alert Subscribed",2401:"Alert Unsubscribed",2402:"Event Log Cleared",2403:"Event Log Frozen",2500:"CB Filter Added",2501:"CB Filter Removed",2502:"CB Policy Added",2503:"CB Policy Removed",2504:"CB Default Policy Set",2505:"CB Heuristics Option Set",2506:"CB Heuristics State Cleared",2600:"Agent Watchdog Added",2601:"Agent Watchdog Removed",2602:"Agent Watchdog Action Set",2700:"Wireless Profile Added",2701:"Wireless Profile Removed",2702:"Wireless Profile Updated",2800:"EAC Posture Signer SET",2801:"EAC Enabled",2802:"EAC Disabled",2803:"EAC Posture State",2804:"EAC Set Options",2900:"KVM Opt-in Enabled",2901:"KVM Opt-in Disabled",2902:"KVM Password Changed",2903:"KVM Consent Succeeded",2904:"KVM Consent Failed",3000:"Opt-In Policy Change",3001:"Send Consent Code Event",3002:"Start Opt-In Blocked Event"};J.GetAuditLogExtendedDataStr=function(T,S){if((T==1602||T==1604)&&S[0]==0){return w(S).splice(2,2+S[1]).toString()}if(T==1603){if(S[1]==0){return w(S).splice(3).toString()}return null}if(T==1605){return["Invalid ME access","Invalid MEBx access"][S[0]]}if(T==1606){var U=["Disabled","Enabled"][S[0]];if(S[1]==0){U+=", "+S[3]}return U}if(T==1607){return"Remote "+["NoAuth","ServerAuth","MutualAuth"][S[0]]+", Local "+["NoAuth","ServerAuth","MutualAuth"][S[1]]}if(T==1617){return J.RealmNames[L(S,0)]+", "+["NoAuth","Auth","Disabled"][S[4]]}if(T==1619){return["BIOS","MEBx","Local MEI","Local WSMAN","Remote WSAMN"][S[0]]}if(T==1900){return"From "+N(S,0)+"."+N(S,2)+"."+N(S,4)+"."+N(S,6)+" to "+N(S,8)+"."+N(S,10)+"."+N(S,12)+"."+N(S,14)}if(T==2100){var V=new Date();V.setTime(L(S,0)*1000+(new Date().getTimezoneOffset()*60000));return V.toLocaleString()}if(T==3000){return"From "+["None","KVM","All"][S[0]]+" to "+["None","KVM","All"][S[1]]}if(T==3001){return["Success","Failed 3 times"][S[0]]}return null};J.GetAuditLog=function(S){J.AMT_AuditLog_ReadRecords(1,i,[S,[]])};function I(S){if(!S||S==null||typeof S=="object"){return S}return[S]}function N(T,S){return(T[S]<<8)+T[S+1]}function L(T,S){return(T[S]*16777216)+(T[S+1]<<16)+(T[S+2]<<8)+T[S+3]}function M(T,S){return(T[S+3]*16777216)+(T[S+2]<<16)+(T[S+1]<<8)+T[S]}function v(S){return Buffer.from(S).toString("base64")}function u(T){var U=null;try{U=Buffer.from(T,"base64").toString()}catch(S){console.log(S)}return U}function w(S){var U=[];for(var T in S){U.push(S[T])}return U}function i(ab,W,aa,ac,ae){if(ac!=200){ae[0](J,[],ac);return}var Y,V,S,ah,Z=ae[1],ad=new Date(),af;if(aa.Body.RecordsReturned>0){aa.Body.EventRecords=I(aa.Body.EventRecords);for(V in aa.Body.EventRecords){S=null;try{S=Buffer.from(aa.Body.EventRecords[V],"base64")}catch(T){console.log(T+" "+aa.Body.EventRecords[V])}ah={AuditAppID:N(S,0),EventID:N(S,2),InitiatorType:S[4]};ah.AuditApp=a[ah.AuditAppID];ah.Event=a[(ah.AuditAppID*100)+ah.EventID];if(!ah.Event){ah.Event="#"+ah.EventID}if(ah.InitiatorType==0){var ag=S[5];ah.Initiator=S.slice(6,6+ag).toString();Y=6+ag}if(ah.InitiatorType==1){ah.KerberosUserInDomain=L(S,5);var ag=S[9];ah.Initiator=G(S.slice(10,10+ag));Y=10+ag}if(ah.InitiatorType==2){ah.Initiator="Local";Y=5}if(ah.InitiatorType==3){ah.Initiator="KVM Default Port";Y=5}af=L(S,Y);ah.Time=new Date((af+(ad.getTimezoneOffset()*60))*1000);Y+=4;ah.MCLocationType=S[Y++];var X=S[Y++];ah.NetAddress=S.slice(Y,Y+X).toString();Y+=X;var U=S[Y++];ah.Ex=S.slice(Y,Y+U);ah.ExStr=J.GetAuditLogExtendedDataStr((ah.AuditAppID*100)+ah.EventID,ah.Ex);Z.push(ah)}}if(aa.Body.TotalRecordCount>Z.length){J.AMT_AuditLog_ReadRecords(Z.length+1,i,[ae[0],Z])}else{ae[0](J,Z,ac)}}function C(U){if(U===undefined||U===null){return null}var V="";for(var T in U){var S=U[T];if(!S){continue}if(S.__parameterType==="reference"){V+=O(T,S)}else{V+=H(T,S)}}return V}function H(V,U){if(U===undefined||U===null){return null}var T=!!U.__namespace;var Z=T?"";for(var X in U){if(!U.hasOwnProperty(X)||X.indexOf("__")===0){continue}if(typeof U[X]==="function"||Array.isArray(U[X])){continue}if(typeof U[X]==="object"){console.error("only convert one level down...")}else{Y+=Z+X+">"+U[X].toString()+S+X+">"}}Y+="";return Y}function O(T,S){if(S===undefined||S===null){return null}var U="/wsman"+S.__resourceUri+"";for(var V in S){if(!S.hasOwnProperty(V)||V.indexOf("__")===0){continue}if(typeof S[V]==="function"||typeof S[V]==="object"||Array.isArray(S[V])){continue}U+=''+S[V].toString()+""}U+="";return U}function G(U){var T="S-"+U.charCodeAt(0)+"-"+U.charCodeAt(7);for(var S=2;S<(U.length/4);S++){T+="-"+M(U,S*4)}return T}function F(V){if(!V||V==null){return null}var U=V.split("-");if(U.length<4||(U[0]!="s"&&U[0]!="S")){return null}for(var S=1;SStandardOutPath\n"+r.stdout+""):"");var i=(r.startType=="AUTO_START"?"":"");var s=" ProgramArguments\n";s+=" \n";s+=(" /usr/local/mesh_services/"+r.name+"/"+r.name+"\n");if(r.parameters){for(var p in r.parameters){s+=(" "+r.parameters[p]+"\n")}}s+=" \n";var t='\n';t+='\n';t+='\n';t+=" \n";t+=" Label\n";t+=(" "+r.name+"\n");t+=(s+"\n");t+=" WorkingDirectory\n";t+=(" /usr/local/mesh_services/"+r.name+"\n");t+=(y+"\n");t+=" RunAtLoad\n";t+=(i+"\n");t+=" \n";t+="";if(!require("fs").existsSync("/usr/local/mesh_services")){require("fs").mkdirSync("/usr/local/mesh_services")}if(!require("fs").existsSync("/Library/LaunchDaemons/"+r.name+".plist")){if(!require("fs").existsSync("/usr/local/mesh_services/"+r.name)){require("fs").mkdirSync("/usr/local/mesh_services/"+r.name)}if(r.binary){require("fs").writeFileSync("/usr/local/mesh_services/"+r.name+"/"+r.name,r.binary)}else{require("fs").copyFileSync(r.servicePath,"/usr/local/mesh_services/"+r.name+"/"+r.name)}require("fs").writeFileSync("/Library/LaunchDaemons/"+r.name+".plist",t);var q=require("fs").statSync("/usr/local/mesh_services/"+r.name+"/"+r.name).mode;q|=(require("fs").CHMOD_MODES.S_IXUSR|require("fs").CHMOD_MODES.S_IXGRP);require("fs").chmodSync("/usr/local/mesh_services/"+r.name+"/"+r.name,q)}else{throw ("Service: "+r.name+" already exists")}}};this.uninstallService=function f(i){if(!this.isAdmin()){throw ("Uninstalling a service, requires admin")}if(typeof(i)=="object"){i=i.name}if(process.platform=="win32"){var j=this.getService(i);if(j.status.state==undefined||j.status.state=="STOPPED"){if(this.proxy.DeleteService(j._service)==0){throw ("Uninstall Service for: "+i+", failed with error: "+this.proxy2.GetLastError())}else{try{require("fs").unlinkSync(this.getServiceFolder()+"\\"+i+".exe")}catch(h){}}}else{throw ("Cannot uninstall service: "+i+", because it is: "+j.status.state)}}else{if(process.platform=="linux"){switch(this.getServiceType()){case"init":this._update=require("child_process").execFile("/bin/sh",["sh"],{type:require("child_process").SpawnTypes.TERM});this._update.stdout.on("data",function(k){});this._update.stdin.write("service "+i+" stop\n");this._update.stdin.write("update-rc.d -f "+i+" remove\n");this._update.stdin.write("exit\n");this._update.waitExit();try{require("fs").unlinkSync("/etc/init.d/"+i);console.log(i+" uninstalled")}catch(h){console.log(i+" could not be uninstalled",h)}break;case"systemd":this._update=require("child_process").execFile("/bin/sh",["sh"],{type:require("child_process").SpawnTypes.TERM});this._update.stdout.on("data",function(k){});this._update.stdin.write("systemctl stop "+i+".service\n");this._update.stdin.write("systemctl disable "+i+".service\n");this._update.stdin.write("exit\n");this._update.waitExit();try{require("fs").unlinkSync("/usr/local/mesh/"+i);require("fs").unlinkSync("/lib/systemd/system/"+i+".service");console.log(i+" uninstalled")}catch(h){console.log(i+" could not be uninstalled",h)}break;default:break}}else{if(process.platform=="darwin"){if(require("fs").existsSync("/Library/LaunchDaemons/"+i+".plist")){var g=require("child_process").execFile("/bin/sh",["sh"]);g.stdout.on("data",function(k){});g.stdin.write("launchctl stop "+i+"\n");g.stdin.write("launchctl unload /Library/LaunchDaemons/"+i+".plist\n");g.stdin.write("exit\n");g.waitExit();try{require("fs").unlinkSync("/usr/local/mesh_services/"+i+"/"+i);require("fs").unlinkSync("/Library/LaunchDaemons/"+i+".plist")}catch(h){throw ("Error uninstalling service: "+i+" => "+h)}try{require("fs").rmdirSync("/usr/local/mesh_services/"+i)}catch(h){}}else{throw ("Service: "+i+" does not exist")}}}}};if(process.platform=="linux"){this.getServiceType=function c(){return(require("process-manager").getProcessInfo(1).Name)}}}module.exports=serviceManager; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/smbios.min.js b/agents/modules_meshcmd_min/smbios.min.js deleted file mode 100644 index 14e5a722..00000000 --- a/agents/modules_meshcmd_min/smbios.min.js +++ /dev/null @@ -1 +0,0 @@ -try{Object.defineProperty(Array.prototype,"peek",{value:function(){return(this.length>0?this[this.length-1]:undefined)}})}catch(e){}try{Object.defineProperty(String.prototype,"replaceAll",{value:function replaceAll(b,a){return(this.split(b).join(a))}})}catch(e){}var RSMB=1381190978;var memoryLocation={1:"Other",2:"Unknown",3:"System Board",4:"ISA",5:"EISA",6:"PCI",7:"MCA",8:"PCMCIA",9:"Proprietary",10:"NuBus",160:"PC-98/C20",161:"PC-98/C24",162:"PC-98/E",163:"PC-98/LB"};var wakeReason=["Reserved","Other","Unknown","APM Timer","Modem Ring","LAN","Power Switch","PCI","AC Power"];function zeroLeftPad(c,b){if((b==null)&&(typeof(b)!="number")){return null}if(c==null){c=""}var d="";for(var a=0;a1){var r=v[1].split("\x0A\x0A")[0].split("\x0A");var s=[];for(var t in r){var u=r[t].trim().replaceAll(" ","").replaceAll("\x09","");if(!(u[0]=='"')){s.push(u)}}p.write(Buffer.from(s.join(""),"hex"));p.write(Buffer.from("00","hex"))}else{p.write(Buffer.from("0000","hex"))}}var q=p.buffer;q.ms=p;return(q)}}this._parse=function b(o){var n={};var m;var l=0;var o;var s=0;while(o&&l0){var n=l[4].pop();var o=n[20]&64;var s=n[20]&7;if(o){var m={_ObjectID:"SMBiosTables.processorInfo"};m.Processor=q[n[1]];m.MaxSpeed=n.readUInt16LE(16)+" Mhz";if(n[31]){m.Cores=n[31]}if(n[33]){m.Threads=n[33]}m.Populated=1;m.Status=t[s];m.Socket=n._strings[n[0]-1];m.Manufacturer=n._strings[n[3]-1];m.Version=n._strings[n[12]-1];r.push(m)}}return(r)};this.memoryInfo=function f(k){if(!k){throw ("no data")}var n={_ObjectID:"SMBiosTables.memoryInfo"};if(k[16]){var l=k[16].peek();n.location=memoryLocation[l[0]];if((n.maxCapacityKb=l.readUInt32LE(3))==2147483648){n.maxCapacityKb="A really big number"}}return(n)};this.systemInfo=function i(k){if(!k){throw ("no data")}var l={_ObjectID:"SMBiosTables.systemInfo"};if(k[1]){var m=k[1].peek();var n=m.slice(4,20);l.uuid=[zeroLeftPad(n.readUInt32LE(0).toString(16),8),zeroLeftPad(n.readUInt16LE(4).toString(16),4),zeroLeftPad(n.readUInt16LE(6).toString(16),4),zeroLeftPad(n.readUInt16BE(8).toString(16),4),zeroLeftPad(n.slice(10).toString("hex").toLowerCase(),12)].join("-");l.wakeReason=wakeReason[m[20]]}return(l)};this.systemSlots=function j(k){if(!k){throw ("no data")}var l=[];if(k[9]){while(k[9].length>0){var m=k[9].pop();l.push({name:m._strings[m[0]-1]})}}return(l)};this.amtInfo=function c(l){if(!l){throw ("no data")}var n={AMT:false};if(l[130]&&l[130].peek().slice(0,4).toString()=="$AMT"){var k=l[130].peek();n.AMT=k[4]?true:false;if(n.AMT){n.enabled=k[5]?true:false;n.storageRedirection=k[6]?true:false;n.serialOverLan=k[7]?true:false;n.kvm=k[14]?true:false;if(l[131].peek()&&l[131].peek().slice(52,56).toString()=="vPro"){var o=l[131].peek();if(o[0]&4){n.TXT=(o[0]&8)?true:false}if(o[0]&16){n.VMX=(o[0]&32)?true:false}n.MEBX=o.readUInt16LE(4).toString()+"."+o.readUInt16LE(6).toString()+"."+o.readUInt16LE(8).toString()+"."+o.readUInt16LE(10).toString();var m=o.slice(20,32);n.ManagementEngine=m.readUInt16LE(6).toString()+"."+m.readUInt16LE(4).toString()+"."+m.readUInt16LE(10).toString()+"."+m.readUInt16LE(8).toString()}}}return(n)};this.smTableTypes={0:"BIOS information",1:"System information",2:"Baseboard (or Module) information",4:"Processor information",5:"memory controller information",6:"Memory module information",7:"Cache information",8:"Port connector information",9:"System slots",10:"On board devices information",11:"OEM strings",12:"System configuration options",13:"BIOS language information",14:"Group associations",15:"System event log",16:"Physical memory array",17:"Memory device",18:"32bit memory error information",19:"Memory array mapped address",20:"Memory device mapped address",21:"Built-in pointing device",22:"Portable battery",23:"System reset",24:"Hardware security",25:"System power controls",26:"Voltage probe",27:"Cooling device",28:"Temperature probe",29:"Electrical current probe",30:"Out-of-band remote access",31:"Boot integrity services (BIS) entry point",32:"System boot information",33:"64bit memory error information",34:"Management device",35:"Management device component",36:"Management device threshold data",37:"Memory channel",38:"IPMI device information",39:"System power supply",40:"Additional information",41:"Onboard devices extended information",42:"Management controller host interface",126:"Inactive",127:"End-of-table"}}module.exports=new SMBiosTables(); \ No newline at end of file diff --git a/agents/modules_meshcmd_min/sysinfo.min.js b/agents/modules_meshcmd_min/sysinfo.min.js deleted file mode 100644 index 9230bd6b..00000000 --- a/agents/modules_meshcmd_min/sysinfo.min.js +++ /dev/null @@ -1 +0,0 @@ -var PDH_FMT_LONG=256;var PDH_FMT_DOUBLE=512;var promise=require("promise");if(process.platform=="win32"){var GM=require("_GenericMarshal");GM.kernel32=GM.CreateNativeProxy("kernel32.dll");GM.kernel32.CreateMethod("GlobalMemoryStatusEx");GM.pdh=GM.CreateNativeProxy("pdh.dll");GM.pdh.CreateMethod("PdhAddEnglishCounterA");GM.pdh.CreateMethod("PdhCloseQuery");GM.pdh.CreateMethod("PdhCollectQueryData");GM.pdh.CreateMethod("PdhGetFormattedCounterValue");GM.pdh.CreateMethod("PdhGetFormattedCounterArrayA");GM.pdh.CreateMethod("PdhOpenQueryA");GM.pdh.CreateMethod("PdhRemoveCounter")}function windows_cpuUtilization(){var b=new promise(function(d,c){this._res=d;this._rej=c});b.counter=GM.CreateVariable(16);b.cpu=GM.CreatePointer();b.cpuTotal=GM.CreatePointer();var a=0;if((a=GM.pdh.PdhOpenQueryA(0,0,b.cpu).Val)!=0){b._rej(a);return}if((a=GM.pdh.PdhAddEnglishCounterA(b.cpu.Deref(),GM.CreateVariable("\\Processor(*)\\% Processor Time"),0,b.cpuTotal).Val)!=0){b._rej(a);return}if((a=GM.pdh.PdhCollectQueryData(b.cpu.Deref()).Val!=0)){b._rej(a);return}b._timeout=setTimeout(function(k){var m={cpus:[]};var d=GM.CreateVariable(4);var j=GM.CreateVariable(4);var c,l,h;var f;if((f=GM.pdh.PdhCollectQueryData(k.cpu.Deref()).Val!=0)){k._rej(f);return}if((f=GM.pdh.PdhGetFormattedCounterArrayA(k.cpuTotal.Deref(),PDH_FMT_DOUBLE,d,j,0).Val)==-2147481646){c=GM.CreateVariable(d.toBuffer().readUInt32LE())}else{k._rej(f);return}if((f=GM.pdh.PdhGetFormattedCounterArrayA(k.cpuTotal.Deref(),PDH_FMT_DOUBLE,d,j,c).Val)!=0){k._rej(f);return}for(var g=0;g0){var f=c[0].split(":")[1];var a=f.split(",");var e=parseFloat(a[0].split("%")[0].trim())+parseFloat(a[1].split("%")[0].trim());d._res({total:e,cpus:[]})}else{d._rej("parse error")}return(d)}function macos_memUtilization(){var d={};var e=new promise(function(h,g){this._res=h;this._rej=g});var b=require("child_process").execFile("/bin/sh",["sh"]);b.stdout.str="";b.stdout.on("data",function(g){this.str+=g.toString()});b.stdin.write('top -l 1 | grep -E "^Phys"\nexit\n');b.waitExit();var c=b.stdout.str.split("\n");if(c[0].length>0){var f=c[0].split(":")[1];var a=f.split(",");d.MemTotal=parseInt(a[0].trim().split(" ")[0]);d.MemFree=parseInt(a[1].trim().split(" ")[0]);d.percentFree=((d.MemFree/d.MemTotal)*100).toFixed(2);d.percentConsumed=(((d.MemTotal-d.MemFree)/d.MemTotal)*100).toFixed(2);return(d)}else{throw ("Parse Error")}}switch(process.platform){case"linux":module.exports={cpuUtilization:linux_cpuUtilization,memUtilization:linux_memUtilization};break;case"win32":module.exports={cpuUtilization:windows_cpuUtilization,memUtilization:windows_memUtilization};break;case"darwin":module.exports={cpuUtilization:macos_cpuUtilization,memUtilization:macos_memUtilization};break}; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/user-sessions.min.js b/agents/modules_meshcmd_min/user-sessions.min.js deleted file mode 100644 index a059a1fc..00000000 --- a/agents/modules_meshcmd_min/user-sessions.min.js +++ /dev/null @@ -1 +0,0 @@ -var NOTIFY_FOR_THIS_SESSION=0;var NOTIFY_FOR_ALL_SESSIONS=1;var WM_WTSSESSION_CHANGE=689;var WM_POWERBROADCAST=536;var PBT_POWERSETTINGCHANGE=32787;var PBT_APMSUSPEND=4;var PBT_APMRESUMESUSPEND=7;var PBT_APMRESUMEAUTOMATIC=18;var PBT_APMPOWERSTATUSCHANGE=10;var WTS_CONSOLE_CONNECT=(1);var WTS_CONSOLE_DISCONNECT=(2);var WTS_REMOTE_CONNECT=(3);var WTS_REMOTE_DISCONNECT=(4);var WTS_SESSION_LOGON=(5);var WTS_SESSION_LOGOFF=(6);var WTS_SESSION_LOCK=(7);var WTS_SESSION_UNLOCK=(8);var WTS_SESSION_REMOTE_CONTROL=(9);var WTS_SESSION_CREATE=(10);var WTS_SESSION_TERMINATE=(11);var GUID_ACDC_POWER_SOURCE;var GUID_BATTERY_PERCENTAGE_REMAINING;var GUID_CONSOLE_DISPLAY_STATE;function UserSessions(){this._ObjectID="user-sessions";require("events").EventEmitter.call(this,true).createEvent("changed").createEvent("locked").createEvent("unlocked");this.enumerateUsers=function h(){var s=require("promise");var r=new s(function(t,p){this.__resolver=t;this.__rejector=p});r.__handler=function o(p){r.__resolver(p)};try{this.Current(r.__handler)}catch(q){r.__rejector(q)}r.parent=this;return(r)};if(process.platform=="win32"){this._serviceHooked=false;this._marshal=require("_GenericMarshal");this._kernel32=this._marshal.CreateNativeProxy("Kernel32.dll");this._kernel32.CreateMethod("GetLastError");try{this._wts=this._marshal.CreateNativeProxy("Wtsapi32.dll");this._wts.CreateMethod("WTSEnumerateSessionsA");this._wts.CreateMethod("WTSQuerySessionInformationA");this._wts.CreateMethod("WTSRegisterSessionNotification");this._wts.CreateMethod("WTSUnRegisterSessionNotification");this._wts.CreateMethod("WTSFreeMemory")}catch(i){}this._advapi=this._marshal.CreateNativeProxy("Advapi32.dll");this._advapi.CreateMethod("AllocateAndInitializeSid");this._advapi.CreateMethod("CheckTokenMembership");this._advapi.CreateMethod("FreeSid");this._user32=this._marshal.CreateNativeProxy("user32.dll");this._user32.CreateMethod({method:"RegisterPowerSettingNotification",threadDispatch:1});this._user32.CreateMethod("UnregisterPowerSettingNotification");this._rpcrt=this._marshal.CreateNativeProxy("Rpcrt4.dll");this._rpcrt.CreateMethod("UuidFromStringA");this._rpcrt.StringToUUID=function n(o){var p=n.us._marshal.CreateVariable(16);if(n.us._rpcrt.UuidFromStringA(n.us._marshal.CreateVariable(o),p).Val==0){return(p)}else{throw ("Could not convert string to UUID")}};this._rpcrt.StringToUUID.us=this;GUID_ACDC_POWER_SOURCE=this._rpcrt.StringToUUID("5d3e9a59-e9D5-4b00-a6bd-ff34ff516548");GUID_BATTERY_PERCENTAGE_REMAINING=this._rpcrt.StringToUUID("a7ad8041-b45a-4cae-87a3-eecbb468a9e1");GUID_CONSOLE_DISPLAY_STATE=this._rpcrt.StringToUUID("6fe69556-704a-47a0-8f24-c28d936fda47");this.SessionStates=["Active","Connected","ConnectQuery","Shadow","Disconnected","Idle","Listening","Reset","Down","Init"];this.InfoClass={WTSInitialProgram:0,WTSApplicationName:1,WTSWorkingDirectory:2,WTSOEMId:3,WTSSessionId:4,WTSUserName:5,WTSWinStationName:6,WTSDomainName:7,WTSConnectState:8,WTSClientBuildNumber:9,WTSClientName:10,WTSClientDirectory:11,WTSClientProductId:12,WTSClientHardwareId:13,WTSClientAddress:14,WTSClientDisplay:15,WTSClientProtocolType:16,WTSIdleTime:17,WTSLogonTime:18,WTSIncomingBytes:19,WTSOutgoingBytes:20,WTSIncomingFrames:21,WTSOutgoingFrames:22,WTSClientInfo:23,WTSSessionInfo:24,WTSSessionInfoEx:25,WTSConfigInfo:26,WTSValidationInfo:27,WTSSessionAddressV4:28,WTSIsRemoteSession:29};this.isRoot=function k(){var r=this._marshal.CreateVariable(6);r.toBuffer().writeInt8(5,5);var p=this._marshal.CreatePointer();var o=false;if(this._advapi.AllocateAndInitializeSid(r,2,32,544,0,0,0,0,0,0,p).Val!=0){var q=this._marshal.CreateInteger();if(this._advapi.CheckTokenMembership(0,p.Deref(),q).Val!=0){if(q.toBuffer().readUInt32LE()!=0){o=true}}this._advapi.FreeSid(p.Deref())}return o};this.getSessionAttribute=function j(s,o){var p=this._marshal.CreatePointer();var q=this._marshal.CreateVariable(4);if(this._wts.WTSQuerySessionInformationA(0,s,o,p,q).Val==0){throw ("Error calling WTSQuerySessionInformation: "+this._kernel32.GetLastError.Val)}var r=p.Deref().String;this._wts.WTSFreeMemory(p.Deref());return(r)};this.Current=function f(o){var u={};var t=this._marshal.CreatePointer();var p=this._marshal.CreateVariable(4);if(this._wts.WTSEnumerateSessionsA(0,0,1,t,p).Val==0){throw ("Error calling WTSEnumerateSessionsA: "+this._kernel32.GetLastError().Val)}for(var q=0;q= 0) {printf \"%s:%s\\n\", $1, $3}' /etc/passwd\nexit\n");o.waitExit();var p=o.stdout.str.split("\n");var r={},s;for(var q in p){s=p[q].split(":");if(s[0]){r[s[0]]=s[1]}}return(r)};this._uids=function c(){var o=require("child_process").execFile("/bin/sh",["sh"]);o.stdout.str="";o.stdout.on("data",function(t){this.str+=t.toString()});o.stdin.write("awk -F: '($3 >= 0) {printf \"%s:%s\\n\", $1, $3}' /etc/passwd\nexit\n");o.waitExit();var p=o.stdout.str.split("\n");var r={},s;for(var q in p){s=p[q].split(":");if(s[0]){r[s[1]]=s[0]}}return(r)};this.Self=function m(){var q=require("promise");var o=new q(function(r,p){this.__resolver=r;this.__rejector=p;this.__child=require("child_process").execFile("/usr/bin/id",["id","-u"]);this.__child.promise=this;this.__child.stdout._txt="";this.__child.stdout.on("data",function(s){this._txt+=s.toString()});this.__child.on("exit",function(s){try{parseInt(this.stdout._txt)}catch(t){this.promise.__rejector("invalid uid");return}var u=parseInt(this.stdout._txt);this.promise.__resolver(u)})});return(o)};this.Current=function f(o){var p={};p._ObjectID="UserSession";Object.defineProperty(p,"_callback",{value:o});Object.defineProperty(p,"_child",{value:require("child_process").execFile("/usr/bin/last",["last","-f","/var/run/utmp"])});p._child.Parent=p;p._child._txt="";p._child.on("exit",function(q){var u=this._txt.split("\n");var A=[];var D={};for(var t in u){if(u[t]){var B=getTokens(u[t]);var z={Username:B[0],SessionId:B[1]};if(B[3].includes("still logged in")){z.State="Active"}else{z.LastActive=B[3]}A.push(z)}}A.pop();var C={};var y=[];for(var t in A){if(A[t].Username!="reboot"){D[A[t].SessionId]=A[t];if(C[A[t].Username]==null){C[A[t].Username]=-1}}}try{require("promise")}catch(r){Object.defineProperty(D,"Active",{value:showActiveOnly(D)});if(this.Parent._callback){this.Parent._callback.call(this.Parent,D)}return}var x=require("promise");for(var v in C){var w=new x(function(E,s){this.__username=v;this.__resolver=E;this.__rejector=s;this.__child=require("child_process").execFile("/usr/bin/id",["id","-u",v]);this.__child.promise=this;this.__child.stdout._txt="";this.__child.stdout.on("data",function(F){this._txt+=F.toString()});this.__child.on("exit",function(F){try{parseInt(this.stdout._txt)}catch(G){this.promise.__rejector("invalid uid");return}var H=parseInt(this.stdout._txt);this.promise.__resolver(H)})});y.push(w)}x.all(y).then(function(E){var F={};for(var s in E){F[E[s].__username]=E[s]._internal.completedArgs[0]}for(var s in D){D[s].uid=F[D[s].Username]}Object.defineProperty(D,"Active",{value:showActiveOnly(D)});if(p._callback){p._callback.call(p,D)}},function(s){Object.defineProperty(D,"Active",{value:showActiveOnly(D)});if(p._callback){p._callback.call(p,D)}})});p._child.stdout.Parent=p._child;p._child.stdout.on("data",function(q){this.Parent._txt+=q.toString()});return(p)};this._recheckLoggedInUsers=function a(){this.enumerateUsers().then(function(o){if(o.Active.length>0){if(this.parent._linux_lock_watcher!=null&&this.parent._linux_lock_watcher.uid!=o.Active[0].uid){delete this.parent._linux_lock_watcher}this.parent._linux_lock_watcher=new g(process.env.XDG_CURRENT_DESKTOP=="Unity"?"com.ubuntu.Upstart0_6":"org.gnome.ScreenSaver",o.Active[0].uid);this.parent._linux_lock_watcher.user_session=this.parent;this.parent._linux_lock_watcher.on("signal",function(r){var q=this.user_session.enumerateUsers();q.signalData=r.data[0];q.then(function(p){switch(this.signalData){case true:case"desktop-lock":this.parent.emit("locked",p.Active[0]);break;case false:case"desktop-unlock":this.parent.emit("unlocked",p.Active[0]);break}})})}else{if(this.parent._linux_lock_watcher!=null){delete this.parent._linux_lock_watcher}}})};this.on("changed",this._recheckLoggedInUsers);this._recheckLoggedInUsers()}else{if(process.platform=="darwin"){this._users=function(){var o=require("child_process").execFile("/usr/bin/dscl",["dscl",".","list","/Users","UniqueID"]);o.stdout.str="";o.stdout.on("data",function(t){this.str+=t.toString()});o.stdin.write("exit\n");o.waitExit();var q=o.stdout.str.split("\n");var r,p;var s={};for(p=0;p0;++r){if(!u[s[r].split(" ")[0]]){try{u[s[r].split(" ")[0]]={Username:s[r].split(" ")[0],State:s[r].split("still logged in").length>1?"Active":"Inactive",uid:t.uid[s[r].split(" ")[0]]}}catch(q){}}else{if(u[s[r].split(" ")[0]].State!="Active"&&s[r].split("still logged in").length>1){u[s[r].split(" ")[0]].State="Active"}}}Object.defineProperty(u,"Active",{value:showActiveOnly(u)});if(o){o.call(this,u)}}}}}if(process.platform=="linux"||process.platform=="darwin"){this._self=function b(){var o=require("child_process").execFile("/usr/bin/id",["id","-u"]);o.stdout.str="";o.stdout.on("data",function(p){this.str+=p.toString()});o.waitExit();return(parseInt(o.stdout.str))};this.isRoot=function k(){return(this._self()==0)};this.consoleUid=function e(){var o=process.platform=="darwin"?"console":((process.env.DISPLAY)?process.env.DISPLAY:":0");var p=require("child_process").execFile("/bin/sh",["sh"]);p.stdout.str="";p.stdout.on("data",function(u){this.str+=u.toString()});p.stdin.write("who\nexit\n");p.waitExit();var s=p.stdout.str.split("\n");var t,q,r;for(q in s){t=s[q].split(" ");for(r=1;r0){return(parseInt(this._users()[t[0]]))}}}throw ("nobody logged into console")}}}function showActiveOnly(c){var b=[];var e={};var f=[];var d;for(var a in c){if(c[a].State=="Active"){b.push(c[a]);d=(c[a].Domain?(c[a].Domain+"\\"):"")+c[a].Username;if(!e[d]){e[d]=d}}}for(var a in e){f.push(a)}Object.defineProperty(b,"usernames",{value:f});return(b)}function getTokens(d){var a=[];var b;a.push(d.substring(0,(b=d.indexOf(" "))));while(d[++b]==" "){}a.push(d.substring(b,(b=d.substring(b).indexOf(" ")+b)));while(d[++b]==" "){}a.push(d.substring(b,(b=d.substring(b).indexOf(" ")+b)));while(d[++b]==" "){}var c=d.substring(b).trim();a.push(c);return(a)}module.exports=new UserSessions(); \ No newline at end of file diff --git a/agents/modules_meshcore_min/amt-lme.min.js b/agents/modules_meshcore_min/amt-lme.min.js deleted file mode 100644 index b8254355..00000000 --- a/agents/modules_meshcore_min/amt-lme.min.js +++ /dev/null @@ -1 +0,0 @@ -var MemoryStream=require("MemoryStream");var lme_id=0;var lme_port_offset=0;var xmlParser=require("amt-xml");var APF_DISCONNECT=1;var APF_SERVICE_REQUEST=5;var APF_SERVICE_ACCEPT=6;var APF_USERAUTH_REQUEST=50;var APF_USERAUTH_FAILURE=51;var APF_USERAUTH_SUCCESS=52;var APF_GLOBAL_REQUEST=80;var APF_REQUEST_SUCCESS=81;var APF_REQUEST_FAILURE=82;var APF_CHANNEL_OPEN=90;var APF_CHANNEL_OPEN_CONFIRMATION=91;var APF_CHANNEL_OPEN_FAILURE=92;var APF_CHANNEL_WINDOW_ADJUST=93;var APF_CHANNEL_DATA=94;var APF_CHANNEL_CLOSE=97;var APF_PROTOCOLVERSION=192;function lme_object(){this.ourId=++lme_id;this.amtId=-1;this.LME_CHANNEL_STATUS="LME_CS_FREE";this.txWindow=0;this.rxWindow=0;this.localPort=0;this.errorCount=0}function stream_bufferedWrite(){var a=require("events").inherits(this);this.buffer=[];this._readCheckImmediate=undefined;this._ObjectID="bufferedWriteStream";a.createEvent("close");a.createEvent("drain");a.createEvent("error");a.createEvent("finish");a.createEvent("pipe");a.createEvent("unpipe");a.createEvent("readable");this.isEmpty=function(){return(this.buffer.length==0)};this.isWaiting=function(){return(this._readCheckImmediate==undefined)};this.write=function(c){for(var b in arguments){if(typeof(arguments[b])=="function"){this.once("drain",arguments[b]);break}}var d=Buffer.alloc(c.length);c.copy(d);this.buffer.push({offset:0,data:d});this.emit("readable");return(this.buffer.length==0?true:false)};this.read=function(){var f=arguments.length==0?undefined:arguments[0];var b=0;var d=[];while((f==undefined||b0){var c=this.buffer[0].data.length-this.buffer[0].offset;var e=this.buffer[0].offset;if(c>(f-b)){d.push(this.buffer[0].data.slice(e,e+f-b));this.buffer[0].offset+=(f-b);b+=(f-b)}else{d.push(this.buffer[0].data.slice(e));b+=c;this.buffer.shift()}}this._readCheckImmediate=setImmediate(function(g){g._readCheckImmediate=undefined;if(g.buffer.length==0){g.emit("drain")}else{g.emit("readable")}},this);return(Buffer.concat(d))}}function lme_heci(c){var a=require("events").inherits(this);a.createEvent("error");a.createEvent("connect");a.createEvent("notify");a.createEvent("bind");if((c!=null)&&(c.debug==true)){lme_port_offset=-100}var b=require("heci");this.INITIAL_RXWINDOW_SIZE=4096;this._ObjectID="lme";this._LME=b.create();this._LME._binded={};this._LME.LMS=this;this._LME.on("error",function(d){this.LMS.emit("error",d)});this._LME.on("connect",function(){this.on("data",function(k){var l=k.readUInt8(0);switch(l){default:console.log("Unhandled LME Command "+l+", "+k.length+" byte(s).");break;case APF_SERVICE_REQUEST:var A=k.readUInt32BE(1);var z=k.slice(5,A+5);if(z=="pfwd@amt.intel.com"||z=="auth@amt.intel.com"){var G=Buffer.alloc(5+A);G.writeUInt8(6,0);G.writeUInt32BE(A,1);G.write(z.toString(),5);this.write(G)}else{}break;case APF_GLOBAL_REQUEST:var A=k.readUInt32BE(1);var z=k.slice(5,A+5).toString();switch(z){case"tcpip-forward":var w=k.readUInt32BE(A+6);var H=k.readUInt32BE(A+10+w);if(this[z]==undefined){this[z]={}}if(this[z][H]!=null){for(var t in this.sockets){var h=this.sockets[t];if(h.localPort==H){this.sockets[t].end();delete this.sockets[t]}}}if(this[z][H]==null){try{this[z][H]=require("net").createServer();this[z][H].HECI=this;if(lme_port_offset==0){this[z][H].listen({port:H,host:"127.0.0.1"})}else{this[z][H].listen({port:(H+lme_port_offset)})}this[z][H].on("connection",function(e){this.HECI.LMS.bindDuplexStream(e,e.remoteFamily,e.localPort-lme_port_offset)});this._binded[H]=true;this.LMS.emit("bind",this._binded)}catch(p){console.log(p,"Port "+H)}}var G=Buffer.alloc(5);G.writeUInt8(81,0);G.writeUInt32BE(H,1);this.write(G);break;case"cancel-tcpip-forward":var G=Buffer.alloc(1);G.writeUInt8(APF_REQUEST_SUCCESS,0);this.write(G);break;case"udp-send-to@amt.intel.com":var G=Buffer.alloc(1);G.writeUInt8(APF_REQUEST_FAILURE,0);this.write(G);break;default:break}break;case APF_CHANNEL_OPEN_CONFIRMATION:var J=k.readUInt32BE(1);var N=k.readUInt32BE(5);var O=k.readUInt32BE(9);if(this.sockets[J]!=undefined){this.sockets[J].lme.amtId=N;this.sockets[J].lme.rxWindow=O;this.sockets[J].lme.txWindow=O;this.sockets[J].lme.LME_CHANNEL_STATUS="LME_CS_CONNECTED";this.sockets[J].bufferedStream=new stream_bufferedWrite();this.sockets[J].bufferedStream.socket=this.sockets[J];this.sockets[J].bufferedStream.on("readable",function(){if(this.socket.lme.txWindow>0){var e=this.read(this.socket.lme.txWindow);var i=Buffer.alloc(9+e.length);i.writeUInt8(APF_CHANNEL_DATA,0);i.writeUInt32BE(this.socket.lme.amtId,1);i.writeUInt32BE(e.length,5);e.copy(i,9);this.socket.lme.txWindow-=e.length;this.socket.HECI.write(i)}});this.sockets[J].bufferedStream.on("drain",function(){this.socket.resume()});this.sockets[J].on("data",function(e){if(!this.bufferedStream.write(e)){this.pause()}});this.sockets[J].on("end",function(){var e=Buffer.alloc(5);e.writeUInt8(APF_CHANNEL_CLOSE,0);e.writeUInt32BE(this.lme.amtId,1);this.HECI.write(e)});this.sockets[J].resume()}break;case APF_PROTOCOLVERSION:var x=k.readUInt32BE(1);var y=k.readUInt32BE(5);var L=k.readUInt32BE(9);var G=Buffer.alloc(93);G.writeUInt8(192,0);G.writeUInt32BE(1,1);G.writeUInt32BE(0,5);G.writeUInt32BE(L,9);this.write(G);break;case APF_CHANNEL_WINDOW_ADJUST:var K=k.readUInt32BE(1);var g=k.readUInt32BE(5);if(this.sockets[K]!=undefined){this.sockets[K].lme.txWindow+=g;if(!this.sockets[K].bufferedStream.isEmpty()&&this.sockets[K].bufferedStream.isWaiting()){this.sockets[K].bufferedStream.emit("readable")}}else{console.log("Unknown Recipient ID/"+K+" for APF_CHANNEL_WINDOW_ADJUST")}break;case APF_CHANNEL_DATA:var K=k.readUInt32BE(1);var n=k.readUInt32BE(5);var m=k.slice(9,9+n);if((this.sockets!=null)&&(this.sockets[K]!=undefined)){this.sockets[K].pendingBytes.push(m.length);this.sockets[K].write(m,function(){var i=this.pendingBytes.shift();var e=Buffer.alloc(9);e.writeUInt8(APF_CHANNEL_WINDOW_ADJUST,0);e.writeUInt32BE(this.lme.amtId,1);e.writeUInt32BE(i,5);this.HECI.write(e)})}else{if((this.insockets!=null)&&(this.insockets[K]!=undefined)){var h=this.insockets[K];if(h.data==null){h.data=m.toString()}else{h.data+=m.toString()}h.rxWindow+=n;var s=parseHttp(h.data);if((s!=null)||(h.data.length>=8000)){var B=null;try{B=xmlParser.ParseWsman(s)}catch(o){}if(B!=null){this.LMS.emit("notify",B,h.options,_lmsNotifyToString(B),_lmsNotifyToCode(B))}var f=Buffer.alloc(5);f.writeUInt8(APF_CHANNEL_CLOSE,0);f.writeUInt32BE(d,1);this.write(f)}else{if(h.rxWindow>6000){var f=Buffer.alloc(9);f.writeUInt8(APF_CHANNEL_WINDOW_ADJUST,0);f.writeUInt32BE(h.amtId,1);f.writeUInt32BE(h.rxWindow,5);this.write(f);h.rxWindow=0}}}else{console.log("Unknown Recipient ID/"+K+" for APF_CHANNEL_DATA")}}break;case APF_CHANNEL_OPEN_FAILURE:var K=k.readUInt32BE(1);var M=k.readUInt32BE(5);if((this.sockets!=null)&&(this.sockets[K]!=undefined)){this.sockets[K].end();delete this.sockets[K]}else{if((this.insockets!=null)&&(this.insockets[K]!=undefined)){delete this.insockets[K]}else{console.log("Unknown Recipient ID/"+K+" for APF_CHANNEL_OPEN_FAILURE")}}break;case APF_CHANNEL_CLOSE:var K=k.readUInt32BE(1);if((this.sockets!=null)&&(this.sockets[K]!=undefined)){this.sockets[K].end();var d=this.sockets[K].lme.amtId;var f=Buffer.alloc(5);delete this.sockets[K];f.writeUInt8(APF_CHANNEL_CLOSE,0);f.writeUInt32BE(d,1);this.write(f)}else{if((this.insockets!=null)&&(this.insockets[K]!=undefined)){delete this.insockets[K]}else{console.log("Unknown Recipient ID/"+K+" for APF_CHANNEL_CLOSE")}}break;case APF_CHANNEL_OPEN:var A=k.readUInt32BE(1);var z=k.slice(5,A+5).toString();var j=k.readUInt32BE(A+5);var u=k.readUInt32BE(A+9);var r=k.readUInt32BE(A+17);var q=k.slice(A+21,A+21+r).toString();var I=k.readUInt32BE(A+21+r);var D=k.readUInt32BE(A+25+r);var C=k.slice(A+29+r,A+29+r+D).toString();var E=k.readUInt32BE(A+29+r+D);if(this.insockets==null){this.insockets={}}var F=++lme_id;var v=new lme_object();v.ourId=F;v.amtId=j;v.txWindow=u;v.rxWindow=0;v.options={target:q,targetPort:I,source:C,sourcePort:E};this.insockets[F]=v;var f=Buffer.alloc(17);f.writeUInt8(APF_CHANNEL_OPEN_CONFIRMATION,0);f.writeUInt32BE(j,1);f.writeUInt32BE(F,5);f.writeUInt32BE(4000,9);f.writeUInt32BE(4294967295,13);this.write(f);break}});this.LMS.emit("connect");this.resume()});this.bindDuplexStream=function(e,h,g){var j=e;j.pendingBytes=[];j.HECI=this._LME;j.LMS=this;j.lme=new lme_object();j.lme.Socket=j;j.localPort=g;var d=new MemoryStream();d.writeUInt8(90);d.writeUInt32BE(15);d.write("forwarded-tcpip");d.writeUInt32BE(j.lme.ourId);d.writeUInt32BE(this.INITIAL_RXWINDOW_SIZE);d.writeUInt32BE(4294967295);for(var f=0;f<2;++f){if(h=="IPv6"){d.writeUInt32BE(3);d.write("::1")}else{d.writeUInt32BE(9);d.write("127.0.0.1")}d.writeUInt32BE(g)}this._LME.write(d.buffer);if(this._LME.sockets==undefined){this._LME.sockets={}}this._LME.sockets[j.lme.ourId]=j;j.pause()};this._LME.connect(b.GUIDS.LME,{noPipeline:0})}function parseHttp(c){var d=c.indexOf("\r\n\r\n");if((d==-1)||(c.length<(d+2))){return null}var b=require("http-headers")(c.substring(0,d),true);var a=parseInt(b["content-length"]);if(c.length>=a+d+4){return c.substring(d+4,d+4+a)}return null}function _lmsNotifyToCode(c){if((c==null)||(c.Body==null)||(c.Body.MessageID==null)){return null}var b=c.Body.MessageID;try{b+="-"+c.Body.MessageArguments[0]}catch(a){}return b}function _lmsNotifyToString(c){if((c==null)||(c.Body==null)||(c.Body.MessageID==null)){return null}var b=c.Body.MessageID;try{b+="-"+c.Body.MessageArguments[0]}catch(a){}if(lmsEvents[b]){return lmsEvents[b]}return null}var lmsEvents={iAMT0001:"System Defense Policy %1s triggered.",iAMT0002:"Agent Presence Agent %1s not started.",iAMT0003:"Agent Presence Agent %1s stopped.",iAMT0004:"Agent Presence Agent %1s running.",iAMT0005:"Agent Presence Agent %1s expired.",iAMT0006:"Agent Presence Agent %1s suspended.",iAMT0007:"Host software attempt to disable AMT Network link detected.",iAMT0008:"Host software attempt to disable AMT Network link detected -- Host Network link blocked.",iAMT0009:"AMT clock or FLASH wear-out protection disabled.",iAMT0010:"Intel(R) AMT Network Interface %1s heuristics defense slow threshold trespassed.",iAMT0011:"Intel(R) AMT Network Interface %1s heuristics defense fast threshold trespassed.",iAMT0012:"Intel(R) AMT Network Interface %1s heuristics defense factory defined threshold trespassed.",iAMT0013:"Intel(R) AMT Network Interface %1s heuristics defense Encounter timeout expired.",iAMT0014:"General certificate error.",iAMT0015:"Certificate expired.",iAMT0016:"No trusted root certificate.",iAMT0017:"Not configured to work with server certificate.",iAMT0018:"Certificate revoked.",iAMT0019:"RSA exponent too large.",iAMT0020:"RSA modulus too large.",iAMT0021:"Unsupported digest.",iAMT0022:"Distinguished name too long.",iAMT0023:"Key usage missing.",iAMT0024:"General SSL handshake error.",iAMT0025:"General 802.1x error.",iAMT0026:"AMT Diagnostic AlertEAC error - General NAC error.",iAMT0027:"AMT Diagnostic AlertEAC error - attempt to get a NAC posture while AMT NAC is disabled.",iAMT0028:"AMT Diagnostic AlertEAC error - attempt to get a posture of an unsupported type.",iAMT0029:"Audit log storage is 50% full.",iAMT0030:"Audit log storage is 75% full.",iAMT0031:"Audit log storage is 85% full.",iAMT0032:"Audit log storage is 95% full.",iAMT0033:"Audit log storage is full.",iAMT0034:"Firmware Update Event - Partial.",iAMT0035:"Firmware Update Event - Failure.",iAMT0036:"Remote connectivity initiated.",iAMT0037:"ME Presence event.","iAMT0038-0":"AMT is being unprovisioned using BIOS command.","iAMT0038-1":"AMT is being unprovisioned using Local MEI command.","iAMT0038-2":"AMT is being unprovisioned using Local WS-MAN/SOAP command.","iAMT0038-3":"AMT is being unprovisioned using Remote WS-MAN/SOAP command.",iAMT0039:"HW Asset Error.",iAMT0050:"User Notification Alert - General Notification.","iAMT0050-16":"User Notification Alert - Circuit Breaker notification (CB Drop TX filter hit.).","iAMT0050-17":"User Notification Alert - Circuit Breaker notification (CB Rate Limit TX filter hit.).","iAMT0050-18":"User Notification Alert - Circuit Breaker notification (CB Drop RX filter hit.).","iAMT0050-19":"User Notification Alert - Circuit Breaker notification (CB Rate Limit RX filter hit.).","iAMT0050-32":"User Notification Alert - EAC notification.","iAMT0050-48":"User Notification Alert - Remote diagnostics - (Remote Redirection session started - SOL).","iAMT0050-49":"User Notification Alert - Remote diagnostics - (Remote Redirection session stopped - SOL).","iAMT0050-50":"User Notification Alert - Remote diagnostics. (Remote Redirection session started - IDE-R).","iAMT0050-51":"User Notification Alert - Remote diagnostics. (Remote Redirection session stopped - IDE-R).","iAMT0050-66":"User Notification Alert - WLAN notification (Host profile mismatch - Management Interface ignored).","iAMT0050-67":"User Notification Alert - WLAN notification (Management device overrides host radio).","iAMT0050-68":"User Notification Alert - WLAN notification (Host profile security mismatch).","iAMT0050-69":"User Notification Alert - WLAN notification (Management device relinquishes control over host Radio).",iAMT0051:"User Notification Alert - SecIo event.","iAMT0051-0":"User Notification Alert - SecIo event semaphore at host.","iAMT0051-1":"User Notification Alert - semaphore at ME.","iAMT0051-2":"User Notification Alert - SecIo event - semaphore timeout.",iAMT0052:"User Notification Alert - KVM session event.","iAMT0052-0":"User Notification Alert - KVM session requested.","iAMT0052-1":"User Notification Alert - KVM session started.","iAMT0052-2":"User Notification Alert - KVM session stopped.","iAMT0052-3":"User Notification Alert - KVM data channel.",iAMT0053:"User Notification Alert - RCS notification.","iAMT0053-50":"User Notification Alert - RCS notification (HW button pressed. Connection initiated automatically).","iAMT0053-52":"User Notification Alert - RCS notification (HW button pressed. Connection wasn't initiated automatically).","iAMT0053-53":"User Notification Alert - RCS notification (Contracts updated).",iAMT0054:"User Notification Alert - WLAN notification. Wireless Profile sync enablement state changed.",iAMT0055:"User Notification Alert - Provisioning state change notification.","iAMT0055-0":"User Notification Alert - Provisioning state change notification - Pre-configuration.","iAMT0055-1":"User Notification Alert - Provisioning state change notification - In configuration.","iAMT0055-2":"User Notification Alert - Provisioning state change notification - Post-configuration.","iAMT0055-3":"User Notification Alert - Provisioning state change notification - Unprovision process has started.",iAMT0056:"User Notification Alert - System Defense change notification.",iAMT0057:"User Notification Alert - Network State change notification.",iAMT0058:"User Notification Alert - Remote Access change notification.","iAMT0058-1":"User Notification Alert - Remote Access change notification - tunnel is closed.",iAMT0059:"User Notification Alert - KVM enabled event.","iAMT0059-0":"User Notification Alert - KVM enabled event - KVM disabled.","iAMT0059-1":"User Notification Alert - KVM enabled event - KVM enabled (both from MEBx and PTNI).",iAMT0060:"User Notification Alert - SecIO configuration event.",iAMT0061:"ME FW reset occurred.",iAMT0062:"User Notification Alert - IpSyncEnabled event.","iAMT0062-0":"User Notification Alert - IpSyncEnabled event - IpSync disabled.","iAMT0062-1":"User Notification Alert - IpSyncEnabled event - IpSync enabled.",iAMT0063:"User Notification Alert - HTTP Proxy sync enabled event.","iAMT0063-0":"User Notification Alert - HTTP Proxy sync enabled event - HTTP Proxy Sync disabled.","iAMT0063-1":"User Notification Alert - HTTP Proxy sync enabled event - HTTP Proxy Sync enabled.",iAMT0064:"User Notification Alert - User Consent event.","iAMT0064-1":"User Notification Alert - User Consent event - User Consent granted.","iAMT0064-2":"User Notification Alert - User Consent event - User Consent ended.","iAMT0067-0":"Graceful Remote Control Operation - Shutdown.","iAMT0067-1":"Graceful Remote Control Operation - Reset.","iAMT0067-2":"Graceful Remote Control Operation - Hibernate.","iAMT0068-0":"Link Protection Notification - No link protection.","iAMT0068-1":"Link Protection Notification - Passive link protection.","iAMT0068-2":"Link Protection Notification - High link protection.","iAMT0069-0":"Local Time Sync Enablement Notification - Local Time Sync Disabled.","iAMT0069-1":"Local Time Sync Enablement Notification - Local Time Sync Enabled.",iAMT0070:"Host Reset Triggered by WD Expiration Notification.",PLAT0004:"The chassis %1s was opened.",PLAT0005:"The chassis %1s was closed.",PLAT0006:"The drive bay %1s was opened.",PLAT0007:"The drive bay %1s was closed.",PLAT0008:"The I/O card area %1s was opened.",PLAT0009:"The I/O card area %1s was closed.",PLAT0010:"The processor area %1s was opened.",PLAT0011:"The processor area %1s was closed.",PLAT0012:"The LAN %1s has been disconnected.",PLAT0013:"The LAN %1s has been connected.",PLAT0016:"The permission to insert package %1s has been granted.",PLAT0017:"The permission to insert package %1s has been removed.",PLAT0018:"The fan card area %1s is open.",PLAT0019:"The fan card area %1s is closed.",PLAT0022:"The computer system %1s has detected a secure mode violation.",PLAT0024:"The computer system %1s has detected a pre-boot user password violation.",PLAT0026:"The computer system %1s has detected a pre-boot setup password violation.",PLAT0028:"The computer system %1s has detected a network boot password violation.",PLAT0030:"The computer system %1s has detected a password violation.",PLAT0032:"The management controller %1s has detected an out-of-band password violation.",PLAT0034:"The processor %1s has been added.",PLAT0035:"The processor %1s has been removed.",PLAT0036:"An over-temperature condition has been detected on the processor %1s.",PLAT0037:"An over-temperature condition has been removed on the processor %1s.",PLAT0038:"The processor %1s is operating in a degraded State.",PLAT0039:"The processor %1s is no longer operating in a degraded State.",PLAT0040:"The processor %1s has failed.",PLAT0042:"The processor %1s has failed.",PLAT0044:"The processor %1s has failed.",PLAT0046:"The processor %1s has failed.",PLAT0048:"The processor %1s has failed.",PLAT0060:"The processor %1s has been enabled.",PLAT0061:"The processor %1s has been disabled.",PLAT0062:"The processor %1s has a configuration mismatch.",PLAT0064:"A terminator has been detected on the processor %1s.",PLAT0084:"The Power Supply %1s has been added.",PLAT0085:"The Power Supply %1s has been removed.",PLAT0086:"The Power Supply %1s has failed.",PLAT0088:"Failure predicted on power supply %1s.",PLAT0096:"The input to power supply %1s has been lost or fallen out of range.",PLAT0098:"The power supply %1s is operating in an input state that is out of range.",PLAT0099:"The power supply %1s has returned to a normal input state.",PLAT0100:"The power supply %1s has lost input.",PLAT0104:"The power supply %1s has a configuration mismatch.",PLAT0106:"Power supply %1s has been disabled.",PLAT0107:"Power supply %1s has been enabled.",PLAT0108:"Power supply %1s has been power cycled.",PLAT0110:"Power supply %1s has encountered an error during power down.",PLAT0112:"Power supply %1s has lost power.",PLAT0114:"Soft power control has failed for power supply %1s.",PLAT0116:"Power supply %1s has failed.",PLAT0118:"Failure predicted on power supply %1s.",PLAT0120:"Memory subsystem failure.",PLAT0122:"DIMM missing.",PLAT0124:"Memory error detected & corrected for DIMM %1s.",PLAT0128:"Memory DIMM %1s added.",PLAT0129:"Memory DIMM %1s removed.",PLAT0130:"Memory DIMM %1s enabled.",PLAT0131:"Memory DIMM %1s disabled.",PLAT0134:"Memory parity error for DIMM %1s.",PLAT0136:"Memory scrub failure for DIMM %1s.",PLAT0138:"Memory uncorrectable error detected for DIMM %1s.",PLAT0140:"Memory sparing initiated for DIMM %1s.",PLAT0141:"Memory sparing concluded for DIMM %1s.",PLAT0142:"Memory DIMM %1s Throttled.",PLAT0144:"Memory logging limit reached for DIMM %1s.",PLAT0145:"Memory logging limit removed for DIMM %1s.",PLAT0146:"An over-temperature condition has been detected on the Memory DIMM %1s.",PLAT0147:"An over-temperature condition has been removed on the Memory DIMM %1s.",PLAT0162:"The drive %1s has been added.",PLAT0163:"The drive %1s has been removed.",PLAT0164:"The drive %1s has been disabled due to a detected fault.",PLAT0167:"The drive %1s has been enabled.",PLAT0168:"Failure predicted on drive %1s.",PLAT0170:"Hot spare enabled for %1s.",PLAT0171:"Hot spare disabled for %1s.",PLAT0172:"Consistency check has begun for %1s.",PLAT0173:"Consistency check completed for %1s.",PLAT0174:"Array %1s is in critical condition.",PLAT0176:"Array %1s has failed.",PLAT0177:"Array %1s has been restored.",PLAT0178:"Rebuild in progress for array %1s.",PLAT0179:"Rebuild completed for array %1s.",PLAT0180:"Rebuild Aborted for array %1s.",PLAT0184:"The system %1s encountered a POST error.",PLAT0186:"The system %1s encountered a firmware hang.",PLAT0188:"The system %1s encountered firmware progress.",PLAT0192:"The log %1s has been disabled.",PLAT0193:"The log %1s has been enabled.",PLAT0194:"The log %1s has been disabled.",PLAT0195:"The log %1s has been enabled.",PLAT0196:"The log %1s has been disabled.",PLAT0198:"The log %1s has been enabled.",PLAT0200:"The log %1s has been cleared.",PLAT0202:"The log %1s is full.",PLAT0203:"The log %1s is no longer full.",PLAT0204:"The log %1s is almost full.",PLAT0208:"The log %1s has a configuration error.",PLAT0210:"The system %1s has been reconfigured.",PLAT0212:"The system %1s has encountered an OEM system boot event.",PLAT0214:"The system %1s has encountered an unknown system hardware fault.",PLAT0216:"The system %1s has generated an auxiliary log entry.",PLAT0218:"The system %1s has executed a PEF action.",PLAT0220:"The system %1s has synchronized the system clock.",PLAT0222:"A diagnostic interrupt has occurred on system %1s.",PLAT0224:"A bus timeout has occurred on system %1s.",PLAT0226:"An I/O channel check NMI has occurred on system %1s.",PLAT0228:"A software NMI has occurred on system %1s.",PLAT0230:"System %1s has recovered from an NMI.",PLAT0232:"A PCI PERR has occurred on system %1s.",PLAT0234:"A PCI SERR has occurred on system %1s.",PLAT0236:"An EISA fail safe timeout occurred on system %1s.",PLAT0238:"A correctable bus error has occurred on system %1s.",PLAT0240:"An uncorrectable bus error has occurred on system %1s.",PLAT0242:"A fatal NMI error has occurred on system %1s.",PLAT0244:"A fatal bus error has occurred on system %1s.",PLAT0246:"A bus on system %1s is operating in a degraded state.",PLAT0247:"A bus on system %1s is no longer operating in a degraded state.",PLAT0248:"The power button %1s has been pressed.",PLAT0249:"The power button %1s has been released.",PLAT0250:"The sleep button %1s has been pressed.",PLAT0251:"The sleep button %1s has been released.",PLAT0252:"The reset button %1s has been pressed.",PLAT0253:"The reset button %1s has been released.",PLAT0254:"The latch to %1s has been opened.",PLAT0255:"The latch to %1s has been closed.",PLAT0256:"The service request %1s has been enabled.",PLAT0257:"The service request %1s has been completed.",PLAT0258:"Power control of system %1s has failed.",PLAT0262:"The network port %1s has been connected.",PLAT0263:"The network port %1s has been disconnected.",PLAT0266:"The connector %1s has encountered a configuration error.",PLAT0267:"The connector %1s configuration error has been repaired.",PLAT0272:"Power on for system %1s.",PLAT0274:"Power cycle hard requested for system %1s.",PLAT0276:"Power cycle soft requested for system %1s.",PLAT0278:"PXE boot requested for system %1s.",PLAT0280:"Diagnostics boot requested for system %1s.",PLAT0282:"System restart requested for system %1s.",PLAT0284:"System restart begun for system %1s.",PLAT0286:"No bootable media available for system %1s.",PLAT0288:"Non-bootable media selected for system %1s.",PLAT0290:"PXE server not found for system %1s.",PLAT0292:"User timeout on boot for system %1s.",PLAT0296:"System %1s boot from floppy initiated.",PLAT0298:"System %1s boot from local drive initiated.",PLAT0300:"System %1s boot from PXE on network port initiated.",PLAT0302:"System %1s boot diagnostics initiated.",PLAT0304:"System %1s boot from CD initiated.",PLAT0306:"System %1s boot from ROM initiated.",PLAT0312:"System %1s boot initiated.",PLAT0320:"Critical stop during OS load on system %1s.",PLAT0322:"Run-time critical stop on system %1s.",PLAT0324:"OS graceful stop on system %1s.",PLAT0326:"OS graceful shutdown begun on system %1s.",PLAT0327:"OS graceful shutdown completed on system %1s.",PLAT0328:"Agent not responding on system %1s.",PLAT0329:"Agent has begun responding on system %1s.",PLAT0330:"Fault in slot on system %1s.",PLAT0331:"Fault condition removed on system %1s.",PLAT0332:"Identifying slot on system %1s.",PLAT0333:"Identify stopped on slot for system %1s.",PLAT0334:"Package installed in slot for system %1s.",PLAT0336:"Slot empty system %1s.",PLAT0338:"Slot in system %1s is ready for installation.",PLAT0340:"Slot in system %1s is ready for removal.",PLAT0342:"Power is off on slot of system %1s.",PLAT0344:"Power is on for slot of system %1s.",PLAT0346:"Removal requested for slot of system %1s.",PLAT0348:"Interlock activated on slot of system %1s.",PLAT0349:"Interlock de-asserted on slot of system %1s.",PLAT0350:"Slot disabled on system %1s.",PLAT0351:"Slot enabled on system %1s.",PLAT0352:"Slot of system %1s holds spare.",PLAT0353:"Slot of system %1s no longer holds spare.",PLAT0354:"Computer system %1s enabled.",PLAT0356:"Computer system %1s is in sleep - light mode.",PLAT0358:"Computer system %1s is in hibernate.",PLAT0360:"Computer system %1s is in standby.",PLAT0362:"Computer system %1s is in soft off mode.",PLAT0364:"Computer system %1s is in hard off mode.",PLAT0366:"Computer system %1s is sleeping.",PLAT0368:"Watchdog timer expired for %1s.",PLAT0370:"Reboot of system initiated by watchdog %1s.",PLAT0372:"Powering off system initiated by watchdog %1s.",PLAT0374:"Power cycle of system initiated by watchdog %1s.",PLAT0376:"Watchdog timer interrupt occurred for %1s.",PLAT0378:"A page alert has been generated for system %1s.",PLAT0380:"A LAN alert has been generated for system %1s.",PLAT0382:"An event trap has been generated for system %1s.",PLAT0384:"An SNMP trap has been generated for system %1s.",PLAT0390:"%1s detected as present.",PLAT0392:"%1s detected as absent.",PLAT0394:"%1s has been disabled.",PLAT0395:"%1s has been enabled.",PLAT0396:"Heartbeat lost for LAN %1s.",PLAT0397:"Heartbeat detected for LAN %1s.",PLAT0398:"Sensor %1s is unavailable or degraded on management system.",PLAT0399:"Sensor %1s has returned to normal on management system.",PLAT0400:"Controller %1s is unavailable or degraded on management system.",PLAT0401:"Controller %1s has returned to normal on management system.",PLAT0402:"Management system %1s is off-line.",PLAT0404:"Management system %1s is disabled.",PLAT0405:"Management system %1s is enabled.",PLAT0406:"Sensor %1s has failed on management system.",PLAT0408:"FRU %1s has failed on management system.",PLAT0424:"The battery %1s is critically low.",PLAT0427:"The battery %1s is no longer critically low.",PLAT0430:"The battery %1s has been removed from unit.",PLAT0431:"The battery %1s has been added.",PLAT0432:"The battery %1s has failed.",PLAT0434:"Session audit is deactivated on system %1s.",PLAT0435:"Session audit is activated on system %1s.",PLAT0436:"A hardware change occurred on system %1s.",PLAT0438:"A firmware or software change occurred on system %1s.",PLAT0440:"A hardware incompatibility was detected on system %1s.",PLAT0442:"A firmware or software incompatibility was detected on system %1s.",PLAT0444:"Invalid or unsupported hardware was detected on system %1s.",PLAT0446:"Invalid or unsupported firmware or software was detected on system %1s.",PLAT0448:"A successful hardware change was detected on system %1s.",PLAT0450:"A successful software or firmware change was detected on system %1s.",PLAT0464:"FRU %1s not installed on system.",PLAT0465:"FRU %1s installed on system.",PLAT0466:"Activation requested for FRU %1s on system.",PLAT0467:"FRU %1s on system is active.",PLAT0468:"Activation in progress for FRU %1s on system.",PLAT0470:"Deactivation request for FRU %1s on system.",PLAT0471:'FRU %1s on system is in standby or "hot spare" state.',PLAT0472:"Deactivation in progress for FRU %1s on system.",PLAT0474:"Communication lost with FRU %1s on system.",PLAT0476:"Numeric sensor %1s going low (lower non-critical).",PLAT0478:"Numeric sensor %1s going high (lower non-critical).",PLAT0480:"Numeric sensor %1s going low (lower critical).",PLAT0482:"Numeric sensor %1s going high (lower critical).",PLAT0484:"Numeric sensor %1s going low (lower non-recoverable).",PLAT0486:"Numeric sensor %1s going high (lower non-critical).",PLAT0488:"Numeric sensor %1s going low (upper non-critical).",PLAT0490:"Numeric sensor %1s going high (upper non-critical).",PLAT0492:"Numeric sensor %1s going low (upper critical).",PLAT0494:"Numeric sensor %1s going high (upper critical).",PLAT0496:"Numeric sensor %1s going low (upper non-recoverable).",PLAT0498:"Numeric sensor %1s going high (upper non-recoverable).",PLAT0500:"Sensor %1s has transitioned to idle.",PLAT0502:"Sensor %1s has transitioned to active.",PLAT0504:"Sensor %1s has transitioned to busy.",PLAT0508:"Sensor %1s has asserted.",PLAT0509:"Sensor %1s has de-asserted.",PLAT0510:"Sensor %1s is asserting predictive failure.",PLAT0511:"Sensor %1s is de-asserting predictive failure.",PLAT0512:"Sensor %1s has indicated limit exceeded.",PLAT0513:"Sensor %1s has indicated limit no longer exceeded.",PLAT0514:"Sensor %1s has indicated performance met.",PLAT0516:"Sensor %1s has indicated performance lags.",PLAT0518:"Sensor %1s has transitioned to normal state.",PLAT0520:"Sensor %1s has transitioned from normal to non-critical state.",PLAT0522:"Sensor %1s has transitioned to critical from a less severe state.",PLAT0524:"Sensor %1s has transitioned to non-recoverable from a less severe state.",PLAT0526:"Sensor %1s has transitioned to non-critical from a more severe state.",PLAT0528:"Sensor %1s has transitioned to critical from a non-recoverable state.",PLAT0530:"Sensor %1s has transitioned to non-recoverable.",PLAT0532:"Sensor %1s indicates a monitor state.",PLAT0534:"Sensor %1s has an informational state.",PLAT0536:"Device %1s has been added.",PLAT0537:"Device %1s has been removed from unit.",PLAT0538:"Device %1s has been enabled.",PLAT0539:"Device %1s has been disabled.",PLAT0540:"Sensor %1s has indicated a running state.",PLAT0544:"Sensor %1s has indicated a power off state.",PLAT0546:"Sensor %1s has indicated an on-line state.",PLAT0548:"Sensor %1s has indicated an off-line state.",PLAT0550:"Sensor %1s has indicated an off-duty state.",PLAT0552:"Sensor %1s has indicated a degraded state.",PLAT0554:"Sensor %1s has indicated a power save state.",PLAT0556:"Sensor %1s has indicated an install error.",PLAT0558:"Redundancy %1s has been lost.",PLAT0560:"Redundancy %1s has been reduced.",PLAT0561:"Redundancy %1s has been restored.",PLAT0562:"%1s has transitioned to a D0 power state.",PLAT0564:"%1s has transitioned to a D1 power state.",PLAT0566:"%1s has transitioned to a D2 power state.",PLAT0568:"%1s has transitioned to a D3 power state.",PLAT0720:"The System %1s encountered firmware progress - memory initialization entry.",PLAT0721:"The System %1s encountered firmware progress - memory initialization exit.",PLAT0722:"The System %1s encountered firmware progress - hard drive initialization entry.",PLAT0723:"The System %1s encountered firmware progress - hard drive initialization exit.",PLAT0724:"The System %1s encountered firmware progress - user authentication.",PLAT0728:"The System %1s encountered firmware progress - USR resource configuration entry.",PLAT0729:"The System %1s encountered firmware progress - USR resource configuration exit.",PLAT0730:"The System %1s encountered firmware progress - PCI recource configuration entry.",PLAT0731:"The System %1s encountered firmware progress - PCI recource configuration exit.",PLAT0732:"The System %1s encountered firmware progress - Option ROM initialization entry.",PLAT0733:"The System %1s encountered firmware progress - Option ROM initialization entry exit.",PLAT0734:"The System %1s encountered firmware progress -video initialization entry entry.",PLAT0735:"The System %1s encountered firmware progress - video initialization entry exit.",PLAT0736:"The System %1s encountered firmware progress - cache initialization entry.",PLAT0737:"The System %1s encountered firmware progress - cache initialization exit.",PLAT0738:"The System %1s encountered firmware progress - keyboard controller initialization entry.",PLAT0739:"The System %1s encountered firmware progress - keyboard controller initialization exit.",PLAT0740:"The System %1s encountered firmware progress - motherboard initialization entry.",PLAT0741:"The System %1s encountered firmware progress - motherboard initialization exit.",PLAT0742:"The System %1s encountered firmware progress - floppy disk initialization entry.",PLAT0743:"The System %1s encountered firmware progress - floppy disk initialization exit.",PLAT0744:"The System %1s encountered firmware progress - keyboard test entry.",PLAT0745:"The System %1s encountered firmware progress - keyboard test exit.",PLAT0746:"The System %1s encountered firmware progress - pointing device test entry.",PLAT0747:"The System %1s encountered firmware progress - pointing device test exit.",PLAT0750:"The System %1s encountered firmware progress - dock enable entry.",PLAT0751:"The System %1s encountered firmware progress - dock enable exit.",PLAT0752:"The System %1s encountered firmware progress - dock disable entry.",PLAT0753:"The System %1s encountered firmware progress - dock disable exit.",PLAT0760:"The System %1s encountered firmware progress - start OS boot process.",PLAT0762:"The System %1s encountered firmware progress - call OS wake vector.",PLAT0764:"The System %1s encountered firmware progress - unrecoverable keyboard failure.",PLAT0766:"The System %1s encountered firmware progress - no video device detected.",PLAT0768:"The System %1s encountered firmware progress - SMART alert detected on drive.",PLAT0770:"The System %1s encountered firmware progress - unrecoverable boot device failure.",PLAT0789:"Corrupt BIOS detected.",PLAT0790:"The System %1s encountered PCI configuration failure.",PLAT0791:"The System %1s encountered a video subsystem failure.",PLAT0792:"The System %1s encountered a storage subsystem failure.",PLAT0793:"The System %1s encountered a USB subsystem failure.",PLAT0794:"The System %1s has detected no memory in the system.",PLAT0795:"The System %1s encountered a motherboard failure.",PLAT0796:"The System %1s encountered a memory Regulator Voltage Bad.",PLAT0797:"%1s PCI reset is not deasserting.",PLAT0798:"%1s Non-Motherboard Regulator Failure.",PLAT0799:"%1s Power Supply Cable failure.",PLAT0800:"%1s Motherboard regulator failure.",PLAT0801:"%1s System component compatibility mismatch."};module.exports=lme_heci; \ No newline at end of file diff --git a/agents/modules_meshcore_min/amt-manage.min.js b/agents/modules_meshcore_min/amt-manage.min.js deleted file mode 100644 index 5eda9cb7..00000000 --- a/agents/modules_meshcore_min/amt-manage.min.js +++ /dev/null @@ -1 +0,0 @@ -function AmtManager(d,q,v){var M=function(T){d.SendCommand({action:"msg",type:"console",value:T})};var r=function(T){if(v){M("amt-manager: "+T+"
")}};var h=null,i=0;var f=null,g=0;var e=null;var H=null;var G=null;var k=null;var F=this;var E;var O=null;F.state=0;F.lmsstate=0;F.onStateChange=null;F.setDebug=function(T){v=T};F.setPolicy=function(U,T){if(T||(JSON.stringify(k)!=JSON.stringify(U))){k=U;if(m==null){m=setTimeout(F.applyPolicy,8000)}}};var L=0;F.reset=function(){++L;h=null,i=0,f=null,g=0,F.state=0,F.lmsstate=0;try{var T=require("amt-mei");h=new T();h.on("error",function(V){r("MEI error");h=null;i=-1;F.state=-1;if(F.onStateChange!=null){F.onStateChange(i)}});h.getVersion(function(V){if(V==null){i=-1;F.state=-1;if(F.onStateChange!=null){F.onStateChange(i)}if(L<10){setTimeout(F.reset,10000)}}else{e=V;i=2;F.state=2;L=0;if(F.onStateChange!=null){F.onStateChange(i)}F.lmsreset()}})}catch(U){r("MEI exception: "+U);h=null;i=-1;F.state=-1}};var j=null;F.getAmtInfo=function(U){if((h==null)||(i<2)){if(U!=null){U(null)}return}try{j={Flags:0};h.getProtocolVersion(function(V){if(V!=null){j.MeiVersion=V}});h.getVersion(function(V){if(V){j.Versions={};for(var W in V.Versions){j.Versions[V.Versions[W].Description]=V.Versions[W].Version}}});h.getProvisioningMode(function(V){if(V){j.ProvisioningMode=V.mode}});h.getProvisioningState(function(V){if(V){j.ProvisioningState=V.state}});h.getEHBCState(function(V){if((V!=null)&&(V.EHBC==true)){j.Flags+=1}});h.getControlMode(function(V){if(V!=null){if(V.controlMode==1){j.Flags+=2}if(V.controlMode==2){j.Flags+=4}}});h.getLanInterfaceSettings(0,function(V){if(V){j.net0=V}});h.getLanInterfaceSettings(1,function(V){if(V){j.net1=V}});h.getUuid(function(V){if((V!=null)&&(V.uuid!=null)){j.UUID=V.uuid}});h.getDnsSuffix(function(V){if(V!=null){j.DNS=V}if(U!=null){U(j)}})}catch(T){if(U!=null){U(null)}return}};var t=function(W){if((W==null)||(W.Body==null)||(W.Body.MessageID==null)||(W.Body.MessageArguments==null)){return null}var T=W.Body.MessageID,U=W.Body.MessageArguments[0],V=null;switch(T){case"iAMT0050":if(U=="48"){V="Intel® AMT Serial-over-LAN connected"}else{if(U=="49"){V="Intel® AMT Serial-over-LAN disconnected"}}break;case"iAMT0052":if(U=="1"){V="Intel® AMT KVM connected"}else{if(U=="2"){V="Intel® AMT KVM disconnected"}}break;default:break}if(V!=null){d.SendCommand({action:"msg",type:"notify",value:V,tag:"general",amtMessage:T})}};F.lmsreset=function(){var T=null,U=0;F.lmsstate=0;try{var W=require("amt-lme");U=1;F.lmsstate=1;T=new W();T.on("error",function(X){U=0;F.lmsstate=0;T=null;r("LMS error");N(1)});T.on("connect",function(){U=2;F.lmsstate=2;r("LMS connected");N(2)});T.on("notify",function(Y,Z,aa,X){if(X=="iAMT0052-3"){y()}else{t(Y)}})}catch(V){U=-1;F.lmsstate=-1;T=null}};var N=function(T){if((h==null)||(i<2)||(e==null)){return}h.getLocalSystemAccount(function(aa){if(aa==null){return}var Y=require("amt-wsman-duk");var Z=require("amt-wsman");var U=require("amt");H=new Z(Y,"127.0.0.1",16992,aa.user,aa.pass,false);G=new U(H);i=3;F.state=3;if(F.onStateChange!=null){F.onStateChange(i)}if(m==null){F.applyPolicy()}var V=null;try{for(var X in e.Versions){if(e.Versions[X].Description=="AMT"){V=parseInt(e.Versions[X].Version.split(".")[0])}}}catch(W){}if((V!=null)&&(V>=12)){y("skip");F.kvmTempTimer=setInterval(function(){y()},2000);A(JSON.stringify({action:"restart",ver:1}))}})};var y=function(T){G.IPS_KVMRedirectionSettingData_DataChannelRead(F.kvmDataGetResponse,T)};var x=function(W,U,V,X,Y){if((Y!="skip")&&(X==200)&&(V.Body.ReturnValue==0)){var Z=null;try{Z=Buffer.from(V.Body.DataMessage,"base64").toString()}catch(T){return}if(Z!=null){F.kvmProcessData(V.Body.RealmsBitmap,V.Body.MessageId,Z)}}};var Q=null;var z=function(W,V,Y){var T=null;try{T=JSON.parse(Y)}catch(U){}if((T!=null)&&(T.action)){if(T.action=="present"){A(JSON.stringify({action:"present",ver:1,platform:process.platform}))}if(T.action=="offer"){Q={};var X=require("ILibWebRTC");Q.webrtc=X.createConnection();Q.webrtc.on("connected",function(){});Q.webrtc.on("disconnected",function(){F.webRtcCleanUp()});Q.webrtc.on("dataChannel",function(Z){Q.rtcchannel=Z;Q.kvm=mesh.getRemoteDesktopStream();Q.kvm.pipe(Q.rtcchannel,{dataTypeSkip:1,end:false});Q.rtcchannel.on("end",function(){F.webRtcCleanUp()});Q.rtcchannel.on("data",function(aa){F.kvmCtrlData(this,aa)});Q.rtcchannel.pipe(Q.kvm,{dataTypeSkip:1,end:false})});A(JSON.stringify({action:"answer",ver:1,sdp:Q.webrtc.setOffer(T.sdp)}))}}};var w=function(U,W){if(W.length>0&&W.charCodeAt(0)!=123){if(F.fileupload!=null){W=Buffer.from(W,"base64");var ac=W.readUInt32BE(0);if((ac==16777216)||(ac==16777217)){fs.writeSync(F.fileupload.fp,W.slice(4));U.write({action:"upload",sub:"ack",reqid:F.fileupload.reqid});if(ac==16777217){fs.closeSync(F.fileupload.fp);F.fileupload=null}}}return}r("KVM Ctrl Data: "+W);try{W=JSON.parse(W)}catch(Z){r("Invalid JSON: "+W);return}if((W.path!=null)&&(process.platform!="win32")&&(W.path[0]!="/")){W.path="/"+W.path}switch(W.action){case"ping":U.write({action:"pong"});break;case"lock":if(process.platform=="win32"){var V=require("child_process");V.execFile(process.env.windir+"\\system32\\cmd.exe",["/c","RunDll32.exe user32.dll,LockWorkStation"],{type:1})}break;case"ls":var af=getDirectoryInfo(W.path);if(W.reqid!=undefined){af.reqid=W.reqid}U.write(af);break;case"mkdir":fs.mkdirSync(W.path);break;case"rm":for(var ad in W.delfiles){var ab=I.join(W.path,W.delfiles[ad]);try{fs.unlinkSync(ab)}catch(Y){r(Y)}}break;case"rename":try{fs.renameSync(I.join(W.path,W.oldname),I.join(W.path,W.newname))}catch(Y){r(Y)}break;case"download":var ah=0;if(W.sub=="start"){if(F.filedownload!=null){U.write({action:"download",sub:"cancel",id:F.filedownload.id});delete F.filedownload}F.filedownload={id:W.id,path:W.path,ptr:0};try{F.filedownload.f=fs.openSync(F.filedownload.path,"rbN")}catch(Y){U.write({action:"download",sub:"cancel",id:F.filedownload.id});delete F.filedownload}if(F.filedownload){U.write({action:"download",sub:"start",id:W.id})}}else{if((F.filedownload!=null)&&(W.id==F.filedownload.id)){if(W.sub=="startack"){ah=8}else{if(W.sub=="stop"){delete F.filedownload}else{if(W.sub=="ack"){ah=1}}}}}while(ah>0){ah--;var T=Buffer.alloc(4096);var ae=fs.readSync(F.filedownload.f,T,4,4092,null);F.filedownload.ptr+=ae;if(ae<4092){T.writeInt32BE(16777217,0);fs.closeSync(F.filedownload.f);delete F.filedownload;ah=0}else{T.writeInt32BE(16777216,0)}U.write(T.slice(0,ae+4).toString("base64"))}break;case"upload":if(W.sub=="start"){if(F.fileupload!=null){fs.closeSync(F.fileupload.fp)}if(!W.path||!W.name){break}F.fileupload={reqid:W.reqid};var aa=I.join(W.path,W.name);try{F.fileupload.fp=fs.openSync(aa,"wbN")}catch(Y){}if(F.fileupload.fp){U.write({action:"upload",sub:"start",reqid:F.fileupload.reqid})}else{F.fileupload=null;U.write({action:"upload",sub:"error",reqid:F.fileupload.reqid})}}else{if(W.sub=="cancel"){if(F.fileupload!=null){fs.closeSync(F.fileupload.fp);F.fileupload=null}}}break;case"copy":for(var ad in W.names){var ag=I.join(W.scpath,W.names[ad]),X=I.join(W.dspath,W.names[ad]);if(ag!=X){try{fs.copyFileSync(ag,X)}catch(Y){}}}break;case"move":for(var ad in W.names){var ag=I.join(W.scpath,W.names[ad]),X=I.join(W.dspath,W.names[ad]);if(ag!=X){try{fs.copyFileSync(ag,X);fs.unlinkSync(ag)}catch(Y){}}}break;default:r("Invalid KVM command: "+W);break}};var P=function(){r("webRtcCleanUp");if(Q==null){return}if(Q.rtcchannel){try{Q.rtcchannel.close()}catch(T){}try{Q.rtcchannel.removeAllListeners("data")}catch(T){}try{Q.rtcchannel.removeAllListeners("end")}catch(T){}delete Q.rtcchannel}if(Q.webrtc){try{Q.webrtc.close()}catch(T){}try{Q.webrtc.removeAllListeners("connected")}catch(T){}try{Q.webrtc.removeAllListeners("disconnected")}catch(T){}try{Q.webrtc.removeAllListeners("dataChannel")}catch(T){}delete Q.webrtc}if(Q.kvm){try{Q.kvm.end()}catch(T){}delete Q.kvm}Q=null};var A=function(T){G.IPS_KVMRedirectionSettingData_DataChannelWrite(Buffer.from(T).toString("base64"),function(){})};var s=function(T,U){if(fs.existsSync(T)){if(U==true){fs.readdirSync(F.path.join(T,"*")).forEach(function(W,X){var V=F.path.join(T,W);if(fs.statSync(V).isDirectory()){s(V,true)}else{fs.unlinkSync(V)}})}fs.unlinkSync(T)}};var I={join:function(){var V=[];for(var T in arguments){var U=arguments[T];if(U!=null){while(U.endsWith("/")||U.endsWith("\\")){U=U.substring(0,U.length-1)}if(T!=0){while(U.startsWith("/")||U.startsWith("\\")){U=U.substring(1)}}V.push(U)}}if(V.length==0){return"/"}return V.join("/")}};function D(T){return require("MD5Stream").create().syncHash(T).toString("hex")}F.deactivateCCM=function(){h.unprovision(1,function(T){if(T==0){r("Success deactivating Intel AMT CCM.");d.SendCommand({action:"coreinfo",intelamt:{state:0,flags:0}});m=setTimeout(F.applyPolicy,8000)}else{r("Intel AMT CCM deactivation error: "+T)}})};F.getTrustedHashes=function(T,U){if(O!=null){T(U)}O=[];h.getHashHandles(function(W){var V=W.length;for(var X=0;X";l.AMT_RemoteAccessService_AddRemoteAccessPolicyRule(2,0,"AAAAAAAAAAo=",[U],null,function(Y,W,X,Z){if(Z!=200){r("Add AddRemoteAccessPolicyRule Error "+Z)}else{o(T)}})}function o(T){var V=[];if((k.ciraserver!=null)&&(k.ciraserver.home!=null)){V=k.ciraserver.home}var U=T.AMT_EnvironmentDetectionSettingData.response;U.DetectionStrings=C(U.DetectionStrings);if(p(U.DetectionStrings,V)==false){U.DetectionStrings=V;l.Put("AMT_EnvironmentDetectionSettingData",U,function(Y,W,X,Z){if(Z!=200){r("Put AMT_EnvironmentDetectionSettingData Error "+Z)}},0,1)}}function p(T,U){if(T==U){return true}if(T==null){T=[]}if(U==null){U=[]}if(T.length!=U.length){return false}for(var V in T){if(U.indexOf(T[V])==-1){return false}}return true}function C(T){if(!T||T==null||typeof T=="object"){return T}return[T]}}module.exports=AmtManager; \ No newline at end of file diff --git a/agents/modules_meshcore_min/amt-mei.min.js b/agents/modules_meshcore_min/amt-mei.min.js deleted file mode 100644 index 840cb662..00000000 --- a/agents/modules_meshcore_min/amt-mei.min.js +++ /dev/null @@ -1 +0,0 @@ -var Q=require("queue");function amt_heci(){var d=require("events").inherits(this);d.createEvent("error");var u=require("heci");var y=function(F){try{require("MeshAgent").SendCommand({action:"msg",type:"console",value:F})}catch(E){}};this._ObjectID="pthi";this._rq=new Q();this._setupPTHI=function b(){this._amt=u.create();this._amt.BiosVersionLen=65;this._amt.UnicodeStringLen=20;this._amt.Parent=this;this._amt.on("error",function F(H){if(this.Parent._rq.isEmpty()){this.Parent.emit("error",H)}else{var J=this.Parent._rq.deQueue();var I=J.optional;var G=J.func;I.unshift({Status:-1});G.apply(this.Parent,I);if(!this.Parent._rq.isEmpty()){this.connect(u.GUIDS.AMT,{noPipeline:1})}}});this._amt.on("connect",function E(){this.on("data",function G(I){var J=this.Parent.getCommand(I);var L=this.Parent._rq.deQueue();var K=L.optional;var H=L.func;K.unshift(J);H.apply(this.Parent,K);if(this.Parent._rq.isEmpty()){this.Parent._amt.disconnect();this.Parent._amt=null}else{this.write(this.Parent._rq.peekQueue().send)}});this.write(this.Parent._rq.peekQueue().send)})};function B(E){var F=E.indexOf("\0");if(F>=0){return E.substring(0,F)}else{return E}}this.getCommand=function g(E){var F=E.length==0?(this._rq.peekQueue().cmd|8388608):E.readUInt32LE(4);var G={IsResponse:(F&8388608)==8388608?true:false,Command:(F&8388607),Status:E.length!=0?E.readUInt32LE(12):-1,Data:E.length!=0?E.slice(16):null};return(G)};this.sendCommand=function x(){if(arguments.length<3||typeof(arguments[0])!="number"||typeof(arguments[1])!="object"||typeof(arguments[2])!="function"){throw ("invalid parameters")}var E=[];for(var G=3;G0){N.BiosVersion=N.BiosVersion.substring(0,N.BiosVersion.indexOf("\0"))}L.unshift(N)}else{L.unshift(null)}I.apply(this,L)},E,G)};function D(G,F){if((F==null)&&(typeof(F)!="number")){return null}if(G==null){G=""}var H="";for(var E=0;E0){J.unshift(I.Data.slice(2,2+K).toString())}else{J.unshift(null)}}else{J.unshift(null)}H.apply(this,J)},E,G)};this.getHashHandles=function k(E){var G=[];for(var F=1;F0){this.getCertHashEntry(G.shift(),this._getHashEntrySink,F,H,E,G)}else{H.unshift(E);F.apply(this,H)}};this.getLocalSystemAccount=function m(E){var G=[];for(var F=1;F>24)&255)+"."+((K>>16)&255)+"."+((K>>8)&255)+"."+(K&255);O.unshift(N);L.apply(this,O)}else{O.unshift(null);L.apply(this,O)}},E,J)};this.unprovision=function C(H,E){var I=[];for(var G=2;G>4)&15;f.provisioningState=b[19]&3;var e=(b[16]*256)+b[17];var c=((b[19]&4)!=0)?true:false;f.openPorts=[e];f.address=g.address;if(c==true){f.openPorts=[16992,16993]}if(d!==undefined){d(h,f)}}};this.parseIPv4Range=function(f){if(f==undefined||f==null){return null}var g=f.split("-");if(g.length==2){return{min:this.parseIpv4Addr(g[0]),max:this.parseIpv4Addr(g[1])}}g=f.split("/");if(g.length==2){var c=this.parseIpv4Addr(g[0]),e=parseInt(g[1]),d=0;if(e<=16||e>32){return null}e=32-e;for(var b=0;b>24)&255)+"."+((b>>16)&255)+"."+((b>>8)&255)+"."+(b&255)};this.scan=function(e,h,b){var d=this.parseIPv4Range(e);var f=this.buildRmcpPing(0);var g=this.dgram.createSocket({type:"udp4"});g.parent=this;g.scanResults=[];g.on("error",function(j){console.log("Error:"+j)});g.on("message",function(j,k){if(k.size>4){this.parent.parseRmcpPacket(this,j,k,function(m,l){m.scanResults.push(l)})}});g.on("listening",function(){for(var j=d.min;j<=d.max;j++){g.send(f,623,g.parent.IPv4NumToStr(j))}});g.bind({address:"0.0.0.0",port:0,exclusive:true});var i=setTimeout(function c(){g.close();if(b){b(g.scanResults)}g.parent.emit("found",g.scanResults);delete g},h)}}module.exports=AMTScanner; \ No newline at end of file diff --git a/agents/modules_meshcore_min/amt-wsman-duk.min.js b/agents/modules_meshcore_min/amt-wsman-duk.min.js deleted file mode 100644 index b12434af..00000000 --- a/agents/modules_meshcore_min/amt-wsman-duk.min.js +++ /dev/null @@ -1 +0,0 @@ -function CreateWsmanComm(){var a={};a.PendingAjax=[];a.ActiveAjaxCount=0;a.MaxActiveAjaxCount=1;a.FailAllError=0;a.digest=null;a.RequestCount=0;if(arguments.length==1&&typeof(arguments[0]=="object")){a.host=arguments[0].host;a.port=arguments[0].port;a.authToken=arguments[0].authToken;a.tls=arguments[0].tls}else{a.host=arguments[0];a.port=arguments[1];a.user=arguments[2];a.pass=arguments[3];a.tls=arguments[4]}a.PerformAjax=function(d,c,f,e,g,b){if((a.ActiveAjaxCount==0||((a.ActiveAjaxCount=a.MaxActiveAjaxCount||a.PendingAjax.length==0){return}var b=a.PendingAjax.shift();a.PerformAjaxEx(b[0],b[1],b[2],b[3],b[4]);a.PerformNextAjax()};a.PerformAjaxEx=function(d,c,g,h,b){if(a.FailAllError!=0){if(a.FailAllError!=999){a.gotNextMessagesError({status:a.FailAllError},"error",null,[d,c,g])}return}if(!d){d=""}if(a.digest==null){if(a.authToken){a.digest=require("http-digest").create({authToken:a.authToken})}else{a.digest=require("http-digest").create(a.user,a.pass)}a.digest.http=require("http")}var f={protocol:(a.tls==1?"https:":"http:"),method:"POST",host:a.host,path:"/wsman",port:a.port,rejectUnauthorized:false,checkServerIdentity:function(i){console.log("checkServerIdentity",JSON.stringify(i))}};var e=a.digest.request(f);e.on("error",function(i){a.gotNextMessagesError({status:600},"error",null,[d,c,g])});e.on("response",function(i){if(i.statusCode!=200){a.gotNextMessagesError({status:i.statusCode},"error",null,[d,c,g])}else{i.acc="";i.on("data",function(j){this.acc+=j});i.on("end",function(){a.gotNextMessages(i.acc,"success",{status:i.statusCode},[d,c,g])})}});e.end(d);a.ActiveAjaxCount++;return e};a.pendingAjaxCall=[];a.gotNextMessages=function(c,e,d,b){a.ActiveAjaxCount--;if(a.FailAllError==999){return}if(a.FailAllError!=0){b[1](null,a.FailAllError,b[2]);return}if(d.status!=200){b[1](null,d.status,b[2]);return}b[1](c,200,b[2]);a.PerformNextAjax()};a.gotNextMessagesError=function(d,e,c,b){a.ActiveAjaxCount--;if(a.FailAllError==999){return}if(a.FailAllError!=0){b[1](null,a.FailAllError,b[2]);return}if(a.FailAllError!=999){b[1]({Header:{HttpError:d.status}},d.status,b[2])}a.PerformNextAjax()};a.CancelAllQueries=function(b){while(a.PendingAjax.length>0){var c=a.PendingAjax.shift();c[1](null,b,c[2])}};return a}module.exports=CreateWsmanComm; \ No newline at end of file diff --git a/agents/modules_meshcore_min/amt-wsman.min.js b/agents/modules_meshcore_min/amt-wsman.min.js deleted file mode 100644 index e8afb796..00000000 --- a/agents/modules_meshcore_min/amt-wsman.min.js +++ /dev/null @@ -1 +0,0 @@ -function WsmanStackCreateService(){var p={_ObjectID:"WSMAN"};p.NextMessageId=1;p.Address="/wsman";p.xmlParser=require("amt-xml");if(arguments.length==1&&typeof(arguments[0]=="object")){var e=arguments[0].transport;if(e){p.comm=new e(arguments[0])}}else{var e=arguments[0];if(e){p.comm=new e(arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6])}}p.PerformAjax=function q(t,r,v,u,s){if(s==null){s=""}p.comm.PerformAjax('
"+t,function(w,x,y){if(x!=200){r(p,null,{Header:{HttpError:x}},x,y);return}var z=p.xmlParser.ParseWsman(w);if(!z||z==null){r(p,null,{Header:{HttpError:x}},601,y)}else{r(p,z.Header.ResourceURI,z,200,y)}},v,u)};p.CancelAllQueries=function d(r){p.comm.CancelAllQueries(r)};p.GetNameFromUrl=function(r){var s=r.lastIndexOf("/");return(s==-1)?r:r.substring(s+1)};p.ExecSubscribe=function n(z,t,C,r,B,y,A,w,D,x){var u="",v="",w="";if(D!=null&&x!=null){u='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken'+D+''+x+"";v=''}if(w!=null){w=""+w+""}if(t=="PushWithAck"){t="dmtf.org/wbem/wsman/1/wsman/PushWithAck"}else{if(t=="Push"){t="xmlsoap.org/ws/2004/08/eventing/DeliveryModes/Push"}}var s="http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe"+p.Address+""+z+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"+c(A)+u+'
'+C+""+w+""+v+"";p.PerformAjax(s+"
",r,B,y,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:m="http://x.com"')};p.ExecUnSubscribe=function o(u,r,w,t,v){var s="http://schemas.xmlsoap.org/ws/2004/08/eventing/Unsubscribe"+p.Address+""+u+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"+c(v)+"";p.PerformAjax(s+"",r,w,t,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing"')};p.ExecPut=function m(v,u,r,x,t,w){var s="http://schemas.xmlsoap.org/ws/2004/09/transfer/Put"+p.Address+""+v+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60.000S"+c(w)+""+b(v,u);p.PerformAjax(s+"",r,x,t)};p.ExecCreate=function f(x,w,r,z,v,y){var u=p.GetNameFromUrl(x);var s="http://schemas.xmlsoap.org/ws/2004/09/transfer/Create"+p.Address+""+x+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+c(y)+"';for(var t in w){s+=""+w[t]+""}p.PerformAjax(s+"",r,z,v)};p.ExecDelete=function g(v,u,r,w,t){var s="http://schemas.xmlsoap.org/ws/2004/09/transfer/Delete"+p.Address+""+v+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+c(u)+"";p.PerformAjax(s,r,w,t)};p.ExecGet=function i(t,r,u,s){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/transfer/Get"+p.Address+""+t+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S",r,u,s)};p.ExecMethod=function j(y,v,r,t,A,w,z){var s="";for(var u in r){if(r[u]!=null){if(Array.isArray(r[u])){for(var B in r[u]){s+=""+r[u][B]+""}}else{s+=""+r[u]+""}}}p.ExecMethodXml(y,v,s,t,A,w,z)};p.ExecMethodXml=function k(v,t,r,s,x,u,w){p.PerformAjax(v+"/"+t+""+p.Address+""+v+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+c(w)+"'+r+"",s,x,u)};p.ExecEnum=function h(t,r,u,s){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Enumerate"+p.Address+""+t+""+(p.NextMessageId++)+'http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S',r,u,s)};p.ExecPull=function l(u,s,r,v,t){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Pull"+p.Address+""+u+""+(p.NextMessageId++)+'http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S'+s+"99999999",r,v,t)};function b(w,u){if(!w||u==null){return""}var s=p.GetNameFromUrl(w);var v="';for(var t in u){if(!u.hasOwnProperty(t)||t.indexOf("__")===0||t.indexOf("@")===0){continue}if(u[t]==null||typeof u[t]==="function"){continue}if(typeof u[t]==="object"&&u[t]["ReferenceParameters"]){v+=""+u[t].Address+""+u[t]["ReferenceParameters"]["ResourceURI"]+"";var x=u[t]["ReferenceParameters"]["SelectorSet"]["Selector"];if(Array.isArray(x)){for(var r=0;r"+x[r]["Value"]+""}}else{v+=""+x.Value+""}v+=""}else{if(Array.isArray(u[t])){for(var r=0;r"+u[t][r].toString()+""}}else{v+=""+u[t].toString()+""}}}v+="";return v}function a(r){if(!r){return""}var t=" ";for(var s in r){if(!r.hasOwnProperty(s)||s.indexOf("@")!==0){continue}t+=s.substring(1)+'="'+r[s]+'" '}return t}function c(v){if((v==null)||(v=="null")){return""}if(typeof v=="string"){return v}if(v.InstanceID){return''+v.InstanceID+""}var t="";for(var s in v){if(!v.hasOwnProperty(s)){continue}t+='';if(v[s]["ReferenceParameters"]){t+="";t+=""+v[s]["Address"]+""+v[s]["ReferenceParameters"]["ResourceURI"]+"";var u=v[s]["ReferenceParameters"]["SelectorSet"]["Selector"];if(Array.isArray(u)){for(var r=0;r"+u[r]["Value"]+""}}else{t+=""+u.Value+""}t+=""}else{t+=v[s]}t+=""}t+="";return t}return p}module.exports=WsmanStackCreateService; \ No newline at end of file diff --git a/agents/modules_meshcore_min/amt-xml.min.js b/agents/modules_meshcore_min/amt-xml.min.js deleted file mode 100644 index 4b2308ed..00000000 --- a/agents/modules_meshcore_min/amt-xml.min.js +++ /dev/null @@ -1 +0,0 @@ -try{Object.defineProperty(Array.prototype,"peek",{value:function(){return(this.length>0?this[this.length-1]:undefined)}})}catch(e){}module.exports.ParseWsman=function(j){try{if(!j.childNodes){j=_turnToXml(j)}var g={Header:{}},d=j.getElementsByTagName("Header")[0],h;if(!d){d=j.getElementsByTagName("a:Header")[0]}if(!d){return null}for(var f=0;f0){h=a.childNodes[0].localName;if(h.indexOf("_OUTPUT")==h.length-7){h=h.substring(0,h.length-7)}g.Header.Method=h;g.Body=_ParseWsmanRec(a.childNodes[0])}return g}catch(c){console.error("Unable to parse XML: "+j,c);return null}};function _ParseWsmanRec(g){var c,h={};for(var d=0;d0)){b={Value:c};for(var f=0;f';for(var c in d){if(!d.hasOwnProperty(c)||c.indexOf("__")===0||c.indexOf("@")===0){continue}if(d[c]==null||typeof d[c]==="function"){continue}if(typeof d[c]==="object"&&d[c]["ReferenceParameters"]){f+=""+d[c].Address+""+d[c]["ReferenceParameters"]["ResourceURI"]+"";var h=d[c]["ReferenceParameters"]["SelectorSet"]["Selector"];if(Array.isArray(h)){for(var a=0;a"+h[a]["Value"]+""}}else{f+=""+h.Value+""}f+=""}else{if(Array.isArray(d[c])){for(var a=0;a"+d[c][a].toString()+""}}else{f+=""+d[c].toString()+""}}}f+="";return f}function _treeBuilder(){this.tree=[];this.push=function(a){this.tree.push(a)};this.pop=function(){var a=this.tree.pop();if(this.tree.length>0){var b=this.tree.peek();b.childNodes.push(a);b.childElementCount=b.childNodes.length}return(a)};this.peek=function(){return(this.tree.peek())};this.addNamespace=function(g,d){this.tree.peek().nsTable[g]=d;if(this.tree.peek().attributes.length>0){for(var c=0;c=0;--a){if(this.tree[a].nsTable[b]!=null){return(this.tree[a].nsTable[b])}}return null}}function _turnToXml(a){if(a==null){return null}return({childNodes:[_turnToXmlRec(a)],getElementsByTagName:_getElementsByTagName,getChildElementsByTagName:_getChildElementsByTagName,getElementsByTagNameNS:_getElementsByTagNameNS})}function _getElementsByTagNameNS(b,a){var c=[];_xmlTraverseAllRec(this.childNodes,function(d){if(d.localName==a&&(d.namespace==b||b=="*")){c.push(d)}});return c}function _getElementsByTagName(a){var b=[];_xmlTraverseAllRec(this.childNodes,function(c){if(c.localName==a){b.push(c)}});return b}function _getChildElementsByTagName(a){var c=[];if(this.childNodes!=null){for(var b in this.childNodes){if(this.childNodes[b].localName==a){c.push(this.childNodes[b])}}}return(c)}function _getChildElementsByTagNameNS(c,a){var d=[];if(this.childNodes!=null){for(var b in this.childNodes){if(this.childNodes[b].localName==a&&(c=="*"||this.childNodes[b].namespace==c)){d.push(this.childNodes[b])}}}return(d)}function _xmlTraverseAllRec(c,a){for(var b in c){a(c[b]);if(c[b].childNodes){_xmlTraverseAllRec(c[b].childNodes,a)}}}function _turnToXmlRec(w){try{if(w==null){return null}var m=new _treeBuilder(),r=null,z=w.split("<"),u=[],h=null,g=null;for(var o in z){var A=z[o].split(">"),B=A[0].split(" "),l=B[0];if((l.length>0)&&(l[0]!="?")){if(l[0]!="/"){var a=[],s,t=l.split(" ")[0].split(":"),s=(t.length>1)?t[1]:t[0];Object.defineProperty(a,"get",{value:function(){if(arguments.length==1){for(var i in this){if(this[i].name==arguments[0]){return(this[i])}}}else{if(arguments.length==2){for(var i in this){if(this[i].name==arguments[1]&&(arguments[0]=="*"||this[i].namespace==arguments[0])){return(this[i])}}}else{throw ("attributes.get(): Invalid number of parameters")}}}});m.push({name:l,localName:s,getChildElementsByTagName:_getChildElementsByTagName,getElementsByTagNameNS:_getElementsByTagNameNS,getChildElementsByTagNameNS:_getChildElementsByTagNameNS,attributes:a,childNodes:[],nsTable:{}});if(B.length>0){var v=false;for(var p in B){if(B[p]=="/"){m.peek().namespace=m.peek().name==m.peek().localName?m.getNamespace("*"):m.getNamespace(m.peek().name.substring(0,m.peek().name.indexOf(":")));m.peek().textContent="";r=m.pop();v=true;break}var q=B[p].indexOf("=");if(q>0){var b=B[p].substring(0,q);var d=B[p].substring(q+2,B[p].length-1);var c=m.getNamespace("*");if(b=="xmlns"){m.addNamespace("*",d);c=d}else{if(b.startsWith("xmlns:")){m.addNamespace(b.substring(6),d)}else{var f=b.split(":");if(f.length==2){b=f[1];c=m.getNamespace(f[0])}}}var y={name:b,value:d};if(c!=null){y.namespace=c}m.peek().attributes.push(y)}}if(v){continue}}m.peek().namespace=m.peek().name==m.peek().localName?m.getNamespace("*"):m.getNamespace(m.peek().name.substring(0,m.peek().name.indexOf(":")));if(A[1]){m.peek().textContent=A[1]}}else{r=m.pop()}}}}catch(n){return null}return r}; \ No newline at end of file diff --git a/agents/modules_meshcore_min/amt.min.js b/agents/modules_meshcore_min/amt.min.js deleted file mode 100644 index 6984729b..00000000 --- a/agents/modules_meshcore_min/amt.min.js +++ /dev/null @@ -1 +0,0 @@ -function AmtStackCreateService(R){var J=new Object();J._ObjectID="AMT";J.wsman=R;J.pfx=["http://intel.com/wbem/wscim/1/amt-schema/1/","http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/","http://intel.com/wbem/wscim/1/ips-schema/1/"];J.PendingEnums=[];J.PendingBatchOperations=0;J.ActiveEnumsCount=0;J.MaxActiveEnumsCount=1;J.onProcessChanged=null;var n=0;var m=0;J.GetPendingActions=function(){return(J.PendingEnums.length*2)+(J.ActiveEnumsCount)+J.wsman.comm.PendingAjax.length+J.wsman.comm.ActiveAjaxCount+J.PendingBatchOperations};function r(){var S=J.GetPendingActions();if(n=J.MaxActiveEnumsCount||J.PendingEnums.length==0){return}var T=J.PendingEnums.shift();J.Enum(T[0],T[1],T[2]);d(0)}J.BatchEnum=function(S,V,T,X,U,W){J.PendingBatchOperations+=(V.length*2);b(S,x(V),T,X,{},U,W);r()};function x(S){return JSON.parse(JSON.stringify(S))}function b(S,X,T,aa,Z,U,Y){J.PendingBatchOperations-=2;var W=X.shift(),V=J.Enum;if(W[0]=="*"){V=J.Get;W=W.substring(1)}V(W,function(ad,ab,ac,ae,af){af[2][ab]={response:(ac==null?null:ac.Body),responses:ac,status:ae};if(af[1].length==0||ae==401||(U!=true&&ae!=200&&ae!=400)){J.PendingBatchOperations-=(X.length*2);r();T.call(J,J,S,af[2],ae,aa)}else{r();b(S,X,T,aa,af[2],Y)}},[S,X,Z],Y);r()}J.BatchGet=function(S,U,T,W,V){h({name:S,names:U,callback:T,current:0,responses:{},tag:W,pri:V});r()};function h(S){if(S.names.length<=S.current){S.callback.call(J,J,S.name,S.responses,200,S.tag)}else{J.wsman.ExecGet(J.CompleteName(S.names[S.current]),function(V,U,T,W){g(S,T,W)},S.pri);S.current++}r()}function g(S,T,U){if(T==null||U!=200){S.callback.call(J,J,S.name,null,U,S.tag)}else{S.responses[T.Header.Method]=T;h(S)}}J.CompleteName=function(S){if(S.indexOf("AMT_")==0){return J.pfx[0]+S}if(S.indexOf("CIM_")==0){return J.pfx[1]+S}if(S.indexOf("IPS_")==0){return J.pfx[2]+S}};J.CompleteExecResponse=function(S){if(S&&S!=null&&S.Body&&(S.Body.ReturnValue!=undefined)){S.Body.ReturnValueStr=J.AmtStatusToStr(S.Body.ReturnValue)}return S};J.RequestPowerStateChange=function(T,S){J.CIM_PowerManagementService_RequestPowerStateChange(T,'
http://schemas.xmlsoap.org/ws/2004/08/addressing
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ComputerSystemCIM_ComputerSystemManagedSystem',null,null,S)};J.SetBootConfigRole=function(T,S){J.CIM_BootService_SetBootConfigRole('
http://schemas.xmlsoap.org/ws/2004/08/addressing
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_BootConfigSettingIntel(r) AMT: Boot Configuration 0',T,S)};J.CancelAllQueries=function(S){J.wsman.CancelAllQueries(S)};J.AMT_AgentPresenceWatchdog_RegisterAgent=function(S,V,T,U){J.Exec("AMT_AgentPresenceWatchdog","RegisterAgent",{},S,V,T,U)};J.AMT_AgentPresenceWatchdog_AssertPresence=function(V,S,W,T,U){J.Exec("AMT_AgentPresenceWatchdog","AssertPresence",{SequenceNumber:V},S,W,T,U)};J.AMT_AgentPresenceWatchdog_AssertShutdown=function(V,S,W,T,U){J.Exec("AMT_AgentPresenceWatchdog","AssertShutdown",{SequenceNumber:V},S,W,T,U)};J.AMT_AgentPresenceWatchdog_AddAction=function(X,W,V,T,S,U,aa,Y,Z){J.Exec("AMT_AgentPresenceWatchdog","AddAction",{OldState:X,NewState:W,EventOnTransition:V,ActionSd:T,ActionEac:S},U,aa,Y,Z)};J.AMT_AgentPresenceWatchdog_DeleteAllActions=function(S,V,T,U){J.Exec("AMT_AgentPresenceWatchdog","DeleteAllActions",{},S,V,T,U)};J.AMT_AgentPresenceWatchdogAction_GetActionEac=function(S){J.Exec("AMT_AgentPresenceWatchdogAction","GetActionEac",{},S)};J.AMT_AgentPresenceWatchdogVA_RegisterAgent=function(S){J.Exec("AMT_AgentPresenceWatchdogVA","RegisterAgent",{},S)};J.AMT_AgentPresenceWatchdogVA_AssertPresence=function(T,S){J.Exec("AMT_AgentPresenceWatchdogVA","AssertPresence",{SequenceNumber:T},S)};J.AMT_AgentPresenceWatchdogVA_AssertShutdown=function(T,S){J.Exec("AMT_AgentPresenceWatchdogVA","AssertShutdown",{SequenceNumber:T},S)};J.AMT_AgentPresenceWatchdogVA_AddAction=function(X,W,V,T,S,U){J.Exec("AMT_AgentPresenceWatchdogVA","AddAction",{OldState:X,NewState:W,EventOnTransition:V,ActionSd:T,ActionEac:S},U)};J.AMT_AgentPresenceWatchdogVA_DeleteAllActions=function(S,T){J.Exec("AMT_AgentPresenceWatchdogVA","DeleteAllActions",{_method_dummy:S},T)};J.AMT_AlarmClockService_AddAlarm=function s(S,T){var V=S.InstanceID;var X=S.ElementName;var Y=S.StartTime.Datetime;var W=S.Interval?S.Interval.Datetime:undefined;var U=S.DeleteOnCompletion;var Z=''+V+""+X+''+Y+""+((W!=undefined)?(''+W+""):"")+""+U+"";J.wsman.ExecMethodXml(J.CompleteName("AMT_AlarmClockService"),"AddAlarm",Z,T)};J.AMT_AuditLog_ClearLog=function(S){J.Exec("AMT_AuditLog","ClearLog",{},S)};J.AMT_AuditLog_RequestStateChange=function(T,U,S){J.Exec("AMT_AuditLog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AMT_AuditLog_ReadRecords=function(T,S,U){J.Exec("AMT_AuditLog","ReadRecords",{StartIndex:T},S,U)};J.AMT_AuditLog_SetAuditLock=function(V,T,U,S){J.Exec("AMT_AuditLog","SetAuditLock",{LockTimeoutInSeconds:V,Flag:T,Handle:U},S)};J.AMT_AuditLog_ExportAuditLogSignature=function(T,S){J.Exec("AMT_AuditLog","ExportAuditLogSignature",{SigningMechanism:T},S)};J.AMT_AuditLog_SetSigningKeyMaterial=function(W,V,U,T,S){J.Exec("AMT_AuditLog","SetSigningKeyMaterial",{SigningMechanismType:W,SigningKey:V,LengthOfCertificates:U,Certificates:T},S)};J.AMT_AuditPolicyRule_SetAuditPolicy=function(U,S,V,W,T){J.Exec("AMT_AuditPolicyRule","SetAuditPolicy",{Enable:U,AuditedAppID:S,EventID:V,PolicyType:W},T)};J.AMT_AuditPolicyRule_SetAuditPolicyBulk=function(U,S,V,W,T){J.Exec("AMT_AuditPolicyRule","SetAuditPolicyBulk",{Enable:U,AuditedAppID:S,EventID:V,PolicyType:W},T)};J.AMT_AuthorizationService_AddUserAclEntryEx=function(V,U,W,S,X,T){J.Exec("AMT_AuthorizationService","AddUserAclEntryEx",{DigestUsername:V,DigestPassword:U,KerberosUserSid:W,AccessPermission:S,Realms:X},T)};J.AMT_AuthorizationService_EnumerateUserAclEntries=function(T,S){J.Exec("AMT_AuthorizationService","EnumerateUserAclEntries",{StartIndex:T},S)};J.AMT_AuthorizationService_GetUserAclEntryEx=function(T,S,U){J.Exec("AMT_AuthorizationService","GetUserAclEntryEx",{Handle:T},S,U)};J.AMT_AuthorizationService_UpdateUserAclEntryEx=function(W,V,U,X,S,Y,T){J.Exec("AMT_AuthorizationService","UpdateUserAclEntryEx",{Handle:W,DigestUsername:V,DigestPassword:U,KerberosUserSid:X,AccessPermission:S,Realms:Y},T)};J.AMT_AuthorizationService_RemoveUserAclEntry=function(T,S){J.Exec("AMT_AuthorizationService","RemoveUserAclEntry",{Handle:T},S)};J.AMT_AuthorizationService_SetAdminAclEntryEx=function(U,T,S){J.Exec("AMT_AuthorizationService","SetAdminAclEntryEx",{Username:U,DigestPassword:T},S)};J.AMT_AuthorizationService_GetAdminAclEntry=function(S){J.Exec("AMT_AuthorizationService","GetAdminAclEntry",{},S)};J.AMT_AuthorizationService_GetAdminAclEntryStatus=function(S){J.Exec("AMT_AuthorizationService","GetAdminAclEntryStatus",{},S)};J.AMT_AuthorizationService_GetAdminNetAclEntryStatus=function(S){J.Exec("AMT_AuthorizationService","GetAdminNetAclEntryStatus",{},S)};J.AMT_AuthorizationService_SetAclEnabledState=function(U,T,S,V){J.Exec("AMT_AuthorizationService","SetAclEnabledState",{Handle:U,Enabled:T},S,V)};J.AMT_AuthorizationService_GetAclEnabledState=function(T,S,U){J.Exec("AMT_AuthorizationService","GetAclEnabledState",{Handle:T},S,U)};J.AMT_EndpointAccessControlService_RequestStateChange=function(T,U,S){J.Exec("AMT_EndpointAccessControlService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AMT_EndpointAccessControlService_GetPosture=function(T,S){J.Exec("AMT_EndpointAccessControlService","GetPosture",{PostureType:T},S)};J.AMT_EndpointAccessControlService_GetPostureHash=function(T,S){J.Exec("AMT_EndpointAccessControlService","GetPostureHash",{PostureType:T},S)};J.AMT_EndpointAccessControlService_UpdatePostureState=function(T,S){J.Exec("AMT_EndpointAccessControlService","UpdatePostureState",{UpdateType:T},S)};J.AMT_EndpointAccessControlService_GetEacOptions=function(S){J.Exec("AMT_EndpointAccessControlService","GetEacOptions",{},S)};J.AMT_EndpointAccessControlService_SetEacOptions=function(T,U,S){J.Exec("AMT_EndpointAccessControlService","SetEacOptions",{EacVendors:T,PostureHashAlgorithm:U},S)};J.AMT_EnvironmentDetectionSettingData_SetSystemDefensePolicy=function(T,S){J.Exec("AMT_EnvironmentDetectionSettingData","SetSystemDefensePolicy",{Policy:T},S)};J.AMT_EnvironmentDetectionSettingData_EnableVpnRouting=function(T,S){J.Exec("AMT_EnvironmentDetectionSettingData","EnableVpnRouting",{Enable:T},S)};J.AMT_EthernetPortSettings_SetLinkPreference=function(T,U,S){J.Exec("AMT_EthernetPortSettings","SetLinkPreference",{LinkPreference:T,Timeout:U},S)};J.AMT_HeuristicPacketFilterStatistics_ResetSelectedStats=function(T,S){J.Exec("AMT_HeuristicPacketFilterStatistics","ResetSelectedStats",{SelectedStatistics:T},S)};J.AMT_KerberosSettingData_GetCredentialCacheState=function(S){J.Exec("AMT_KerberosSettingData","GetCredentialCacheState",{},S)};J.AMT_KerberosSettingData_SetCredentialCacheState=function(T,S){J.Exec("AMT_KerberosSettingData","SetCredentialCacheState",{Enable:T},S)};J.AMT_MessageLog_CancelIteration=function(T,S){J.Exec("AMT_MessageLog","CancelIteration",{IterationIdentifier:T},S)};J.AMT_MessageLog_RequestStateChange=function(T,U,S){J.Exec("AMT_MessageLog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AMT_MessageLog_ClearLog=function(S){J.Exec("AMT_MessageLog","ClearLog",{},S)};J.AMT_MessageLog_GetRecords=function(T,U,S,V){J.Exec("AMT_MessageLog","GetRecords",{IterationIdentifier:T,MaxReadRecords:U},S,V)};J.AMT_MessageLog_GetRecord=function(T,U,S){J.Exec("AMT_MessageLog","GetRecord",{IterationIdentifier:T,PositionToNext:U},S)};J.AMT_MessageLog_PositionAtRecord=function(T,U,V,S){J.Exec("AMT_MessageLog","PositionAtRecord",{IterationIdentifier:T,MoveAbsolute:U,RecordNumber:V},S)};J.AMT_MessageLog_PositionToFirstRecord=function(S,T){J.Exec("AMT_MessageLog","PositionToFirstRecord",{},S,T)};J.AMT_MessageLog_FreezeLog=function(T,S){J.Exec("AMT_MessageLog","FreezeLog",{Freeze:T},S)};J.AMT_PublicKeyManagementService_AddCRL=function(U,T,S){J.Exec("AMT_PublicKeyManagementService","AddCRL",{Url:U,SerialNumbers:T},S)};J.AMT_PublicKeyManagementService_ResetCRLList=function(S,T){J.Exec("AMT_PublicKeyManagementService","ResetCRLList",{_method_dummy:S},T)};J.AMT_PublicKeyManagementService_AddCertificate=function(T,S,U){J.Exec("AMT_PublicKeyManagementService","AddCertificate",{CertificateBlob:T},S,U)};J.AMT_PublicKeyManagementService_AddTrustedRootCertificate=function(T,S){J.Exec("AMT_PublicKeyManagementService","AddTrustedRootCertificate",{CertificateBlob:T},S)};J.AMT_PublicKeyManagementService_AddKey=function(T,S){J.Exec("AMT_PublicKeyManagementService","AddKey",{KeyBlob:T},S)};J.AMT_PublicKeyManagementService_GeneratePKCS10Request=function(U,T,V,S){J.Exec("AMT_PublicKeyManagementService","GeneratePKCS10Request",{KeyPair:U,DNName:T,Usage:V},S)};J.AMT_PublicKeyManagementService_GeneratePKCS10RequestEx=function(T,V,U,S){J.Exec("AMT_PublicKeyManagementService","GeneratePKCS10RequestEx",{KeyPair:T,SigningAlgorithm:V,NullSignedCertificateRequest:U},S)};J.AMT_PublicKeyManagementService_GenerateKeyPair=function(T,U,S){J.Exec("AMT_PublicKeyManagementService","GenerateKeyPair",{KeyAlgorithm:T,KeyLength:U},S)};J.AMT_RedirectionService_RequestStateChange=function(T,S){J.Exec("AMT_RedirectionService","RequestStateChange",{RequestedState:T},S)};J.AMT_RedirectionService_TerminateSession=function(T,S){J.Exec("AMT_RedirectionService","TerminateSession",{SessionType:T},S)};J.AMT_RemoteAccessService_AddMpServer=function(S,X,Z,T,V,aa,Y,W,U){J.Exec("AMT_RemoteAccessService","AddMpServer",{AccessInfo:S,InfoFormat:X,Port:Z,AuthMethod:T,Certificate:V,Username:aa,Password:Y,CN:W},U)};J.AMT_RemoteAccessService_AddRemoteAccessPolicyRule=function(V,W,T,U,S){J.Exec("AMT_RemoteAccessService","AddRemoteAccessPolicyRule",{Trigger:V,TunnelLifeTime:W,ExtendedData:T,MpServer:U},S)};J.AMT_RemoteAccessService_CloseRemoteAccessConnection=function(S,T){J.Exec("AMT_RemoteAccessService","CloseRemoteAccessConnection",{_method_dummy:S},T)};J.AMT_SetupAndConfigurationService_CommitChanges=function(S,T,U){J.Exec("AMT_SetupAndConfigurationService","CommitChanges",{_method_dummy:S},T,U)};J.AMT_SetupAndConfigurationService_Unprovision=function(T,S){J.Exec("AMT_SetupAndConfigurationService","Unprovision",{ProvisioningMode:T},S)};J.AMT_SetupAndConfigurationService_PartialUnprovision=function(S,T){J.Exec("AMT_SetupAndConfigurationService","PartialUnprovision",{_method_dummy:S},T)};J.AMT_SetupAndConfigurationService_ResetFlashWearOutProtection=function(S,T){J.Exec("AMT_SetupAndConfigurationService","ResetFlashWearOutProtection",{_method_dummy:S},T)};J.AMT_SetupAndConfigurationService_ExtendProvisioningPeriod=function(T,S){J.Exec("AMT_SetupAndConfigurationService","ExtendProvisioningPeriod",{Duration:T},S)};J.AMT_SetupAndConfigurationService_SetMEBxPassword=function(T,S){J.Exec("AMT_SetupAndConfigurationService","SetMEBxPassword",{Password:T},S)};J.AMT_SetupAndConfigurationService_SetTLSPSK=function(T,U,S){J.Exec("AMT_SetupAndConfigurationService","SetTLSPSK",{PID:T,PPS:U},S)};J.AMT_SetupAndConfigurationService_GetProvisioningAuditRecord=function(S){J.Exec("AMT_SetupAndConfigurationService","GetProvisioningAuditRecord",{},S)};J.AMT_SetupAndConfigurationService_GetUuid=function(S){J.Exec("AMT_SetupAndConfigurationService","GetUuid",{},S)};J.AMT_SetupAndConfigurationService_GetUnprovisionBlockingComponents=function(S){J.Exec("AMT_SetupAndConfigurationService","GetUnprovisionBlockingComponents",{},S)};J.AMT_SetupAndConfigurationService_GetProvisioningAuditRecordV2=function(S){J.Exec("AMT_SetupAndConfigurationService","GetProvisioningAuditRecordV2",{},S)};J.AMT_SystemDefensePolicy_GetTimeout=function(S){J.Exec("AMT_SystemDefensePolicy","GetTimeout",{},S)};J.AMT_SystemDefensePolicy_SetTimeout=function(T,S){J.Exec("AMT_SystemDefensePolicy","SetTimeout",{Timeout:T},S)};J.AMT_SystemDefensePolicy_UpdateStatistics=function(T,V,S,X,U,W){J.Exec("AMT_SystemDefensePolicy","UpdateStatistics",{NetworkInterface:T,ResetOnRead:V},S,X,U,W)};J.AMT_SystemPowerScheme_SetPowerScheme=function(S,T,U){J.Exec("AMT_SystemPowerScheme","SetPowerScheme",{},S,U,0,{InstanceID:T})};J.AMT_TimeSynchronizationService_GetLowAccuracyTimeSynch=function(S,T){J.Exec("AMT_TimeSynchronizationService","GetLowAccuracyTimeSynch",{},S,T)};J.AMT_TimeSynchronizationService_SetHighAccuracyTimeSynch=function(T,V,W,S,U){J.Exec("AMT_TimeSynchronizationService","SetHighAccuracyTimeSynch",{Ta0:T,Tm1:V,Tm2:W},S,U)};J.AMT_TLSCredentialContext_Create=function t(T,U,S,V){J.Create("AMT_TLSCredentialContext",{ElementInContext:T,ElementProvidingContext:U},S,V)};J.AMT_UserInitiatedConnectionService_RequestStateChange=function(T,U,S){J.Exec("AMT_UserInitiatedConnectionService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AMT_WebUIService_RequestStateChange=function(T,V,S,U){J.Exec("AMT_WebUIService","RequestStateChange",{RequestedState:T,TimeoutPeriod:V},S,U)};J.AMT_WiFiPortConfigurationService_AddWiFiSettings=function(W,X,V,U,S,T){J.ExecWithXml("AMT_WiFiPortConfigurationService","AddWiFiSettings",{WiFiEndpoint:W,WiFiEndpointSettingsInput:X,IEEE8021xSettingsInput:V,ClientCredential:U,CACredential:S},T)};J.AMT_WiFiPortConfigurationService_UpdateWiFiSettings=function(W,X,V,U,S,T){J.ExecWithXml("AMT_WiFiPortConfigurationService","UpdateWiFiSettings",{WiFiEndpointSettings:W,WiFiEndpointSettingsInput:X,IEEE8021xSettingsInput:V,ClientCredential:U,CACredential:S},T)};J.AMT_WiFiPortConfigurationService_DeleteAllITProfiles=function(S,T){J.Exec("AMT_WiFiPortConfigurationService","DeleteAllITProfiles",{_method_dummy:S},T)};J.AMT_WiFiPortConfigurationService_DeleteAllUserProfiles=function(S,T){J.Exec("AMT_WiFiPortConfigurationService","DeleteAllUserProfiles",{_method_dummy:S},T)};J.CIM_Account_RequestStateChange=function(T,U,S){J.Exec("CIM_Account","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_AccountManagementService_CreateAccount=function(U,S,T){J.Exec("CIM_AccountManagementService","CreateAccount",{System:U,AccountTemplate:S},T)};J.CIM_BootConfigSetting_ChangeBootOrder=function(T,S){J.Exec("CIM_BootConfigSetting","ChangeBootOrder",{Source:T},S)};J.CIM_BootService_SetBootConfigRole=function(S,U,T){J.Exec("CIM_BootService","SetBootConfigRole",{BootConfigSetting:S,Role:U},T,0,1)};J.CIM_Card_ConnectorPower=function(T,U,S){J.Exec("CIM_Card","ConnectorPower",{Connector:T,PoweredOn:U},S)};J.CIM_Card_IsCompatible=function(T,S){J.Exec("CIM_Card","IsCompatible",{ElementToCheck:T},S)};J.CIM_Chassis_IsCompatible=function(T,S){J.Exec("CIM_Chassis","IsCompatible",{ElementToCheck:T},S)};J.CIM_Fan_SetSpeed=function(T,S){J.Exec("CIM_Fan","SetSpeed",{DesiredSpeed:T},S)};J.CIM_KVMRedirectionSAP_RequestStateChange=function(T,U,S){J.Exec("CIM_KVMRedirectionSAP","RequestStateChange",{RequestedState:T},S)};J.CIM_MediaAccessDevice_LockMedia=function(T,S){J.Exec("CIM_MediaAccessDevice","LockMedia",{Lock:T},S)};J.CIM_MediaAccessDevice_SetPowerState=function(T,U,S){J.Exec("CIM_MediaAccessDevice","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_MediaAccessDevice_Reset=function(S){J.Exec("CIM_MediaAccessDevice","Reset",{},S)};J.CIM_MediaAccessDevice_EnableDevice=function(T,S){J.Exec("CIM_MediaAccessDevice","EnableDevice",{Enabled:T},S)};J.CIM_MediaAccessDevice_OnlineDevice=function(T,S){J.Exec("CIM_MediaAccessDevice","OnlineDevice",{Online:T},S)};J.CIM_MediaAccessDevice_QuiesceDevice=function(T,S){J.Exec("CIM_MediaAccessDevice","QuiesceDevice",{Quiesce:T},S)};J.CIM_MediaAccessDevice_SaveProperties=function(S){J.Exec("CIM_MediaAccessDevice","SaveProperties",{},S)};J.CIM_MediaAccessDevice_RestoreProperties=function(S){J.Exec("CIM_MediaAccessDevice","RestoreProperties",{},S)};J.CIM_MediaAccessDevice_RequestStateChange=function(T,U,S){J.Exec("CIM_MediaAccessDevice","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_PhysicalFrame_IsCompatible=function(T,S){J.Exec("CIM_PhysicalFrame","IsCompatible",{ElementToCheck:T},S)};J.CIM_PhysicalPackage_IsCompatible=function(T,S){J.Exec("CIM_PhysicalPackage","IsCompatible",{ElementToCheck:T},S)};J.CIM_PowerManagementService_RequestPowerStateChange=function(U,T,V,W,S){J.Exec("CIM_PowerManagementService","RequestPowerStateChange",{PowerState:U,ManagedElement:T,Time:V,TimeoutPeriod:W},S,0,1)};J.CIM_PowerSupply_SetPowerState=function(T,U,S){J.Exec("CIM_PowerSupply","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_PowerSupply_Reset=function(S){J.Exec("CIM_PowerSupply","Reset",{},S)};J.CIM_PowerSupply_EnableDevice=function(T,S){J.Exec("CIM_PowerSupply","EnableDevice",{Enabled:T},S)};J.CIM_PowerSupply_OnlineDevice=function(T,S){J.Exec("CIM_PowerSupply","OnlineDevice",{Online:T},S)};J.CIM_PowerSupply_QuiesceDevice=function(T,S){J.Exec("CIM_PowerSupply","QuiesceDevice",{Quiesce:T},S)};J.CIM_PowerSupply_SaveProperties=function(S){J.Exec("CIM_PowerSupply","SaveProperties",{},S)};J.CIM_PowerSupply_RestoreProperties=function(S){J.Exec("CIM_PowerSupply","RestoreProperties",{},S)};J.CIM_PowerSupply_RequestStateChange=function(T,U,S){J.Exec("CIM_PowerSupply","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_Processor_SetPowerState=function(T,U,S){J.Exec("CIM_Processor","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_Processor_Reset=function(S){J.Exec("CIM_Processor","Reset",{},S)};J.CIM_Processor_EnableDevice=function(T,S){J.Exec("CIM_Processor","EnableDevice",{Enabled:T},S)};J.CIM_Processor_OnlineDevice=function(T,S){J.Exec("CIM_Processor","OnlineDevice",{Online:T},S)};J.CIM_Processor_QuiesceDevice=function(T,S){J.Exec("CIM_Processor","QuiesceDevice",{Quiesce:T},S)};J.CIM_Processor_SaveProperties=function(S){J.Exec("CIM_Processor","SaveProperties",{},S)};J.CIM_Processor_RestoreProperties=function(S){J.Exec("CIM_Processor","RestoreProperties",{},S)};J.CIM_Processor_RequestStateChange=function(T,U,S){J.Exec("CIM_Processor","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_RecordLog_ClearLog=function(S){J.Exec("CIM_RecordLog","ClearLog",{},S)};J.CIM_RecordLog_RequestStateChange=function(T,U,S){J.Exec("CIM_RecordLog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_RedirectionService_RequestStateChange=function(T,U,S){J.Exec("CIM_RedirectionService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_Sensor_SetPowerState=function(T,U,S){J.Exec("CIM_Sensor","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_Sensor_Reset=function(S){J.Exec("CIM_Sensor","Reset",{},S)};J.CIM_Sensor_EnableDevice=function(T,S){J.Exec("CIM_Sensor","EnableDevice",{Enabled:T},S)};J.CIM_Sensor_OnlineDevice=function(T,S){J.Exec("CIM_Sensor","OnlineDevice",{Online:T},S)};J.CIM_Sensor_QuiesceDevice=function(T,S){J.Exec("CIM_Sensor","QuiesceDevice",{Quiesce:T},S)};J.CIM_Sensor_SaveProperties=function(S){J.Exec("CIM_Sensor","SaveProperties",{},S)};J.CIM_Sensor_RestoreProperties=function(S){J.Exec("CIM_Sensor","RestoreProperties",{},S)};J.CIM_Sensor_RequestStateChange=function(T,U,S){J.Exec("CIM_Sensor","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_StatisticalData_ResetSelectedStats=function(T,S){J.Exec("CIM_StatisticalData","ResetSelectedStats",{SelectedStatistics:T},S)};J.CIM_Watchdog_KeepAlive=function(S){J.Exec("CIM_Watchdog","KeepAlive",{},S)};J.CIM_Watchdog_SetPowerState=function(T,U,S){J.Exec("CIM_Watchdog","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_Watchdog_Reset=function(S){J.Exec("CIM_Watchdog","Reset",{},S)};J.CIM_Watchdog_EnableDevice=function(T,S){J.Exec("CIM_Watchdog","EnableDevice",{Enabled:T},S)};J.CIM_Watchdog_OnlineDevice=function(T,S){J.Exec("CIM_Watchdog","OnlineDevice",{Online:T},S)};J.CIM_Watchdog_QuiesceDevice=function(T,S){J.Exec("CIM_Watchdog","QuiesceDevice",{Quiesce:T},S)};J.CIM_Watchdog_SaveProperties=function(S){J.Exec("CIM_Watchdog","SaveProperties",{},S)};J.CIM_Watchdog_RestoreProperties=function(S){J.Exec("CIM_Watchdog","RestoreProperties",{},S)};J.CIM_Watchdog_RequestStateChange=function(T,U,S){J.Exec("CIM_Watchdog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_WiFiPort_SetPowerState=function(T,U,S){J.Exec("CIM_WiFiPort","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_WiFiPort_Reset=function(S){J.Exec("CIM_WiFiPort","Reset",{},S)};J.CIM_WiFiPort_EnableDevice=function(T,S){J.Exec("CIM_WiFiPort","EnableDevice",{Enabled:T},S)};J.CIM_WiFiPort_OnlineDevice=function(T,S){J.Exec("CIM_WiFiPort","OnlineDevice",{Online:T},S)};J.CIM_WiFiPort_QuiesceDevice=function(T,S){J.Exec("CIM_WiFiPort","QuiesceDevice",{Quiesce:T},S)};J.CIM_WiFiPort_SaveProperties=function(S){J.Exec("CIM_WiFiPort","SaveProperties",{},S)};J.CIM_WiFiPort_RestoreProperties=function(S){J.Exec("CIM_WiFiPort","RestoreProperties",{},S)};J.CIM_WiFiPort_RequestStateChange=function(T,U,S){J.Exec("CIM_WiFiPort","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.IPS_HostBasedSetupService_Setup=function(W,X,V,T,Y,U,S){J.Exec("IPS_HostBasedSetupService","Setup",{NetAdminPassEncryptionType:W,NetworkAdminPassword:X,McNonce:V,Certificate:T,SigningAlgorithm:Y,DigitalSignature:U},S)};J.IPS_HostBasedSetupService_AddNextCertInChain=function(V,T,U,S){J.Exec("IPS_HostBasedSetupService","AddNextCertInChain",{NextCertificate:V,IsLeafCertificate:T,IsRootCertificate:U},S)};J.IPS_HostBasedSetupService_AdminSetup=function(V,W,U,X,T,S){J.Exec("IPS_HostBasedSetupService","AdminSetup",{NetAdminPassEncryptionType:V,NetworkAdminPassword:W,McNonce:U,SigningAlgorithm:X,DigitalSignature:T},S)};J.IPS_HostBasedSetupService_UpgradeClientToAdmin=function(U,V,T,S){J.Exec("IPS_HostBasedSetupService","UpgradeClientToAdmin",{McNonce:U,SigningAlgorithm:V,DigitalSignature:T},S)};J.IPS_HostBasedSetupService_DisableClientControlMode=function(S,T){J.Exec("IPS_HostBasedSetupService","DisableClientControlMode",{_method_dummy:S},T)};J.IPS_KVMRedirectionSettingData_TerminateSession=function(S){J.Exec("IPS_KVMRedirectionSettingData","TerminateSession",{},S)};J.IPS_KVMRedirectionSettingData_DataChannelRead=function(S){J.Exec("IPS_KVMRedirectionSettingData","DataChannelRead",{},S)};J.IPS_KVMRedirectionSettingData_DataChannelWrite=function(T,S){J.Exec("IPS_KVMRedirectionSettingData","DataChannelWrite",{DataMessage:T},S)};J.IPS_OptInService_StartOptIn=function(S){J.Exec("IPS_OptInService","StartOptIn",{},S)};J.IPS_OptInService_CancelOptIn=function(S){J.Exec("IPS_OptInService","CancelOptIn",{},S)};J.IPS_OptInService_SendOptInCode=function(T,S){J.Exec("IPS_OptInService","SendOptInCode",{OptInCode:T},S)};J.IPS_OptInService_StartService=function(S){J.Exec("IPS_OptInService","StartService",{},S)};J.IPS_OptInService_StopService=function(S){J.Exec("IPS_OptInService","StopService",{},S)};J.IPS_OptInService_RequestStateChange=function(T,U,S){J.Exec("IPS_OptInService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.IPS_ProvisioningRecordLog_RequestStateChange=function(T,U,S){J.Exec("IPS_ProvisioningRecordLog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.IPS_ProvisioningRecordLog_ClearLog=function(S,T){J.Exec("IPS_ProvisioningRecordLog","ClearLog",{_method_dummy:S},T)};J.IPS_SecIOService_RequestStateChange=function(T,U,S){J.Exec("IPS_SecIOService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AmtStatusToStr=function(S){if(J.AmtStatusCodes[S]){return J.AmtStatusCodes[S]}else{return"UNKNOWN_ERROR"}};J.AmtStatusCodes={0:"SUCCESS",1:"INTERNAL_ERROR",2:"NOT_READY",3:"INVALID_PT_MODE",4:"INVALID_MESSAGE_LENGTH",5:"TABLE_FINGERPRINT_NOT_AVAILABLE",6:"INTEGRITY_CHECK_FAILED",7:"UNSUPPORTED_ISVS_VERSION",8:"APPLICATION_NOT_REGISTERED",9:"INVALID_REGISTRATION_DATA",10:"APPLICATION_DOES_NOT_EXIST",11:"NOT_ENOUGH_STORAGE",12:"INVALID_NAME",13:"BLOCK_DOES_NOT_EXIST",14:"INVALID_BYTE_OFFSET",15:"INVALID_BYTE_COUNT",16:"NOT_PERMITTED",17:"NOT_OWNER",18:"BLOCK_LOCKED_BY_OTHER",19:"BLOCK_NOT_LOCKED",20:"INVALID_GROUP_PERMISSIONS",21:"GROUP_DOES_NOT_EXIST",22:"INVALID_MEMBER_COUNT",23:"MAX_LIMIT_REACHED",24:"INVALID_AUTH_TYPE",25:"AUTHENTICATION_FAILED",26:"INVALID_DHCP_MODE",27:"INVALID_IP_ADDRESS",28:"INVALID_DOMAIN_NAME",29:"UNSUPPORTED_VERSION",30:"REQUEST_UNEXPECTED",31:"INVALID_TABLE_TYPE",32:"INVALID_PROVISIONING_STATE",33:"UNSUPPORTED_OBJECT",34:"INVALID_TIME",35:"INVALID_INDEX",36:"INVALID_PARAMETER",37:"INVALID_NETMASK",38:"FLASH_WRITE_LIMIT_EXCEEDED",39:"INVALID_IMAGE_LENGTH",40:"INVALID_IMAGE_SIGNATURE",41:"PROPOSE_ANOTHER_VERSION",42:"INVALID_PID_FORMAT",43:"INVALID_PPS_FORMAT",44:"BIST_COMMAND_BLOCKED",45:"CONNECTION_FAILED",46:"CONNECTION_TOO_MANY",47:"RNG_GENERATION_IN_PROGRESS",48:"RNG_NOT_READY",49:"CERTIFICATE_NOT_READY",1024:"DISABLED_BY_POLICY",2048:"NETWORK_IF_ERROR_BASE",2049:"UNSUPPORTED_OEM_NUMBER",2050:"UNSUPPORTED_BOOT_OPTION",2051:"INVALID_COMMAND",2052:"INVALID_SPECIAL_COMMAND",2053:"INVALID_HANDLE",2054:"INVALID_PASSWORD",2055:"INVALID_REALM",2056:"STORAGE_ACL_ENTRY_IN_USE",2057:"DATA_MISSING",2058:"DUPLICATE",2059:"EVENTLOG_FROZEN",2060:"PKI_MISSING_KEYS",2061:"PKI_GENERATING_KEYS",2062:"INVALID_KEY",2063:"INVALID_CERT",2064:"CERT_KEY_NOT_MATCH",2065:"MAX_KERB_DOMAIN_REACHED",2066:"UNSUPPORTED",2067:"INVALID_PRIORITY",2068:"NOT_FOUND",2069:"INVALID_CREDENTIALS",2070:"INVALID_PASSPHRASE",2072:"NO_ASSOCIATION",2075:"AUDIT_FAIL",2076:"BLOCKING_COMPONENT",2081:"USER_CONSENT_REQUIRED",4096:"APP_INTERNAL_ERROR",4097:"NOT_INITIALIZED",4098:"LIB_VERSION_UNSUPPORTED",4099:"INVALID_PARAM",4100:"RESOURCES",4101:"HARDWARE_ACCESS_ERROR",4102:"REQUESTOR_NOT_REGISTERED",4103:"NETWORK_ERROR",4104:"PARAM_BUFFER_TOO_SHORT",4105:"COM_NOT_INITIALIZED_IN_THREAD",4106:"URL_REQUIRED"};J.GetMessageLog=function(S,T){J.AMT_MessageLog_PositionToFirstRecord(k,[S,T,[]])};function k(U,S,T,V,W){if(V!=200||T.Body.ReturnValue!="0"){W[0](J,null,W[2],V);return}J.AMT_MessageLog_GetRecords(T.Body.IterationIdentifier,390,l,W)}function l(Z,W,Y,aa,ac){if(aa!=200||Y.Body.ReturnValue!="0"){ac[0](J,null,ac[2],aa);return}var U,V,ae,T,S=ac[2],ab=new Date(),ad,X=Y.Body.RecordArray;if(typeof X==="string"){Y.Body.RecordArray=[Y.Body.RecordArray]}for(U in X){T=Buffer.from(X[U],"base64");if(T!=null){ad=M(T,0);if((ad>0)&&(ad<4294967295)){ae={DeviceAddress:T[4],EventSensorType:T[5],EventType:T[6],EventOffset:T[7],EventSourceType:T[8],EventSeverity:T[9],SensorNumber:T[10],Entity:T[11],EntityInstance:T[12],EventData:[],Time:new Date((ad+(ab.getTimezoneOffset()*60))*1000)};for(V=13;V<21;V++){ae.EventData.push(T[V])}ae.EntityStr=o[ae.Entity];ae.Desc=j(ae.EventSensorType,ae.EventOffset,ae.EventData,ae.Entity);if(!ae.EntityStr){ae.EntityStr="Unknown"}S.push(ae)}}}if(Y.Body.NoMoreRecords!=true){J.AMT_MessageLog_GetRecords(Y.Body.IterationIdentifier,390,l,[ac[0],S,ac[2]])}else{ac[0](J,S,ac[2])}}var f="Platform firmware (e.g. BIOS)|SMI handler|ISV system management software|Alert ASIC|IPMI|BIOS vendor|System board set vendor|System integrator|Third party add-in|OSV|NIC|System management card".split("|");var p="Unspecified.|No system memory is physically installed in the system.|No usable system memory, all installed memory has experienced an unrecoverable failure.|Unrecoverable hard-disk/ATAPI/IDE device failure.|Unrecoverable system-board failure.|Unrecoverable diskette subsystem failure.|Unrecoverable hard-disk controller failure.|Unrecoverable PS/2 or USB keyboard failure.|Removable boot media not found.|Unrecoverable video controller failure.|No video device detected.|Firmware (BIOS) ROM corruption detected.|CPU voltage mismatch (processors that share same supply have mismatched voltage requirements)|CPU speed matching failure".split("|");var q="Unspecified.|Memory initialization.|Starting hard-disk initialization and test|Secondary processor(s) initialization|User authentication|User-initiated system setup|USB resource configuration|PCI resource configuration|Option ROM initialization|Video initialization|Cache initialization|SM Bus initialization|Keyboard controller initialization|Embedded controller/management controller initialization|Docking station attachment|Enabling docking station|Docking station ejection|Disabling docking station|Calling operating system wake-up vector|Starting operating system boot process|Baseboard or motherboard initialization|reserved|Floppy initialization|Keyboard test|Pointing device test|Primary processor initialization".split("|");var o="Unspecified|Other|Unknown|Processor|Disk|Peripheral|System management module|System board|Memory module|Processor module|Power supply|Add in card|Front panel board|Back panel board|Power system board|Drive backplane|System internal expansion board|Other system board|Processor board|Power unit|Power module|Power management board|Chassis back panel board|System chassis|Sub chassis|Other chassis board|Disk drive bay|Peripheral bay|Device bay|Fan cooling|Cooling unit|Cable interconnect|Memory device|System management software|BIOS|Intel(r) ME|System bus|Group|Intel(r) ME|External environment|Battery|Processing blade|Connectivity switch|Processor/memory module|I/O module|Processor I/O module|Management controller firmware|IPMI channel|PCI bus|PCI express bus|SCSI bus|SATA/SAS bus|Processor front side bus".split("|");J.RealmNames="||Redirection|PT Administration|Hardware Asset|Remote Control|Storage|Event Manager|Storage Admin|Agent Presence Local|Agent Presence Remote|Circuit Breaker|Network Time|General Information|Firmware Update|EIT|LocalUN|Endpoint Access Control|Endpoint Access Control Admin|Event Log Reader|Audit Log|ACL Realm|||Local System".split("|");J.WatchdogCurrentStates={1:"Not Started",2:"Stopped",4:"Running",8:"Expired",16:"Suspended"};function j(V,U,T,S){if(V==15){if(T[0]==235){return"Invalid Data"}if(U==0){return p[T[1]]}return q[T[1]]}if(V==18&&T[0]==170){return"Agent watchdog "+char2hex(T[4])+char2hex(T[3])+char2hex(T[2])+char2hex(T[1])+"-"+char2hex(T[6])+char2hex(T[5])+"-... changed to "+J.WatchdogCurrentStates[T[7]]}if(V==6){return"Authentication failed "+(T[1]+(T[2]<<8))+" times. The system may be under attack."}if(V==30){return"No bootable media"}if(V==32){return"Operating system lockup or power interrupt"}if(V==35){return"System boot failure"}if(V==37){return"System firmware started (at least one CPU is properly executing)."}return"Unknown Sensor Type #"+V}var a={16:"Security Admin",17:"RCO",18:"Redirection Manager",19:"Firmware Update Manager",20:"Security Audit Log",21:"Network Time",22:"Network Administration",23:"Storage Administration",24:"Event Manager",25:"Circuit Breaker Manager",26:"Agent Presence Manager",27:"Wireless Configuration",28:"EAC",29:"KVM",30:"User Opt-In Events",32:"Screen Blanking",33:"Watchdog Events",1600:"Provisioning Started",1601:"Provisioning Completed",1602:"ACL Entry Added",1603:"ACL Entry Modified",1604:"ACL Entry Removed",1605:"ACL Access with Invalid Credentials",1606:"ACL Entry State",1607:"TLS State Changed",1608:"TLS Server Certificate Set",1609:"TLS Server Certificate Remove",1610:"TLS Trusted Root Certificate Added",1611:"TLS Trusted Root Certificate Removed",1612:"TLS Preshared Key Set",1613:"Kerberos Settings Modified",1614:"Kerberos Master Key Modified",1615:"Flash Wear out Counters Reset",1616:"Power Package Modified",1617:"Set Realm Authentication Mode",1618:"Upgrade Client to Admin Control Mode",1619:"Unprovisioning Started",1700:"Performed Power Up",1701:"Performed Power Down",1702:"Performed Power Cycle",1703:"Performed Reset",1704:"Set Boot Options",1800:"IDER Session Opened",1801:"IDER Session Closed",1802:"IDER Enabled",1803:"IDER Disabled",1804:"SoL Session Opened",1805:"SoL Session Closed",1806:"SoL Enabled",1807:"SoL Disabled",1808:"KVM Session Started",1809:"KVM Session Ended",1810:"KVM Enabled",1811:"KVM Disabled",1812:"VNC Password Failed 3 Times",1900:"Firmware Updated",1901:"Firmware Update Failed",2000:"Security Audit Log Cleared",2001:"Security Audit Policy Modified",2002:"Security Audit Log Disabled",2003:"Security Audit Log Enabled",2004:"Security Audit Log Exported",2005:"Security Audit Log Recovered",2100:"Intel(R) ME Time Set",2200:"TCPIP Parameters Set",2201:"Host Name Set",2202:"Domain Name Set",2203:"VLAN Parameters Set",2204:"Link Policy Set",2205:"IPv6 Parameters Set",2300:"Global Storage Attributes Set",2301:"Storage EACL Modified",2302:"Storage FPACL Modified",2303:"Storage Write Operation",2400:"Alert Subscribed",2401:"Alert Unsubscribed",2402:"Event Log Cleared",2403:"Event Log Frozen",2500:"CB Filter Added",2501:"CB Filter Removed",2502:"CB Policy Added",2503:"CB Policy Removed",2504:"CB Default Policy Set",2505:"CB Heuristics Option Set",2506:"CB Heuristics State Cleared",2600:"Agent Watchdog Added",2601:"Agent Watchdog Removed",2602:"Agent Watchdog Action Set",2700:"Wireless Profile Added",2701:"Wireless Profile Removed",2702:"Wireless Profile Updated",2800:"EAC Posture Signer SET",2801:"EAC Enabled",2802:"EAC Disabled",2803:"EAC Posture State",2804:"EAC Set Options",2900:"KVM Opt-in Enabled",2901:"KVM Opt-in Disabled",2902:"KVM Password Changed",2903:"KVM Consent Succeeded",2904:"KVM Consent Failed",3000:"Opt-In Policy Change",3001:"Send Consent Code Event",3002:"Start Opt-In Blocked Event"};J.GetAuditLogExtendedDataStr=function(T,S){if((T==1602||T==1604)&&S[0]==0){return w(S).splice(2,2+S[1]).toString()}if(T==1603){if(S[1]==0){return w(S).splice(3).toString()}return null}if(T==1605){return["Invalid ME access","Invalid MEBx access"][S[0]]}if(T==1606){var U=["Disabled","Enabled"][S[0]];if(S[1]==0){U+=", "+S[3]}return U}if(T==1607){return"Remote "+["NoAuth","ServerAuth","MutualAuth"][S[0]]+", Local "+["NoAuth","ServerAuth","MutualAuth"][S[1]]}if(T==1617){return J.RealmNames[L(S,0)]+", "+["NoAuth","Auth","Disabled"][S[4]]}if(T==1619){return["BIOS","MEBx","Local MEI","Local WSMAN","Remote WSAMN"][S[0]]}if(T==1900){return"From "+N(S,0)+"."+N(S,2)+"."+N(S,4)+"."+N(S,6)+" to "+N(S,8)+"."+N(S,10)+"."+N(S,12)+"."+N(S,14)}if(T==2100){var V=new Date();V.setTime(L(S,0)*1000+(new Date().getTimezoneOffset()*60000));return V.toLocaleString()}if(T==3000){return"From "+["None","KVM","All"][S[0]]+" to "+["None","KVM","All"][S[1]]}if(T==3001){return["Success","Failed 3 times"][S[0]]}return null};J.GetAuditLog=function(S){J.AMT_AuditLog_ReadRecords(1,i,[S,[]])};function I(S){if(!S||S==null||typeof S=="object"){return S}return[S]}function N(T,S){return(T[S]<<8)+T[S+1]}function L(T,S){return(T[S]*16777216)+(T[S+1]<<16)+(T[S+2]<<8)+T[S+3]}function M(T,S){return(T[S+3]*16777216)+(T[S+2]<<16)+(T[S+1]<<8)+T[S]}function v(S){return Buffer.from(S).toString("base64")}function u(T){var U=null;try{U=Buffer.from(T,"base64").toString()}catch(S){console.log(S)}return U}function w(S){var U=[];for(var T in S){U.push(S[T])}return U}function i(ab,W,aa,ac,ae){if(ac!=200){ae[0](J,[],ac);return}var Y,V,S,ah,Z=ae[1],ad=new Date(),af;if(aa.Body.RecordsReturned>0){aa.Body.EventRecords=I(aa.Body.EventRecords);for(V in aa.Body.EventRecords){S=null;try{S=Buffer.from(aa.Body.EventRecords[V],"base64")}catch(T){console.log(T+" "+aa.Body.EventRecords[V])}ah={AuditAppID:N(S,0),EventID:N(S,2),InitiatorType:S[4]};ah.AuditApp=a[ah.AuditAppID];ah.Event=a[(ah.AuditAppID*100)+ah.EventID];if(!ah.Event){ah.Event="#"+ah.EventID}if(ah.InitiatorType==0){var ag=S[5];ah.Initiator=S.slice(6,6+ag).toString();Y=6+ag}if(ah.InitiatorType==1){ah.KerberosUserInDomain=L(S,5);var ag=S[9];ah.Initiator=G(S.slice(10,10+ag));Y=10+ag}if(ah.InitiatorType==2){ah.Initiator="Local";Y=5}if(ah.InitiatorType==3){ah.Initiator="KVM Default Port";Y=5}af=L(S,Y);ah.Time=new Date((af+(ad.getTimezoneOffset()*60))*1000);Y+=4;ah.MCLocationType=S[Y++];var X=S[Y++];ah.NetAddress=S.slice(Y,Y+X).toString();Y+=X;var U=S[Y++];ah.Ex=S.slice(Y,Y+U);ah.ExStr=J.GetAuditLogExtendedDataStr((ah.AuditAppID*100)+ah.EventID,ah.Ex);Z.push(ah)}}if(aa.Body.TotalRecordCount>Z.length){J.AMT_AuditLog_ReadRecords(Z.length+1,i,[ae[0],Z])}else{ae[0](J,Z,ac)}}function C(U){if(U===undefined||U===null){return null}var V="";for(var T in U){var S=U[T];if(!S){continue}if(S.__parameterType==="reference"){V+=O(T,S)}else{V+=H(T,S)}}return V}function H(V,U){if(U===undefined||U===null){return null}var T=!!U.__namespace;var Z=T?"";for(var X in U){if(!U.hasOwnProperty(X)||X.indexOf("__")===0){continue}if(typeof U[X]==="function"||Array.isArray(U[X])){continue}if(typeof U[X]==="object"){console.error("only convert one level down...")}else{Y+=Z+X+">"+U[X].toString()+S+X+">"}}Y+="";return Y}function O(T,S){if(S===undefined||S===null){return null}var U="/wsman"+S.__resourceUri+"";for(var V in S){if(!S.hasOwnProperty(V)||V.indexOf("__")===0){continue}if(typeof S[V]==="function"||typeof S[V]==="object"||Array.isArray(S[V])){continue}U+=''+S[V].toString()+""}U+="";return U}function G(U){var T="S-"+U.charCodeAt(0)+"-"+U.charCodeAt(7);for(var S=2;S<(U.length/4);S++){T+="-"+M(U,S*4)}return T}function F(V){if(!V||V==null){return null}var U=V.split("-");if(U.length<4||(U[0]!="s"&&U[0]!="S")){return null}for(var S=1;S>24)&255,(J>>16)&255,(J>>8)&255,J&255)}function m(J){var L="",K=(""+J).match(/../g),M;while(M=K.shift()){L+=String.fromCharCode("0x"+M)}return L}function h(J){return(J+256).toString(16).substr(-2).toUpperCase()}function w(K){var L="",J;for(J=0;J0){o.forwardClient.tag.accumulator=o.forwardClient.tag.accumulator.slice(O)}if(o.cirastate==i.FAILED){k("APF: in a failed state, destroying socket.");o.forwardClient.ws.end()}}while(O>0)}catch(N){k(N)}});o.forwardClient.ws.on("error",function(M){k("APF: Connection error, ending connecting.");if(o.timer!=null){clearInterval(o.timer);o.timer=null}});o.state=i.INITIAL;F(o.forwardClient.ws,o.args.clientuuid);G(o.forwardClient.ws,"auth@amt.intel.com")};function l(J){return J.substring(6,8)+J.substring(4,6)+J.substring(2,4)+J.substring(0,2)+"-"+J.substring(10,12)+J.substring(8,10)+"-"+J.substring(14,16)+J.substring(12,14)+"-"+J.substring(16,20)+"-"+J.substring(20)}function I(K){K=K.replace(/-/g,"");var J=K.substring(6,8)+K.substring(4,6)+K.substring(2,4)+K.substring(0,2);J+=K.substring(10,12)+K.substring(8,10)+K.substring(14,16)+K.substring(12,14)+K.substring(16,20)+K.substring(20);return J}function f(K){var L="";for(var J=0;J=i.AUTH_SERVICE_REQUEST_SENT){H(U.ws,o.args.mpsuser,o.args.mpspass)}}else{if(S=="pfwd@amt.intel.com"){if(o.cirastate>=i.PFWD_SERVICE_REQUEST_SENT){C(U.ws,o.args.clientname,s[o.pfwd_idx++])}}}return 5+T;case d.REQUEST_SUCCESS:if(O>=5){var Q=u(M,1);k("APF: Request to port forward "+Q+" successful.");if(o.pfwd_idx=0){o.downlinks[P.sender_chan]=o.net.createConnection({host:o.args.clientaddress,port:P.target_port},function(){z(U.ws,P)});o.downlinks[P.sender_chan].on("data",function(V){y(U.ws,P.sender_chan,V.length,V)});o.downlinks[P.sender_chan].on("error",function(V){k("Downlink connection error: "+V)});o.downlinks[P.sender_chan].on("end",function(){if(o.downlinks[P.sender_chan]){try{k("Socket ends.");x(U.ws,P.sender_chan);setTimeout(function(){delete o.downlinks[P.sender_chan]},100)}catch(V){k("Downlink connection exception: "+V)}}})}else{A(U.ws,P)}return P.len;case d.CHANNEL_OPEN_CONFIRMATION:k("APF: CHANNEL_OPEN_CONFIRMATION");return 17;case d.CHANNEL_CLOSE:var R=u(M,1);k("APF: CHANNEL_CLOSE: "+R);x(U.ws,R);try{o.downlinks[R].end();delete o.downlinks[R]}catch(N){}return 5;case d.CHANNEL_DATA:k("APF: CHANNEL_DATA: "+JSON.stringify(w(M)));var R=u(M,1);var K=u(M,5);var J=M.substring(9,9+K);if(o.downlinks[R]){try{o.downlinks[R].write(J,"binary",function(){k("Write completed.");B(U.ws,R,K)})}catch(N){k("Cannot forward data to downlink socket.")}}return 9+K;case d.CHANNEL_WINDOW_ADJUST:k("APF: CHANNEL_WINDOW_ADJUST ");return 9;default:k("CMD: "+L+" is not implemented.");o.cirastate=i.FAILED;return 0}}function r(L){var N={len:0,cmd:d.CHANNEL_OPEN,chan_type:"",sender_chan:0,window_size:0,target_address:"",target_port:0,origin_address:"",origin_port:0,};var K=u(L,1);N.chan_type=L.substring(5,5+K);N.sender_chan=u(L,5+K);N.window_size=u(L,9+K);var J=u(L,17+K);N.target_address=L.substring(21+K,21+K+J);N.target_port=u(L,21+K+J);var M=u(L,25+K+J);N.origin_address=L.substring(29+K+J,29+K+J+M);N.origin_port=u(L,29+K+J+M);N.len=33+K+J+M;return N}function A(L,J){var K=String.fromCharCode(d.CHANNEL_OPEN_FAILURE)+n(J.sender_chan)+n(2)+n(0)+n(0);L.write(K);k("APF: Send ChannelOpenFailure")}function z(L,J){var K=String.fromCharCode(d.CHANNEL_OPEN_CONFIRMATION)+n(J.sender_chan)+n(J.sender_chan)+n(J.window_size)+n(4294967295);L.write(K);k("APF: Send ChannelOpenConfirmation")}function B(M,J,L){var K=String.fromCharCode(d.CHANNEL_WINDOW_ADJUST)+n(J)+n(L);M.write(K);k("APF: Send ChannelWindowAdjust: "+w(K))}function y(N,K,M,L){var J=String.fromCharCode(d.CHANNEL_DATA)+n(K)+n(M)+L;N.write(J);k("APF: Send ChannelData: "+w(J))}function x(L,K){var J=String.fromCharCode(d.CHANNEL_CLOSE)+n(K);L.write(J);k("APF: Send ChannelClose ")}o.connect=function(){if(o.forwardClient!=null){try{o.forwardClient.ws.end()}catch(J){k(J)}}o.cirastate=i.INITIAL;o.pfwd_idx=0;var K=o.http.parseUri(o.args.mpsurl);K.rejectUnauthorized=0;o.forwardClient=o.http.request(K);o.forwardClient.upgrade=o.onSecureConnect;o.forwardClient.end()};o.disconnect=function(){try{o.forwardClient.ws.end()}catch(J){k(J)}};return o}module.exports=CreateAPFClient; \ No newline at end of file diff --git a/agents/modules_meshcore_min/identifiers.min.js b/agents/modules_meshcore_min/identifiers.min.js deleted file mode 100644 index b2f733af..00000000 --- a/agents/modules_meshcore_min/identifiers.min.js +++ /dev/null @@ -1 +0,0 @@ -function trimIdentifiers(b){for(var a in b){if(!b[a]||b[a]=="None"||b[a]==""){delete b[a]}}}function linux_identifiers(){var c={};var d={};var e={};if(!require("fs").existsSync("/sys/class/dmi/id")){throw ("this platform does not have DMI statistics")}var a=require("fs").readdirSync("/sys/class/dmi/id");for(var b in a){if(require("fs").statSync("/sys/class/dmi/id/"+a[b]).isFile()){d[a[b]]=require("fs").readFileSync("/sys/class/dmi/id/"+a[b]).toString().trim();if(d[a[b]]=="None"){delete d[a[b]]}}}c.bios_date=d.bios_date;c.bios_vendor=d.bios_vendor;c.bios_version=d.bios_version;c.board_name=d.board_name;c.board_serial=d.board_serial;c.board_vendor=d.board_vendor;c.board_version=d.board_version;c.product_uuid=d.product_uuid;e.identifiers=c;e.linux=d;trimIdentifiers(e.identifiers);return(e)}function windows_wmic_results(h){var e=h.trim().split("\r\n");var c=e[0].split(",");var a,b,d;var j;var g=[];for(a=1;a0?this[this.length-1]:undefined)}})}catch(e){}try{Object.defineProperty(String.prototype,"replaceAll",{value:function replaceAll(b,a){return(this.split(b).join(a))}})}catch(e){}var RSMB=1381190978;var memoryLocation={1:"Other",2:"Unknown",3:"System Board",4:"ISA",5:"EISA",6:"PCI",7:"MCA",8:"PCMCIA",9:"Proprietary",10:"NuBus",160:"PC-98/C20",161:"PC-98/C24",162:"PC-98/E",163:"PC-98/LB"};var wakeReason=["Reserved","Other","Unknown","APM Timer","Modem Ring","LAN","Power Switch","PCI","AC Power"];function zeroLeftPad(c,b){if((b==null)&&(typeof(b)!="number")){return null}if(c==null){c=""}var d="";for(var a=0;a1){var r=v[1].split("\x0A\x0A")[0].split("\x0A");var s=[];for(var t in r){var u=r[t].trim().replaceAll(" ","").replaceAll("\x09","");if(!(u[0]=='"')){s.push(u)}}p.write(Buffer.from(s.join(""),"hex"));p.write(Buffer.from("00","hex"))}else{p.write(Buffer.from("0000","hex"))}}var q=p.buffer;q.ms=p;return(q)}}this._parse=function b(o){var n={};var m;var l=0;var o;var s=0;while(o&&l0){var n=l[4].pop();var o=n[20]&64;var s=n[20]&7;if(o){var m={_ObjectID:"SMBiosTables.processorInfo"};m.Processor=q[n[1]];m.MaxSpeed=n.readUInt16LE(16)+" Mhz";if(n[31]){m.Cores=n[31]}if(n[33]){m.Threads=n[33]}m.Populated=1;m.Status=t[s];m.Socket=n._strings[n[0]-1];m.Manufacturer=n._strings[n[3]-1];m.Version=n._strings[n[12]-1];r.push(m)}}return(r)};this.memoryInfo=function f(k){if(!k){throw ("no data")}var n={_ObjectID:"SMBiosTables.memoryInfo"};if(k[16]){var l=k[16].peek();n.location=memoryLocation[l[0]];if((n.maxCapacityKb=l.readUInt32LE(3))==2147483648){n.maxCapacityKb="A really big number"}}return(n)};this.systemInfo=function i(k){if(!k){throw ("no data")}var l={_ObjectID:"SMBiosTables.systemInfo"};if(k[1]){var m=k[1].peek();var n=m.slice(4,20);l.uuid=[zeroLeftPad(n.readUInt32LE(0).toString(16),8),zeroLeftPad(n.readUInt16LE(4).toString(16),4),zeroLeftPad(n.readUInt16LE(6).toString(16),4),zeroLeftPad(n.readUInt16BE(8).toString(16),4),zeroLeftPad(n.slice(10).toString("hex").toLowerCase(),12)].join("-");l.wakeReason=wakeReason[m[20]]}return(l)};this.systemSlots=function j(k){if(!k){throw ("no data")}var l=[];if(k[9]){while(k[9].length>0){var m=k[9].pop();l.push({name:m._strings[m[0]-1]})}}return(l)};this.amtInfo=function c(l){if(!l){throw ("no data")}var n={AMT:false};if(l[130]&&l[130].peek().slice(0,4).toString()=="$AMT"){var k=l[130].peek();n.AMT=k[4]?true:false;if(n.AMT){n.enabled=k[5]?true:false;n.storageRedirection=k[6]?true:false;n.serialOverLan=k[7]?true:false;n.kvm=k[14]?true:false;if(l[131].peek()&&l[131].peek().slice(52,56).toString()=="vPro"){var o=l[131].peek();if(o[0]&4){n.TXT=(o[0]&8)?true:false}if(o[0]&16){n.VMX=(o[0]&32)?true:false}n.MEBX=o.readUInt16LE(4).toString()+"."+o.readUInt16LE(6).toString()+"."+o.readUInt16LE(8).toString()+"."+o.readUInt16LE(10).toString();var m=o.slice(20,32);n.ManagementEngine=m.readUInt16LE(6).toString()+"."+m.readUInt16LE(4).toString()+"."+m.readUInt16LE(10).toString()+"."+m.readUInt16LE(8).toString()}}}return(n)};this.smTableTypes={0:"BIOS information",1:"System information",2:"Baseboard (or Module) information",4:"Processor information",5:"memory controller information",6:"Memory module information",7:"Cache information",8:"Port connector information",9:"System slots",10:"On board devices information",11:"OEM strings",12:"System configuration options",13:"BIOS language information",14:"Group associations",15:"System event log",16:"Physical memory array",17:"Memory device",18:"32bit memory error information",19:"Memory array mapped address",20:"Memory device mapped address",21:"Built-in pointing device",22:"Portable battery",23:"System reset",24:"Hardware security",25:"System power controls",26:"Voltage probe",27:"Cooling device",28:"Temperature probe",29:"Electrical current probe",30:"Out-of-band remote access",31:"Boot integrity services (BIS) entry point",32:"System boot information",33:"64bit memory error information",34:"Management device",35:"Management device component",36:"Management device threshold data",37:"Memory channel",38:"IPMI device information",39:"System power supply",40:"Additional information",41:"Onboard devices extended information",42:"Management controller host interface",126:"Inactive",127:"End-of-table"}}module.exports=new SMBiosTables(); \ No newline at end of file diff --git a/agents/modules_meshcore_min/sysinfo.min.js b/agents/modules_meshcore_min/sysinfo.min.js deleted file mode 100644 index 4c87bd93..00000000 --- a/agents/modules_meshcore_min/sysinfo.min.js +++ /dev/null @@ -1 +0,0 @@ -var PDH_FMT_LONG=256;var PDH_FMT_DOUBLE=512;var promise=require("promise");if(process.platform=="win32"){var GM=require("_GenericMarshal");GM.kernel32=GM.CreateNativeProxy("kernel32.dll");GM.kernel32.CreateMethod("GlobalMemoryStatusEx");GM.pdh=GM.CreateNativeProxy("pdh.dll");GM.pdh.CreateMethod("PdhAddEnglishCounterA");GM.pdh.CreateMethod("PdhCloseQuery");GM.pdh.CreateMethod("PdhCollectQueryData");GM.pdh.CreateMethod("PdhGetFormattedCounterValue");GM.pdh.CreateMethod("PdhGetFormattedCounterArrayA");GM.pdh.CreateMethod("PdhOpenQueryA");GM.pdh.CreateMethod("PdhRemoveCounter")}function windows_cpuUtilization(){var b=new promise(function(d,c){this._res=d;this._rej=c});b.counter=GM.CreateVariable(16);b.cpu=GM.CreatePointer();b.cpuTotal=GM.CreatePointer();var a=0;if((a=GM.pdh.PdhOpenQueryA(0,0,b.cpu).Val)!=0){b._rej(a);return}if((a=GM.pdh.PdhAddEnglishCounterA(b.cpu.Deref(),GM.CreateVariable("\\Processor(*)\\% Processor Time"),0,b.cpuTotal).Val)!=0){b._rej(a);return}if((a=GM.pdh.PdhCollectQueryData(b.cpu.Deref()).Val!=0)){b._rej(a);return}b._timeout=setTimeout(function(k){var m={cpus:[]};var d=GM.CreateVariable(4);var j=GM.CreateVariable(4);var c,l,h;var f;if((f=GM.pdh.PdhCollectQueryData(k.cpu.Deref()).Val!=0)){k._rej(f);return}if((f=GM.pdh.PdhGetFormattedCounterArrayA(k.cpuTotal.Deref(),PDH_FMT_DOUBLE,d,j,0).Val)==-2147481646){c=GM.CreateVariable(d.toBuffer().readUInt32LE())}else{k._rej(f);return}if((f=GM.pdh.PdhGetFormattedCounterArrayA(k.cpuTotal.Deref(),PDH_FMT_DOUBLE,d,j,c).Val)!=0){k._rej(f);return}for(var g=0;g0){var f=c[0].split(":")[1];var a=f.split(",");var e=parseFloat(a[0].split("%")[0].trim())+parseFloat(a[1].split("%")[0].trim());d._res({total:e,cpus:[]})}else{d._rej("parse error")}return(d)}function macos_memUtilization(){var d={};var e=new promise(function(h,g){this._res=h;this._rej=g});var b=require("child_process").execFile("/bin/sh",["sh"]);b.stdout.str="";b.stdout.on("data",function(g){this.str+=g.toString()});b.stdin.write('top -l 1 | grep -E "^Phys"\nexit\n');b.waitExit();var c=b.stdout.str.split("\n");if(c[0].length>0){var f=c[0].split(":")[1];var a=f.split(",");d.MemTotal=parseInt(a[0].trim().split(" ")[0]);d.MemFree=parseInt(a[1].trim().split(" ")[0]);d.percentFree=((d.MemFree/d.MemTotal)*100);d.percentConsumed=(((d.MemTotal-d.MemFree)/d.MemTotal)*100);return(d)}else{throw ("Parse Error")}}switch(process.platform){case"linux":module.exports={cpuUtilization:linux_cpuUtilization,memUtilization:linux_memUtilization};break;case"win32":module.exports={cpuUtilization:windows_cpuUtilization,memUtilization:windows_memUtilization};break;case"darwin":module.exports={cpuUtilization:macos_cpuUtilization,memUtilization:macos_memUtilization};break}; \ No newline at end of file diff --git a/agents/modules_meshcore_min/wifi-scanner-windows.min.js b/agents/modules_meshcore_min/wifi-scanner-windows.min.js deleted file mode 100644 index 752e15ac..00000000 --- a/agents/modules_meshcore_min/wifi-scanner-windows.min.js +++ /dev/null @@ -1 +0,0 @@ -function _Scan(){var f=this.Marshal.CreatePointer();this.Native.WlanEnumInterfaces(this.Handle,0,f);var a=f.Deref().Deref(0,4).toBuffer().readUInt32LE(0);var d=f.Deref().Deref(8,532);var c=d.Deref(16,512).AnsiString;var e;switch(d.Deref(528,4).toBuffer().readUInt32LE(0)){case 0:e="NOT READY";break;case 1:e="CONNECTED";break;case 2:e="AD-HOC";break;case 3:e="DISCONNECTING";break;case 4:e="DISCONNECTED";break;case 5:e="ASSOCIATING";break;case 6:e="DISCOVERING";break;case 7:e="AUTHENTICATING";break;default:e="UNKNOWN";break}var b=d.Deref(0,16);if(this.Native.WlanScan(this.Handle,b,0,0,0).Val==0){return(true)}else{return(false)}}function AccessPoint(d,a,c,b){this.ssid=d;this.bssid=a;this.rssi=c;this.lq=b}AccessPoint.prototype.toString=function(){return(this.ssid+" ["+this.bssid+"]: "+this.lq)};function OnNotify(g){var h=g.Deref(0,4).toBuffer().readUInt32LE(0);var f=g.Deref(4,4).toBuffer().readUInt32LE(0);var c=g.Deref(8,16);if((h&8)&&(f==7)){var a=this.Parent.Marshal.CreatePointer();var k=this.Parent.Native.GetBSSList(this.Parent.Handle,c,0,3,0,0,a).Val;if(k==0){var n=a.Deref().Deref(0,4).toBuffer().readUInt32LE(0);var j=a.Deref().Deref(4,4).toBuffer().readUInt32LE(0);for(i=0;i"){g=""}}if(j.startsWith("Signal level=")){f=j.slice(13,j.length-4)}else{if(j.startsWith("Quality=")){f=j.slice(8,10);var k=j.slice(11,13)}}}this.parent.parent.emit("accessPoint",new AccessPoint(g,e,f))}})}}}}}module.exports=WiFiScanner; \ No newline at end of file diff --git a/agents/modules_meshcore_min/win-console.min.js b/agents/modules_meshcore_min/win-console.min.js deleted file mode 100644 index e2197744..00000000 --- a/agents/modules_meshcore_min/win-console.min.js +++ /dev/null @@ -1 +0,0 @@ -var TrayIconFlags={NIF_MESSAGE:1,NIF_ICON:2,NIF_TIP:4,NIF_STATE:8,NIF_INFO:16,NIF_GUID:32,NIF_REALTIME:64,NIF_SHOWTIP:128,NIM_ADD:0,NIM_MODIFY:1,NIM_DELETE:2,NIM_SETFOCUS:3,NIM_SETVERSION:4};var NOTIFYICON_VERSION_4=4;var MessageTypes={WM_APP:32768,WM_USER:1024};function WindowsConsole(){if(process.platform=="win32"){this._ObjectID="win-console";this._Marshal=require("_GenericMarshal");this._kernel32=this._Marshal.CreateNativeProxy("kernel32.dll");this._user32=this._Marshal.CreateNativeProxy("user32.dll");this._kernel32.CreateMethod("GetConsoleWindow");this._kernel32.CreateMethod("GetCurrentThread");this._user32.CreateMethod("ShowWindow");this._user32.CreateMethod("LoadImageA");this._user32.CreateMethod({method:"GetMessageA",threadDispatch:1});this._shell32=this._Marshal.CreateNativeProxy("Shell32.dll");this._shell32.CreateMethod("Shell_NotifyIconA");this._handle=this._kernel32.GetConsoleWindow();this.minimize=function(){this._user32.ShowWindow(this._handle,6)};this.restore=function(){this._user32.ShowWindow(this._handle,9)};this.hide=function(){this._user32.ShowWindow(this._handle,0)};this.show=function(){this._user32.ShowWindow(this._handle,5)};this._loadicon=function(c){var b=this._user32.LoadImageA(0,this._Marshal.CreateVariable(c),1,0,0,16|32768|64);return(b)};this.SetTrayIcon=function a(h){var b=this._Marshal.CreateVariable(this._Marshal.PointerSize==4?508:528);b.toBuffer().writeUInt32LE(b._size,0);var n=TrayIconFlags.NIF_TIP|TrayIconFlags.NIF_MESSAGE;h.filter=MessageTypes.WM_APP+1;b.Deref(this._Marshal.PointerSize==4?16:24,4).toBuffer().writeUInt32LE(h.filter);if(!h.noBalloon){n|=TrayIconFlags.NIF_INFO}if(h.icon){n|=TrayIconFlags.NIF_ICON;var c=b.Deref(this._Marshal.PointerSize==4?20:32,this._Marshal.PointerSize);h.icon.pointerBuffer().copy(c.toBuffer())}b.Deref(this._Marshal.PointerSize*2,4).toBuffer().writeUInt32LE(1);b.Deref(this._Marshal.PointerSize==4?12:20,4).toBuffer().writeUInt32LE(n);b.Deref(this._Marshal.PointerSize==4?416:432,4).toBuffer().writeUInt32LE(NOTIFYICON_VERSION_4);var m=b.Deref(this._Marshal.PointerSize==4?24:40,128);var k=b.Deref(this._Marshal.PointerSize==4?160:176,256);var l=b.Deref(this._Marshal.PointerSize==4?420:436,64);if(h.szTip){Buffer.from(h.szTip).copy(m.toBuffer())}if(h.szInfo){Buffer.from(h.szInfo).copy(k.toBuffer())}if(h.szInfoTitle){Buffer.from(h.szInfoTitle).copy(l.toBuffer())}var d=require("win-message-pump");retVal={_ObjectID:"WindowsConsole.TrayIcon",MessagePump:new d(h)};var j=require("events").inherits(retVal);j.createEvent("ToastClicked");j.createEvent("IconHover");j.createEvent("ToastDismissed");retVal.Options=h;retVal.MessagePump.TrayIcon=retVal;retVal.MessagePump.NotifyData=b;retVal.MessagePump.WindowsConsole=this;retVal.MessagePump.on("exit",function e(o){console.log("Pump Exited");if(this.TrayIcon){this.TrayIcon.remove()}});retVal.MessagePump.on("hwnd",function f(o){h.hwnd=o;o.pointerBuffer().copy(this.NotifyData.Deref(this.WindowsConsole._Marshal.PointerSize,this.WindowsConsole._Marshal.PointerSize).toBuffer());if(this.WindowsConsole._shell32.Shell_NotifyIconA(TrayIconFlags.NIM_ADD,this.NotifyData).Val==0){}});retVal.MessagePump.on("message",function g(p){if(p.message==this.TrayIcon.Options.filter){var o=false;if(p.wparam==1&&p.lparam==1029){this.TrayIcon.emit("ToastClicked");o=true}if(p.wparam==1&&p.lparam==512){this.TrayIcon.emit("IconHover");o=true}if(this.TrayIcon.Options.balloonOnly&&p.wparam==1&&(p.lparam==1028||p.lparam==1029)){this.TrayIcon.emit("ToastDismissed");this.TrayIcon.remove();o=true}}});retVal.remove=function i(){this.MessagePump.WindowsConsole._shell32.Shell_NotifyIconA(TrayIconFlags.NIM_DELETE,this.MessagePump.NotifyData);this.MessagePump.stop();delete this.MessagePump.TrayIcon;delete this.MessagePump};return(retVal)}}}module.exports=new WindowsConsole(); \ No newline at end of file diff --git a/agents/modules_meshcore_min/win-info.min.js b/agents/modules_meshcore_min/win-info.min.js deleted file mode 100644 index ef3c8e5f..00000000 --- a/agents/modules_meshcore_min/win-info.min.js +++ /dev/null @@ -1 +0,0 @@ -var promise=require("promise");function qfe(){var a=require("child_process").execFile(process.env.windir+"\\System32\\wbem\\wmic.exe",["wmic","qfe","list","full","/FORMAT:CSV"]);a.stdout.str="";a.stdout.on("data",function(i){this.str+=i.toString()});a.stderr.str="";a.stderr.on("data",function(i){this.str+=i.toString()});a.waitExit();var e=a.stdout.str.trim().split("\r\n");var d=e[0].split(",");var b,c;var h;var g=[];for(b=1;b0){n=this.chunk.shift();this.terminal._WriteBuffer(n);n.flush()}})}else{this.terminal._WriteBuffer(l);m()}return(true)},"final":function(l){var m=this.terminal._stop();m.__flush=l;m.then(function(){this.__flush()})}});this._stream.terminal=this;this._stream._promise=new promise(function(m,l){this._res=m;this._rej=l});this._stream._promise.terminal=this;this._stream.prependOnceListener("end",function(){this.terminal._stream=null});return(this._stream)};this.Start=function d(h,g){return(this.StartEx(h,g,process.env.windir+"\\System32\\cmd.exe"))};this.StartPowerShell=function f(h,g){if(require("os").arch()=="x64"){return(this.StartEx(h,g,process.env.windir+"\\SysWow64\\WindowsPowerShell\\v1.0\\powershell.exe"))}else{return(this.StartEx(h,g,process.env.windir+"\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"))}};this._stop=function(){if(this.stopping){return(this.stopping)}this._ConsoleWinEventProc.removeAllListeners("GlobalCallback");this.stopping=new promise(function(i,h){this._res=i;this._rej=h});var g=this._kernel32.GetThreadId(this._user32.SetWinEventHook.async.thread()).Val;this._user32.PostThreadMessageA(g,WM_QUIT,0,0);this._stream.emit("end");return(this.stopping)};this._hookThread=function(){var i=new promise(function(k,j){this._res=k;this._rej=j});i.userArgs=[];for(var g in arguments){i.userArgs.push(arguments[g])}i.terminal=this;this._ConsoleWinEventProc=GM.GetGenericGlobalCallback(7);this._ConsoleWinEventProc.terminal=this;var h=this._user32.SetWinEventHook.async(EVENT_CONSOLE_CARET,EVENT_CONSOLE_END_APPLICATION,0,this._ConsoleWinEventProc,0,0,WINEVENT_OUTOFCONTEXT|WINEVENT_SKIPOWNPROCESS);h.ready=i;h.terminal=this;h.then(function(j){if(j.Val==0){this.ready._rej("Error calling SetWinEventHook")}else{this.terminal.hwinEventHook=j;this.ready._res();this.terminal._GetMessage()}});this._ConsoleWinEventProc.on("GlobalCallback",function(l,k,m,p,n,o,r){if(!this.terminal.hwinEventHook||this.terminal.hwinEventHook.Val!=l.Val){return}var j=null;switch(k.Val){case EVENT_CONSOLE_CARET:break;case EVENT_CONSOLE_UPDATE_REGION:if(!this.terminal.connected){this.terminal.connected=true;this.terminal._stream._promise._res()}if(this.terminal._scrollTimer==null){j=this.terminal._GetScreenBuffer(LOWORD(p.Val),HIWORD(p.Val),LOWORD(n.Val),HIWORD(n.Val));this.terminal._SendDataBuffer(j)}break;case EVENT_CONSOLE_UPDATE_SIMPLE:var q={data:[Buffer.alloc(1,LOWORD(n.Val))],attributes:[HIWORD(n.Val)],width:1,height:1,x:LOWORD(p.Val),y:HIWORD(p.Val)};this.terminal._SendDataBuffer(q);break;case EVENT_CONSOLE_UPDATE_SCROLL:this.terminal._SendScroll(p.Val,n.Val);break;case EVENT_CONSOLE_LAYOUT:break;case EVENT_CONSOLE_START_APPLICATION:break;case EVENT_CONSOLE_END_APPLICATION:if(p.Val==this.terminal._hProcessID){this.terminal._hProcess=null;this.terminal._stop().then(function(){console.log("STOPPED")})}break;default:console.log("Unknown event: "+k.Val);break}});return(i)};this._GetMessage=function(){if(this._user32.abort){console.log("aborting loop");return}this._user32.GetMessageA.async(this._user32.SetWinEventHook.async,MSG,0,0,0).then(function(g){if(g.Val!=0){if(g.Val==-1){}else{this.nativeProxy._user32.TranslateMessage.async(this.nativeProxy.user32.SetWinEventHook.async,MSG).then(function(){this.nativeProxy._user32.DispatchMessageA.async(this.nativeProxy.user32.SetWinEventHook.async,MSG).then(function(){this.nativeProxy.terminal._GetMessage()},console.log)},console.log)}}else{this.nativeProxy.UnhookWinEvent.async(this.nativeProxy.terminal._user32.SetWinEventHook.async,this.nativeProxy.terminal.hwinEventHook).then(function(){if(this.nativeProxy.terminal._hProcess==null){return}this.nativeProxy.terminal.stopping._res();if(this.nativeProxy.terminal._kernel32.TerminateProcess(this.nativeProxy.terminal._hProcess,1067).Val==0){var h=this.nativeProxy.terminal._kernel32.GetLastError().Val;console.log("Unable to kill Terminal Process, error: "+h)}this.nativeProxy.terminal.stopping=null},function(h){console.log("REJECTED_UnhookWinEvent: "+h)})}},function(g){console.log("REJECTED_GETMessage: "+g)})};this._WriteBuffer=function(g){for(var h=0;hm;++k){this._stream.push(Buffer.from("\r\n"))}var g=this._GetScreenBuffer(0,0,n-1,m-1);this._SendDataBuffer(g);this._scrollTimer=setTimeout(function(q,p,o){var i=q._GetScreenBuffer(0,0,p-1,o-1);q._SendDataBuffer(i);q._scrollTimer=null},250,this,n,m)};this.StartCommand=function e(g){if(this._kernel32.CreateProcessA(GM.CreateVariable(g),0,0,0,1,CREATE_NEW_PROCESS_GROUP,0,0,si,pi).Val==0){console.log("Error Spawning CMD");return}this._kernel32.CloseHandle(pi.Deref(GM.PointerSize,GM.PointerSize).Deref());this._hProcess=pi.Deref(0,GM.PointerSize).Deref();this._hProcessID=pi.Deref(GM.PointerSize==4?8:16,4).toBuffer().readUInt32LE()}}function LOWORD(a){return(a&65535)}function HIWORD(a){return((a>>16)&65535)}function GetEsc(b,a){return(Buffer.from("\x1B["+a.join(";")+b))}function MeshConsole(a){require("MeshAgent").SendCommand({action:"msg",type:"console",value:JSON.stringify(a)})}function TranslateLine(r,s,f,a){var m,l,e,q,j,c,n,k,d,p,h,b,g=[],o=[GetEsc("H",[s,r])];if(typeof a=="number"){a=[a]}for(m=0;m>2);d=(a[m]&112)>>4;d=((d&1)<<2)+(d&2)+((d&4)>>2);p=(a[m]&16384);h=(a[m]&8)>>3;b=(a[m]&128);if(p!=q){if(p!=0){g.push(7)}else{g.push(0);l=7;e=0;j=0;c=0}q=p}if(k!=l){g.push(k+30);l=k}if(d!=e){g.push(d+40);e=d}if(h!=j){g.push(2-h);j=h}if(b!=c){if(b==0){g.push(e+40)}else{g.push(e+100);c=b}}if(g.length>0){o.push(GetEsc("m",g));g=[]}n=a[m]}o.push(Buffer.from(String.fromCharCode(f[m])))}return Buffer.concat(o)}module.exports=new windows_terminal(); \ No newline at end of file diff --git a/meshuser.js b/meshuser.js index bf9f264e..7a6d650f 100644 --- a/meshuser.js +++ b/meshuser.js @@ -35,6 +35,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use const MESHRIGHT_DESKLIMITEDINPUT = 4096; const MESHRIGHT_LIMITEVENTS = 8192; const MESHRIGHT_CHATNOTIFY = 16384; + const MESHRIGHT_UNINSTALL = 32768; // Site rights const SITERIGHT_SERVERBACKUP = 1; @@ -2188,6 +2189,37 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use try { ws.send(JSON.stringify({ action: 'wakedevices' })); } catch (ex) { } } + break; + } + case 'uninstallagent': + { + if (common.validateArray(command.nodeids, 1) == false) break; // Check nodeid's + for (i in command.nodeids) { + nodeid = command.nodeids[i]; + if (common.validateString(nodeid, 1, 1024) == false) break; // Check nodeid + if ((nodeid.split('/').length == 3) && (nodeid.split('/')[1] == domain.id)) { // Validate the domain, operation only valid for current domain + // Get the device + db.Get(nodeid, function (err, nodes) { + if ((nodes == null) || (nodes.length != 1)) return; + var node = nodes[0]; + + // Get the mesh for this device + mesh = parent.meshes[node.meshid]; + if (mesh) { + // Check if this user has rights to do this + if (mesh.links[user._id] != null && ((mesh.links[user._id].rights & MESHRIGHT_UNINSTALL) != 0)) { + // Send uninstall command to connected agent + var agent = parent.wsagents[node._id]; + if (agent != null) { + //console.log('Asking agent ' + agent.dbNodeKey + ' to uninstall.'); + try { agent.send(JSON.stringify({ action: 'uninstallagent' })); } catch (ex) { } + } + } + } + }); + } + } + break; } case 'poweraction': diff --git a/translate/translate.js b/translate/translate.js index 98f5258d..69bc5252 100644 --- a/translate/translate.js +++ b/translate/translate.js @@ -43,7 +43,7 @@ function start() { jsdom = require('jsdom'); esprima = require('esprima'); // https://www.npmjs.com/package/esprima if (minifyLib == 1) { minify = require('minify-js'); } - if (minifyLib == 2) { minify = require('html-minifier').minify; } + if (minifyLib == 2) { minify = require('html-minifier').minify; } // https://www.npmjs.com/package/html-minifier var command = null; if (process.argv.length > 2) { command = process.argv[2].toLowerCase(); } diff --git a/views/default-min.handlebars b/views/default-min.handlebars index 6d42ef46..59173b48 100644 --- a/views/default-min.handlebars +++ b/views/default-min.handlebars @@ -2349,13 +2349,24 @@ } function groupActionFunction() { - var mqttx = ''; - if (features & 0x00400000) { // Check if any of the selected devices have a MQTT connection active + var addedOptions = ''; + + // Check if any of the selected devices have a MQTT connection active + if (features & 0x00400000) { var nodeids = getCheckedDevices(); - for (var i in nodeids) { if ((getNodeFromId(nodeids[i]).conn & 16) != 0) { mqttx = ''; } } + for (var i in nodeids) { if ((getNodeFromId(nodeids[i]).conn & 16) != 0) { addedOptions += ''; break; } } } + + // Display the "Uninstall Agent" option if allowed and we selected connected devices. + for (var i in nodeids) { + var node = getNodeFromId(nodeids[i]); + var mesh = meshes[node.meshid]; + var meshrights = mesh.links[userinfo._id].rights; + if (((node.conn & 1) != 0) && ((meshrights & 32768) != 0)) { addedOptions += ''; break; } + } + var x = "Select an operation to perform on all selected devices. Actions will be performed only with proper rights." + '

'; - x += addHtmlValue("Operation", ''); + x += addHtmlValue("Operation", ''); setDialogMode(2, "Group Action", 3, groupActionFunctionEx, x); } @@ -2383,6 +2394,9 @@ } else if (op == 103) { // Send MQTT Message p10showSendMqttMsgDialog(getCheckedDevices()); + } else if (op == 104) { + // Uninstall agent + p10showSendUninstallAgentDialog(getCheckedDevices()); } else { // Power operation meshserver.send({ action: 'poweraction', nodeids: getCheckedDevices(), actiontype: parseInt(op) }); @@ -3523,6 +3537,7 @@ if ((meshrights & 64) != 0) { y += ''; } // Wake-up permission if ((meshrights & 8) != 0) { y += ''; } // Remote control permission if ((currentNode.conn & 16) != 0) { y += ''; } + if (((currentNode.conn & 1) != 0) && ((meshrights & 32768) != 0)) { y += ''; } y += ''; x += addHtmlValue("Operation", y); setDialogMode(2, "Device Action", 3, deviceActionFunctionEx, x); @@ -3536,6 +3551,9 @@ } else if (op == 103) { // Send MQTT Message p10showSendMqttMsgDialog([currentNode._id]); + } else if (op == 104) { + // Uninstall agent + p10showSendUninstallAgentDialog([currentNode._id]); } else { // Power operation meshserver.send({ action: 'poweraction', nodeids: [ currentNode._id ], actiontype: parseInt(op) }); @@ -3682,6 +3700,21 @@ meshserver.send({ action: 'sendmqttmsg', nodeids: nodeids, topic: Q('dp2topic').value, msg: Q('dp2msg').value }); } + function p10showSendUninstallAgentDialog(nodeids) { + if (xxdialogMode) return false; + var x = ''; + if (nodeids.length > 1) { x = format("Are you sure you want to uninstall the selected {0} agents?", nodeids.length); } else { x = "Are you sure you want to uninstall selected agent?"; } + x += '

'; + if (nodeids.length > 1) { x += "This will not remove the devices from the server, but the devices will not longer be able to connect to the server. All remote access to the devices will be lost. The devices must be connect for this command to work."; } else { x += "This will not remove this device from the server, but the device will not longer be able to connect to the server. All remote access to the device will be lost. The device must be connect for this command to work."; } + x += '

'; + setDialogMode(2, "Uninstall agent", 3, p10showSendUninstallAgentDialogEx, x, nodeids); + p10validateSendUninstallAgentDialog(); + return false; + } + + function p10validateSendUninstallAgentDialog() { QE('idx_dlgOkButton', Q('p10check').checked); } + function p10showSendUninstallAgentDialogEx(b, nodeids) { meshserver.send({ action: 'uninstallagent', nodeids: nodeids }); } + function p10showChangeGroupDialog(nodeids) { if (xxdialogMode) return false; var targetMeshId = null; @@ -6424,6 +6457,7 @@ x += '
'; x += '
'; x += '
'; + x += '
'; x += ''; if (userid == null) { setDialogMode(2, "Add Users to Device Group", 3, p20showAddMeshUserDialogEx, x); @@ -6451,7 +6485,7 @@ if (meshrights & 128) { Q('p20editnotes').checked = true; } if (meshrights & 8192) { Q('p20limitevents').checked = true; } if (meshrights & 16384) { Q('p20chatnotify').checked = true; } - + if (meshrights & 32768) { Q('p20uninstall').checked = true; } } } p20validateAddMeshUserDialog(); @@ -6499,21 +6533,24 @@ } QE('idx_dlgOkButton', ok); + var nc = !Q('p20fulladmin').checked; QE('p20fulladmin', meshrights == 0xFFFFFFFF); - QE('p20editmesh', (!Q('p20fulladmin').checked) && (meshrights == 0xFFFFFFFF)); - QE('p20manageusers', !Q('p20fulladmin').checked); - QE('p20managecomputers', !Q('p20fulladmin').checked); - QE('p20remotecontrol', !Q('p20fulladmin').checked); - QE('p20meshagentconsole', !Q('p20fulladmin').checked); - QE('p20meshserverfiles', !Q('p20fulladmin').checked); - QE('p20wakedevices', !Q('p20fulladmin').checked); - QE('p20editnotes', !Q('p20fulladmin').checked); - QE('p20limitevents', !Q('p20fulladmin').checked); - QE('p20remoteview', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked); - QE('p20remotelimitedinput', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked && !Q('p20remoteview').checked); - QE('p20noterminal', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked); - QE('p20nofiles', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked); - QE('p20noamt', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked); + QE('p20editmesh', nc && (meshrights == 0xFFFFFFFF)); + QE('p20manageusers', nc); + QE('p20managecomputers', nc); + QE('p20remotecontrol', nc); + QE('p20meshagentconsole', nc); + QE('p20meshserverfiles', nc); + QE('p20wakedevices', nc); + QE('p20editnotes', nc); + QE('p20limitevents', nc); + QE('p20remoteview', nc && Q('p20remotecontrol').checked); + QE('p20remotelimitedinput', nc && Q('p20remotecontrol').checked && !Q('p20remoteview').checked); + QE('p20noterminal', nc && Q('p20remotecontrol').checked); + QE('p20nofiles', nc && Q('p20remotecontrol').checked); + QE('p20noamt', nc && Q('p20remotecontrol').checked); + QE('p20chatnotify', nc); + QE('p20uninstall', nc); } function p20showAddMeshUserDialogEx(b, t) { @@ -6537,6 +6574,7 @@ if (Q('p20remotelimitedinput').checked == true) meshadmin += 4096; if (Q('p20limitevents').checked == true) meshadmin += 8192; if (Q('p20chatnotify').checked == true) meshadmin += 16384; + if (Q('p20uninstall').checked == true) meshadmin += 32768; } if (t == null) { @@ -6573,6 +6611,7 @@ if (((meshrights & 8) != 0) && ((meshrights & 4096) != 0) && ((meshrights & 256) == 0)) r.push("Limited Input"); if ((meshrights & 8192) != 0) r.push("Self Events Only"); if ((meshrights & 16384) != 0) r.push("Chat & Notify"); + if ((meshrights & 32768) != 0) r.push("Uninstall"); } if (r.length == 0) { r.push("No Rights"); } var uname = xuserid.split('/')[2]; diff --git a/views/default.handlebars b/views/default.handlebars index 759b9d36..b9b32bef 100644 --- a/views/default.handlebars +++ b/views/default.handlebars @@ -3331,13 +3331,24 @@ } function groupActionFunction() { - var mqttx = ''; - if (features & 0x00400000) { // Check if any of the selected devices have a MQTT connection active + var addedOptions = ''; + + // Check if any of the selected devices have a MQTT connection active + if (features & 0x00400000) { var nodeids = getCheckedDevices(); - for (var i in nodeids) { if ((getNodeFromId(nodeids[i]).conn & 16) != 0) { mqttx = ''; } } + for (var i in nodeids) { if ((getNodeFromId(nodeids[i]).conn & 16) != 0) { addedOptions += ''; break; } } } + + // Display the "Uninstall Agent" option if allowed and we selected connected devices. + for (var i in nodeids) { + var node = getNodeFromId(nodeids[i]); + var mesh = meshes[node.meshid]; + var meshrights = mesh.links[userinfo._id].rights; + if (((node.conn & 1) != 0) && ((meshrights & 32768) != 0)) { addedOptions += ''; break; } + } + var x = "Select an operation to perform on all selected devices. Actions will be performed only with proper rights." + '

'; - x += addHtmlValue("Operation", ''); + x += addHtmlValue("Operation", ''); setDialogMode(2, "Group Action", 3, groupActionFunctionEx, x); } @@ -3365,6 +3376,9 @@ } else if (op == 103) { // Send MQTT Message p10showSendMqttMsgDialog(getCheckedDevices()); + } else if (op == 104) { + // Uninstall agent + p10showSendUninstallAgentDialog(getCheckedDevices()); } else { // Power operation meshserver.send({ action: 'poweraction', nodeids: getCheckedDevices(), actiontype: parseInt(op) }); @@ -4505,6 +4519,7 @@ if ((meshrights & 64) != 0) { y += ''; } // Wake-up permission if ((meshrights & 8) != 0) { y += ''; } // Remote control permission if ((currentNode.conn & 16) != 0) { y += ''; } + if (((currentNode.conn & 1) != 0) && ((meshrights & 32768) != 0)) { y += ''; } y += ''; x += addHtmlValue("Operation", y); setDialogMode(2, "Device Action", 3, deviceActionFunctionEx, x); @@ -4518,6 +4533,9 @@ } else if (op == 103) { // Send MQTT Message p10showSendMqttMsgDialog([currentNode._id]); + } else if (op == 104) { + // Uninstall agent + p10showSendUninstallAgentDialog([currentNode._id]); } else { // Power operation meshserver.send({ action: 'poweraction', nodeids: [ currentNode._id ], actiontype: parseInt(op) }); @@ -4664,6 +4682,21 @@ meshserver.send({ action: 'sendmqttmsg', nodeids: nodeids, topic: Q('dp2topic').value, msg: Q('dp2msg').value }); } + function p10showSendUninstallAgentDialog(nodeids) { + if (xxdialogMode) return false; + var x = ''; + if (nodeids.length > 1) { x = format("Are you sure you want to uninstall the selected {0} agents?", nodeids.length); } else { x = "Are you sure you want to uninstall selected agent?"; } + x += '

'; + if (nodeids.length > 1) { x += "This will not remove the devices from the server, but the devices will not longer be able to connect to the server. All remote access to the devices will be lost. The devices must be connect for this command to work."; } else { x += "This will not remove this device from the server, but the device will not longer be able to connect to the server. All remote access to the device will be lost. The device must be connect for this command to work."; } + x += '

'; + setDialogMode(2, "Uninstall agent", 3, p10showSendUninstallAgentDialogEx, x, nodeids); + p10validateSendUninstallAgentDialog(); + return false; + } + + function p10validateSendUninstallAgentDialog() { QE('idx_dlgOkButton', Q('p10check').checked); } + function p10showSendUninstallAgentDialogEx(b, nodeids) { meshserver.send({ action: 'uninstallagent', nodeids: nodeids }); } + function p10showChangeGroupDialog(nodeids) { if (xxdialogMode) return false; var targetMeshId = null; @@ -7406,6 +7439,7 @@ x += '
'; x += '
'; x += '
'; + x += '
'; x += ''; if (userid == null) { setDialogMode(2, "Add Users to Device Group", 3, p20showAddMeshUserDialogEx, x); @@ -7433,7 +7467,7 @@ if (meshrights & 128) { Q('p20editnotes').checked = true; } if (meshrights & 8192) { Q('p20limitevents').checked = true; } if (meshrights & 16384) { Q('p20chatnotify').checked = true; } - + if (meshrights & 32768) { Q('p20uninstall').checked = true; } } } p20validateAddMeshUserDialog(); @@ -7481,21 +7515,24 @@ } QE('idx_dlgOkButton', ok); + var nc = !Q('p20fulladmin').checked; QE('p20fulladmin', meshrights == 0xFFFFFFFF); - QE('p20editmesh', (!Q('p20fulladmin').checked) && (meshrights == 0xFFFFFFFF)); - QE('p20manageusers', !Q('p20fulladmin').checked); - QE('p20managecomputers', !Q('p20fulladmin').checked); - QE('p20remotecontrol', !Q('p20fulladmin').checked); - QE('p20meshagentconsole', !Q('p20fulladmin').checked); - QE('p20meshserverfiles', !Q('p20fulladmin').checked); - QE('p20wakedevices', !Q('p20fulladmin').checked); - QE('p20editnotes', !Q('p20fulladmin').checked); - QE('p20limitevents', !Q('p20fulladmin').checked); - QE('p20remoteview', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked); - QE('p20remotelimitedinput', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked && !Q('p20remoteview').checked); - QE('p20noterminal', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked); - QE('p20nofiles', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked); - QE('p20noamt', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked); + QE('p20editmesh', nc && (meshrights == 0xFFFFFFFF)); + QE('p20manageusers', nc); + QE('p20managecomputers', nc); + QE('p20remotecontrol', nc); + QE('p20meshagentconsole', nc); + QE('p20meshserverfiles', nc); + QE('p20wakedevices', nc); + QE('p20editnotes', nc); + QE('p20limitevents', nc); + QE('p20remoteview', nc && Q('p20remotecontrol').checked); + QE('p20remotelimitedinput', nc && Q('p20remotecontrol').checked && !Q('p20remoteview').checked); + QE('p20noterminal', nc && Q('p20remotecontrol').checked); + QE('p20nofiles', nc && Q('p20remotecontrol').checked); + QE('p20noamt', nc && Q('p20remotecontrol').checked); + QE('p20chatnotify', nc); + QE('p20uninstall', nc); } function p20showAddMeshUserDialogEx(b, t) { @@ -7519,6 +7556,7 @@ if (Q('p20remotelimitedinput').checked == true) meshadmin += 4096; if (Q('p20limitevents').checked == true) meshadmin += 8192; if (Q('p20chatnotify').checked == true) meshadmin += 16384; + if (Q('p20uninstall').checked == true) meshadmin += 32768; } if (t == null) { @@ -7555,6 +7593,7 @@ if (((meshrights & 8) != 0) && ((meshrights & 4096) != 0) && ((meshrights & 256) == 0)) r.push("Limited Input"); if ((meshrights & 8192) != 0) r.push("Self Events Only"); if ((meshrights & 16384) != 0) r.push("Chat & Notify"); + if ((meshrights & 32768) != 0) r.push("Uninstall"); } if (r.length == 0) { r.push("No Rights"); } var uname = xuserid.split('/')[2]; diff --git a/views/translations/default-min_fr.handlebars b/views/translations/default-min_fr.handlebars index 98094639..d828a15e 100644 --- a/views/translations/default-min_fr.handlebars +++ b/views/translations/default-min_fr.handlebars @@ -2349,13 +2349,24 @@ } function groupActionFunction() { - var mqttx = ''; - if (features & 0x00400000) { // Check if any of the selected devices have a MQTT connection active + var addedOptions = ''; + + // Check if any of the selected devices have a MQTT connection active + if (features & 0x00400000) { var nodeids = getCheckedDevices(); - for (var i in nodeids) { if ((getNodeFromId(nodeids[i]).conn & 16) != 0) { mqttx = ''; } } + for (var i in nodeids) { if ((getNodeFromId(nodeids[i]).conn & 16) != 0) { addedOptions += ''; break; } } } + + // Display the "Uninstall Agent" option if allowed and we selected connected devices. + for (var i in nodeids) { + var node = getNodeFromId(nodeids[i]); + var mesh = meshes[node.meshid]; + var meshrights = mesh.links[userinfo._id].rights; + if (((node.conn & 1) != 0) && ((meshrights & 32768) != 0)) { addedOptions += ''; break; } + } + var x = "Select an operation to perform on all selected devices. Actions will be performed only with proper rights." + '

'; - x += addHtmlValue("Opération", ''); + x += addHtmlValue("Opération", ''); setDialogMode(2, "Action de groupe", 3, groupActionFunctionEx, x); } @@ -2383,6 +2394,9 @@ } else if (op == 103) { // Send MQTT Message p10showSendMqttMsgDialog(getCheckedDevices()); + } else if (op == 104) { + // Uninstall agent + p10showSendUninstallAgentDialog(getCheckedDevices()); } else { // Power operation meshserver.send({ action: 'poweraction', nodeids: getCheckedDevices(), actiontype: parseInt(op) }); @@ -3523,6 +3537,7 @@ if ((meshrights & 64) != 0) { y += ''; } // Wake-up permission if ((meshrights & 8) != 0) { y += ''; } // Remote control permission if ((currentNode.conn & 16) != 0) { y += ''; } + if (((currentNode.conn & 1) != 0) && ((meshrights & 32768) != 0)) { y += ''; } y += ''; x += addHtmlValue("Opération", y); setDialogMode(2, "Device Action", 3, deviceActionFunctionEx, x); @@ -3536,6 +3551,9 @@ } else if (op == 103) { // Send MQTT Message p10showSendMqttMsgDialog([currentNode._id]); + } else if (op == 104) { + // Uninstall agent + p10showSendUninstallAgentDialog([currentNode._id]); } else { // Power operation meshserver.send({ action: 'poweraction', nodeids: [ currentNode._id ], actiontype: parseInt(op) }); @@ -3682,6 +3700,21 @@ meshserver.send({ action: 'sendmqttmsg', nodeids: nodeids, topic: Q('dp2topic').value, msg: Q('dp2msg').value }); } + function p10showSendUninstallAgentDialog(nodeids) { + if (xxdialogMode) return false; + var x = ''; + if (nodeids.length > 1) { x = format("Are you sure you want to uninstall the selected {0} agents?", nodeids.length); } else { x = "Are you sure you want to uninstall selected agent?"; } + x += '

'; + if (nodeids.length > 1) { x += "This will not remove the devices from the server, but the devices will not longer be able to connect to the server. All remote access to the devices will be lost. The devices must be connect for this command to work."; } else { x += "This will not remove this device from the server, but the device will not longer be able to connect to the server. All remote access to the device will be lost. The device must be connect for this command to work."; } + x += '

'; + setDialogMode(2, "Uninstall agent", 3, p10showSendUninstallAgentDialogEx, x, nodeids); + p10validateSendUninstallAgentDialog(); + return false; + } + + function p10validateSendUninstallAgentDialog() { QE('idx_dlgOkButton', Q('p10check').checked); } + function p10showSendUninstallAgentDialogEx(b, nodeids) { meshserver.send({ action: 'uninstallagent', nodeids: nodeids }); } + function p10showChangeGroupDialog(nodeids) { if (xxdialogMode) return false; var targetMeshId = null; @@ -6424,6 +6457,7 @@ x += '
'; x += '
'; x += '
'; + x += '
'; x += ''; if (userid == null) { setDialogMode(2, "Add Users to Device Group", 3, p20showAddMeshUserDialogEx, x); @@ -6451,7 +6485,7 @@ if (meshrights & 128) { Q('p20editnotes').checked = true; } if (meshrights & 8192) { Q('p20limitevents').checked = true; } if (meshrights & 16384) { Q('p20chatnotify').checked = true; } - + if (meshrights & 32768) { Q('p20uninstall').checked = true; } } } p20validateAddMeshUserDialog(); @@ -6499,21 +6533,24 @@ } QE('idx_dlgOkButton', ok); + var nc = !Q('p20fulladmin').checked; QE('p20fulladmin', meshrights == 0xFFFFFFFF); - QE('p20editmesh', (!Q('p20fulladmin').checked) && (meshrights == 0xFFFFFFFF)); - QE('p20manageusers', !Q('p20fulladmin').checked); - QE('p20managecomputers', !Q('p20fulladmin').checked); - QE('p20remotecontrol', !Q('p20fulladmin').checked); - QE('p20meshagentconsole', !Q('p20fulladmin').checked); - QE('p20meshserverfiles', !Q('p20fulladmin').checked); - QE('p20wakedevices', !Q('p20fulladmin').checked); - QE('p20editnotes', !Q('p20fulladmin').checked); - QE('p20limitevents', !Q('p20fulladmin').checked); - QE('p20remoteview', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked); - QE('p20remotelimitedinput', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked && !Q('p20remoteview').checked); - QE('p20noterminal', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked); - QE('p20nofiles', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked); - QE('p20noamt', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked); + QE('p20editmesh', nc && (meshrights == 0xFFFFFFFF)); + QE('p20manageusers', nc); + QE('p20managecomputers', nc); + QE('p20remotecontrol', nc); + QE('p20meshagentconsole', nc); + QE('p20meshserverfiles', nc); + QE('p20wakedevices', nc); + QE('p20editnotes', nc); + QE('p20limitevents', nc); + QE('p20remoteview', nc && Q('p20remotecontrol').checked); + QE('p20remotelimitedinput', nc && Q('p20remotecontrol').checked && !Q('p20remoteview').checked); + QE('p20noterminal', nc && Q('p20remotecontrol').checked); + QE('p20nofiles', nc && Q('p20remotecontrol').checked); + QE('p20noamt', nc && Q('p20remotecontrol').checked); + QE('p20chatnotify', nc); + QE('p20uninstall', nc); } function p20showAddMeshUserDialogEx(b, t) { @@ -6537,6 +6574,7 @@ if (Q('p20remotelimitedinput').checked == true) meshadmin += 4096; if (Q('p20limitevents').checked == true) meshadmin += 8192; if (Q('p20chatnotify').checked == true) meshadmin += 16384; + if (Q('p20uninstall').checked == true) meshadmin += 32768; } if (t == null) { @@ -6573,6 +6611,7 @@ if (((meshrights & 8) != 0) && ((meshrights & 4096) != 0) && ((meshrights & 256) == 0)) r.push("Limited Input"); if ((meshrights & 8192) != 0) r.push("Self Events Only"); if ((meshrights & 16384) != 0) r.push("Chat & Notify"); + if ((meshrights & 32768) != 0) r.push("Uninstall"); } if (r.length == 0) { r.push("No Rights"); } var uname = xuserid.split('/')[2]; diff --git a/views/translations/default_fr.handlebars b/views/translations/default_fr.handlebars index 23bb4b1f..7974129e 100644 --- a/views/translations/default_fr.handlebars +++ b/views/translations/default_fr.handlebars @@ -3329,13 +3329,24 @@ } function groupActionFunction() { - var mqttx = ''; - if (features & 0x00400000) { // Check if any of the selected devices have a MQTT connection active + var addedOptions = ''; + + // Check if any of the selected devices have a MQTT connection active + if (features & 0x00400000) { var nodeids = getCheckedDevices(); - for (var i in nodeids) { if ((getNodeFromId(nodeids[i]).conn & 16) != 0) { mqttx = ''; } } + for (var i in nodeids) { if ((getNodeFromId(nodeids[i]).conn & 16) != 0) { addedOptions += ''; break; } } } + + // Display the "Uninstall Agent" option if allowed and we selected connected devices. + for (var i in nodeids) { + var node = getNodeFromId(nodeids[i]); + var mesh = meshes[node.meshid]; + var meshrights = mesh.links[userinfo._id].rights; + if (((node.conn & 1) != 0) && ((meshrights & 32768) != 0)) { addedOptions += ''; break; } + } + var x = "Select an operation to perform on all selected devices. Actions will be performed only with proper rights." + '

'; - x += addHtmlValue("Opération", ''); + x += addHtmlValue("Opération", ''); setDialogMode(2, "Action de groupe", 3, groupActionFunctionEx, x); } @@ -3363,6 +3374,9 @@ } else if (op == 103) { // Send MQTT Message p10showSendMqttMsgDialog(getCheckedDevices()); + } else if (op == 104) { + // Uninstall agent + p10showSendUninstallAgentDialog(getCheckedDevices()); } else { // Power operation meshserver.send({ action: 'poweraction', nodeids: getCheckedDevices(), actiontype: parseInt(op) }); @@ -4503,6 +4517,7 @@ if ((meshrights & 64) != 0) { y += ''; } // Wake-up permission if ((meshrights & 8) != 0) { y += ''; } // Remote control permission if ((currentNode.conn & 16) != 0) { y += ''; } + if (((currentNode.conn & 1) != 0) && ((meshrights & 32768) != 0)) { y += ''; } y += ''; x += addHtmlValue("Opération", y); setDialogMode(2, "Device Action", 3, deviceActionFunctionEx, x); @@ -4516,6 +4531,9 @@ } else if (op == 103) { // Send MQTT Message p10showSendMqttMsgDialog([currentNode._id]); + } else if (op == 104) { + // Uninstall agent + p10showSendUninstallAgentDialog([currentNode._id]); } else { // Power operation meshserver.send({ action: 'poweraction', nodeids: [ currentNode._id ], actiontype: parseInt(op) }); @@ -4662,6 +4680,21 @@ meshserver.send({ action: 'sendmqttmsg', nodeids: nodeids, topic: Q('dp2topic').value, msg: Q('dp2msg').value }); } + function p10showSendUninstallAgentDialog(nodeids) { + if (xxdialogMode) return false; + var x = ''; + if (nodeids.length > 1) { x = format("Are you sure you want to uninstall the selected {0} agents?", nodeids.length); } else { x = "Are you sure you want to uninstall selected agent?"; } + x += '

'; + if (nodeids.length > 1) { x += "This will not remove the devices from the server, but the devices will not longer be able to connect to the server. All remote access to the devices will be lost. The devices must be connect for this command to work."; } else { x += "This will not remove this device from the server, but the device will not longer be able to connect to the server. All remote access to the device will be lost. The device must be connect for this command to work."; } + x += '

'; + setDialogMode(2, "Uninstall agent", 3, p10showSendUninstallAgentDialogEx, x, nodeids); + p10validateSendUninstallAgentDialog(); + return false; + } + + function p10validateSendUninstallAgentDialog() { QE('idx_dlgOkButton', Q('p10check').checked); } + function p10showSendUninstallAgentDialogEx(b, nodeids) { meshserver.send({ action: 'uninstallagent', nodeids: nodeids }); } + function p10showChangeGroupDialog(nodeids) { if (xxdialogMode) return false; var targetMeshId = null; @@ -7404,6 +7437,7 @@ x += '
'; x += '
'; x += '
'; + x += '
'; x += ''; if (userid == null) { setDialogMode(2, "Add Users to Device Group", 3, p20showAddMeshUserDialogEx, x); @@ -7431,7 +7465,7 @@ if (meshrights & 128) { Q('p20editnotes').checked = true; } if (meshrights & 8192) { Q('p20limitevents').checked = true; } if (meshrights & 16384) { Q('p20chatnotify').checked = true; } - + if (meshrights & 32768) { Q('p20uninstall').checked = true; } } } p20validateAddMeshUserDialog(); @@ -7479,21 +7513,24 @@ } QE('idx_dlgOkButton', ok); + var nc = !Q('p20fulladmin').checked; QE('p20fulladmin', meshrights == 0xFFFFFFFF); - QE('p20editmesh', (!Q('p20fulladmin').checked) && (meshrights == 0xFFFFFFFF)); - QE('p20manageusers', !Q('p20fulladmin').checked); - QE('p20managecomputers', !Q('p20fulladmin').checked); - QE('p20remotecontrol', !Q('p20fulladmin').checked); - QE('p20meshagentconsole', !Q('p20fulladmin').checked); - QE('p20meshserverfiles', !Q('p20fulladmin').checked); - QE('p20wakedevices', !Q('p20fulladmin').checked); - QE('p20editnotes', !Q('p20fulladmin').checked); - QE('p20limitevents', !Q('p20fulladmin').checked); - QE('p20remoteview', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked); - QE('p20remotelimitedinput', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked && !Q('p20remoteview').checked); - QE('p20noterminal', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked); - QE('p20nofiles', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked); - QE('p20noamt', !Q('p20fulladmin').checked && Q('p20remotecontrol').checked); + QE('p20editmesh', nc && (meshrights == 0xFFFFFFFF)); + QE('p20manageusers', nc); + QE('p20managecomputers', nc); + QE('p20remotecontrol', nc); + QE('p20meshagentconsole', nc); + QE('p20meshserverfiles', nc); + QE('p20wakedevices', nc); + QE('p20editnotes', nc); + QE('p20limitevents', nc); + QE('p20remoteview', nc && Q('p20remotecontrol').checked); + QE('p20remotelimitedinput', nc && Q('p20remotecontrol').checked && !Q('p20remoteview').checked); + QE('p20noterminal', nc && Q('p20remotecontrol').checked); + QE('p20nofiles', nc && Q('p20remotecontrol').checked); + QE('p20noamt', nc && Q('p20remotecontrol').checked); + QE('p20chatnotify', nc); + QE('p20uninstall', nc); } function p20showAddMeshUserDialogEx(b, t) { @@ -7517,6 +7554,7 @@ if (Q('p20remotelimitedinput').checked == true) meshadmin += 4096; if (Q('p20limitevents').checked == true) meshadmin += 8192; if (Q('p20chatnotify').checked == true) meshadmin += 16384; + if (Q('p20uninstall').checked == true) meshadmin += 32768; } if (t == null) { @@ -7553,6 +7591,7 @@ if (((meshrights & 8) != 0) && ((meshrights & 4096) != 0) && ((meshrights & 256) == 0)) r.push("Limited Input"); if ((meshrights & 8192) != 0) r.push("Self Events Only"); if ((meshrights & 16384) != 0) r.push("Chat & Notify"); + if ((meshrights & 32768) != 0) r.push("Uninstall"); } if (r.length == 0) { r.push("No Rights"); } var uname = xuserid.split('/')[2]; From 8e57eb5a238a9d99a48517d5ac9682ef789eb64b Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Thu, 24 Oct 2019 13:14:00 -0700 Subject: [PATCH 5/8] Added minified cores back. --- agents/meshcmd.min.js | 2609 +++++++++++++++++ agents/meshcore.min.js | 2602 ++++++++++++++++ agents/modules_meshcmd_min/amt-ider.min.js | 1 + agents/modules_meshcmd_min/amt-lme.min.js | 1 + agents/modules_meshcmd_min/amt-mei.min.js | 1 + .../modules_meshcmd_min/amt-redir-duk.min.js | 1 + agents/modules_meshcmd_min/amt-scanner.min.js | 1 + agents/modules_meshcmd_min/amt-script.min.js | 1 + .../modules_meshcmd_min/amt-wsman-duk.min.js | 1 + agents/modules_meshcmd_min/amt-wsman.min.js | 1 + agents/modules_meshcmd_min/amt-xml.min.js | 1 + agents/modules_meshcmd_min/amt.min.js | 1 + agents/modules_meshcmd_min/identifiers.min.js | 1 + .../modules_meshcmd_min/service-host.min.js | 1 + .../service-manager.min.js | 1 + agents/modules_meshcmd_min/smbios.min.js | 1 + agents/modules_meshcmd_min/sysinfo.min.js | 1 + .../modules_meshcmd_min/user-sessions.min.js | 1 + agents/modules_meshcore_min/amt-lme.min.js | 1 + agents/modules_meshcore_min/amt-manage.min.js | 1 + agents/modules_meshcore_min/amt-mei.min.js | 1 + .../modules_meshcore_min/amt-scanner.min.js | 1 + .../modules_meshcore_min/amt-wsman-duk.min.js | 1 + agents/modules_meshcore_min/amt-wsman.min.js | 1 + agents/modules_meshcore_min/amt-xml.min.js | 1 + agents/modules_meshcore_min/amt.min.js | 1 + agents/modules_meshcore_min/apfclient.min.js | 1 + .../modules_meshcore_min/identifiers.min.js | 1 + .../monitor-border.min.js | 1 + .../modules_meshcore_min/power-monitor.min.js | 1 + agents/modules_meshcore_min/smbios.min.js | 1 + agents/modules_meshcore_min/sysinfo.min.js | 1 + .../wifi-scanner-windows.min.js | 1 + .../modules_meshcore_min/wifi-scanner.min.js | 1 + .../modules_meshcore_min/win-console.min.js | 1 + agents/modules_meshcore_min/win-info.min.js | 1 + .../modules_meshcore_min/win-terminal.min.js | 1 + 37 files changed, 5246 insertions(+) create mode 100644 agents/meshcmd.min.js create mode 100644 agents/meshcore.min.js create mode 100644 agents/modules_meshcmd_min/amt-ider.min.js create mode 100644 agents/modules_meshcmd_min/amt-lme.min.js create mode 100644 agents/modules_meshcmd_min/amt-mei.min.js create mode 100644 agents/modules_meshcmd_min/amt-redir-duk.min.js create mode 100644 agents/modules_meshcmd_min/amt-scanner.min.js create mode 100644 agents/modules_meshcmd_min/amt-script.min.js create mode 100644 agents/modules_meshcmd_min/amt-wsman-duk.min.js create mode 100644 agents/modules_meshcmd_min/amt-wsman.min.js create mode 100644 agents/modules_meshcmd_min/amt-xml.min.js create mode 100644 agents/modules_meshcmd_min/amt.min.js create mode 100644 agents/modules_meshcmd_min/identifiers.min.js create mode 100644 agents/modules_meshcmd_min/service-host.min.js create mode 100644 agents/modules_meshcmd_min/service-manager.min.js create mode 100644 agents/modules_meshcmd_min/smbios.min.js create mode 100644 agents/modules_meshcmd_min/sysinfo.min.js create mode 100644 agents/modules_meshcmd_min/user-sessions.min.js create mode 100644 agents/modules_meshcore_min/amt-lme.min.js create mode 100644 agents/modules_meshcore_min/amt-manage.min.js create mode 100644 agents/modules_meshcore_min/amt-mei.min.js create mode 100644 agents/modules_meshcore_min/amt-scanner.min.js create mode 100644 agents/modules_meshcore_min/amt-wsman-duk.min.js create mode 100644 agents/modules_meshcore_min/amt-wsman.min.js create mode 100644 agents/modules_meshcore_min/amt-xml.min.js create mode 100644 agents/modules_meshcore_min/amt.min.js create mode 100644 agents/modules_meshcore_min/apfclient.min.js create mode 100644 agents/modules_meshcore_min/identifiers.min.js create mode 100644 agents/modules_meshcore_min/monitor-border.min.js create mode 100644 agents/modules_meshcore_min/power-monitor.min.js create mode 100644 agents/modules_meshcore_min/smbios.min.js create mode 100644 agents/modules_meshcore_min/sysinfo.min.js create mode 100644 agents/modules_meshcore_min/wifi-scanner-windows.min.js create mode 100644 agents/modules_meshcore_min/wifi-scanner.min.js create mode 100644 agents/modules_meshcore_min/win-console.min.js create mode 100644 agents/modules_meshcore_min/win-info.min.js create mode 100644 agents/modules_meshcore_min/win-terminal.min.js diff --git a/agents/meshcmd.min.js b/agents/meshcmd.min.js new file mode 100644 index 00000000..3dfb676d --- /dev/null +++ b/agents/meshcmd.min.js @@ -0,0 +1,2609 @@ +/* +Copyright 2018-2019 Intel Corporation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +/** +* @description MeshCmd, command line tool for Intel AMT and MeshCentral. +* @author Ylian Saint-Hilaire +* @version v0.2.0 +*/ + +// Debug Stuff +//console.displayFinalizerMessages = 1; // Display objects that have event listeners that are disposed. +//console.displayStreamPipeMessages = 1; // Display stream pipe and un-pipes +//var __gc = setInterval(function () { console.log('GC'); _debugGC() }, 2000); // + + +var fs = require('fs'); +var os = require('os'); +var net = require('net'); +var http = require('http'); +var dgram = require('dgram'); +var httpHeaders = require('http-headers'); +var tcpserver = null; +var broadcastSockets = {}; +var multicastSockets = {}; +var discoveryInterval = null; +var membershipIPv4 = '239.255.255.235'; +var membershipIPv6 = 'FF02:0:0:0:0:0:0:FE'; +var settings = null; +var meshCmdVersion = '***Mesh*Cmd*Version***'; // Dynamically replaced with MeshCentral version +var amtLms = null, amtMei = null, amtMeiState = null; +var wsstack = null, amtstack = null; +var oswsstack = null, osamtstack = null; +var amtMeiTmpState = null; +var SMBiosTables = null; +var globalDebugFlags = 0; // 1 = IDER Debug +var pendingAmtConfigActions = 0; +var RCSMessageProtocolVersion = 1; // RCS Message Protocol Version. Needs to be less than or equal to RCS server Message Protocol Version + +// MeshCommander for Firmware (GZIP'ed, Base64) v0.7.8 +var Large_IntelAmtWebApp_etag = "zVObfGF4CXPIxvxSUu+3"; +var Large_IntelAmtWebApp = "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"; +var Medium_IntelAmtWebApp_etag = "IeB7H1GRGwkVlI3IGH5z"; +var Medium_IntelAmtWebApp = "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"; +var Small_IntelAmtWebApp_etag = "Ci0RenuglliDcxGQPFS+"; +var Small_IntelAmtWebApp = "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"; + +// MeshCommander LMS (GZIP'ed, Base64) v0.7.8 +var _IntelAmtWebApp_etag = "N8Wf/McOVX3T6idS+oh9"; +var _IntelAmtWebApp = "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"; + +// MeshCommander Local (GZIP'ed, Base64) v0.7.8 +var FullSite_IntelAmtLocalWebApp_etag = "PR80FHg+cPmsp2l3pigx"; +var FullSite_IntelAmtLocalWebApp = "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"; + + +// Check the server certificate fingerprint +function onVerifyServer(clientName, certs) { + if (certs == null) { certs = clientName; } // Temporary thing until we fix duktape + try { for (var i in certs) { if (certs[i].fingerprint.replace(/:/g, '') == settings.serverhttpshash) { return; } } } catch (e) { } + if (settings.serverhttpshash != null) { + console.log('Error: Failed to verify server certificate.'); + console.log('Server TLS hash: ' + certs[i].fingerprint.replace(/:/g, '')); + exit(255); + throw 'Invalid server certificate'; + } +} + +// Various utility functions +function debug(level, message) { if ((settings.debuglevel != null) && (settings.debuglevel >= level)) { console.log(message); } } +function exit(status) { if (status == null) { status = 0; } try { process.exit(status); } catch (e) { } } +function getInstance(x, y) { for (var i in x) { if (x[i]["InstanceID"] == y) return x[i]; } return null; } +function md5hex(str) { return require('MD5Stream').create().syncHash(str).toString('hex'); } +function guidToStr(g) { return g.substring(6, 8) + g.substring(4, 6) + g.substring(2, 4) + g.substring(0, 2) + "-" + g.substring(10, 12) + g.substring(8, 10) + "-" + g.substring(14, 16) + g.substring(12, 14) + "-" + g.substring(16, 20) + "-" + g.substring(20); } +function parceArguments(argv) { var r = {}; for (var i in argv) { i = parseInt(i); if (argv[i].startsWith('--') == true) { var key = argv[i].substring(2).toLowerCase(), val = true; if (((i + 1) < argv.length) && (argv[i + 1].startsWith('--') == false)) { val = argv[i + 1]; } r[key] = val; } } return r; } + +// Convert an object to string with all functions +function objToString(x, p, ret) { + if (ret == undefined) ret = ''; + if (p == undefined) p = 0; + if (x == null) { return '[null]'; } + if (p > 8) { return '[...]'; } + if (x == undefined) { return '[undefined]'; } + if (typeof x == 'string') { if (p == 0) return x; return '"' + (x.split('\0')[0]) + '"'; } + if (typeof x == 'buffer') { return '[buffer]'; } + if (typeof x != 'object') { return x; } + var r = '{' + (ret ? '\r\n' : ' '); + for (var i in x) { + if (i != '_ObjectID') { r += (addPad(p + 2, ret) + i + ': ' + objToString(x[i], p + 2, ret) + (ret ? '\r\n' : ' ')); } + } + return r + addPad(p, ret) + '}'; +} + +// Return p number of spaces +function addPad(p, ret) { var r = ''; for (var i = 0; i < p; i++) { r += ' '; } return r; } + +// Parse the incoming arguments +function run(argv) { + if (meshCmdVersion[0] == '*') { meshCmdVersion = ''; } else { meshCmdVersion = ' v' + meshCmdVersion; } + var args = parceArguments(argv); + //console.log(JSON.stringify(argv)); + //console.log('addedModules = ' + JSON.stringify(addedModules)); + var actionpath = 'meshaction.txt'; + if (args.actionfile != null) { actionpath = args.actionfile; } + var actions = ['HELP', 'ROUTE', 'MICROLMS', 'AMTSCAN', 'AMTPOWER', 'AMTFEATURES', 'AMTNETWORK', 'AMTLOADWEBAPP', 'AMTLOADSMALLWEBAPP', 'AMTLOADLARGEWEBAPP', 'AMTCLEARWEBAPP', 'AMTSTORAGESTATE', 'AMTINFO', 'AMTINFODEBUG', 'AMTVERSIONS', 'AMTHASHES', 'AMTSAVESTATE', 'AMTSCRIPT', 'AMTUUID', 'AMTCCM', 'AMTACM', 'AMTDEACTIVATE', 'AMTACMDEACTIVATE', 'SMBIOS', 'RAWSMBIOS', 'MESHCOMMANDER', 'AMTAUDITLOG', 'AMTEVENTLOG', 'AMTPRESENCE']; + + // Load the action file + var actionfile = null; + try { actionfile = fs.readFileSync(actionpath); } catch (e) { } + if ((actionpath != 'meshaction.txt') && (actionfile == null)) { console.log('Unable to load \"' + actionpath + '\". Create this file or specify the location using --actionfile [filename].'); exit(1); return; } + if (actionfile != null) { try { settings = JSON.parse(actionfile); } catch (e) { console.log(actionpath, e); exit(1); return; } } else { if (argv.length >= 2) { settings = { action: argv[1] } } } + if (settings == null) { settings = {}; } + var settings2 = {}; for (var i in settings) { settings2[i.toLowerCase()] = settings[i]; } settings = settings2; + + // Set the arguments + if ((typeof args.action) == 'string') { settings.action = args.action; } + if ((typeof args.localport) == 'string') { settings.localport = parseInt(args.localport); } + if ((typeof args.remotenodeid) == 'string') { settings.remotenodeid = args.remotenodeid; } + if ((typeof args.name) == 'string') { settings.name = args.name; } + if ((typeof args.username) == 'string') { settings.username = args.username; } + if ((typeof args.password) == 'string') { settings.password = args.password; } + if ((typeof args.url) == 'string') { settings.url = args.url; } + if ((typeof args.profile) == 'string') { settings.profile = args.profile; } + if ((typeof args.type) == 'string') { settings.type = args.type; } + if ((typeof args.user) == 'string') { settings.username = args.user; } + if ((typeof args.pass) == 'string') { settings.password = args.pass; } + if ((typeof args.host) == 'string') { settings.hostname = args.host; } + if ((typeof args.hostname) == 'string') { settings.hostname = args.hostname; } + if ((typeof args.serverid) == 'string') { settings.serverid = args.serverid; } + if ((typeof args.serverhttpshash) == 'string') { settings.serverhttpshash = args.serverhttpshash; } + if ((typeof args.remoteport) == 'string') { settings.remoteport = parseInt(args.remoteport); } + if ((typeof args.out) == 'string') { settings.output = args.out; } + if ((typeof args.output) == 'string') { settings.output = args.output; } + if ((typeof args.debug) == 'string') { settings.debuglevel = parseInt(args.debug); } + if ((typeof args.debugflags) == 'string') { globalDebugFlags = parseInt(args.debugflags); } + if ((typeof args.script) == 'string') { settings.script = args.script; } + if ((typeof args.agent) == 'string') { settings.agent = args.agent; } + if ((typeof args.proxy) == 'string') { settings.proxy = args.proxy; } + if ((typeof args.floppy) == 'string') { settings.floppy = args.floppy; } + if ((typeof args.cdrom) == 'string') { settings.cdrom = args.cdrom; } + if ((typeof args.tag) == 'string') { settings.tag = args.tag; } + if ((typeof args.scan) == 'string') { settings.scan = args.scan; } + if ((typeof args.timeout) == 'string') { settings.timeout = parseInt(args.timeout); } + if ((typeof args.uuidoutput) == 'string' || args.uuidoutput) { settings.uuidoutput = args.uuidoutput; } + if (args.debug === true) { settings.debuglevel = 1; } + if (args.debug) { try { waitForDebugger(); } catch (e) { } } + if (args.noconsole) { settings.noconsole = true; } + if (args.nocommander) { settings.noconsole = true; } + if (args.lmsdebug) { settings.lmsdebug = true; } + if (args.json) { settings.json = true; } + if (args.tls) { settings.tls = true; } + if ((argv.length > 1) && (actions.indexOf(argv[1].toUpperCase()) >= 0)) { settings.action = argv[1]; } + + // Validate meshaction.txt + if (settings.action == null) { + console.log('MeshCentral Command (MeshCmd) ' + meshCmdVersion); + console.log('No action specified, use MeshCmd like this:\r\n'); + console.log(' meshcmd [action] [arguments...]\r\n'); + console.log('Valid MeshCentral actions:'); + console.log(' Route - Map a local TCP port to a remote computer.'); + console.log('\r\nValid local actions:'); + console.log(' SMBios - Display System Management BIOS tables for this computer.'); + console.log(' RawSMBios - Display RAW System Management BIOS tables for this computer.'); + console.log(' MicroLMS - Run MicroLMS, allowing local access to Intel AMT.'); + console.log(' AmtInfo - Show Intel AMT version and activation state.'); + console.log(' AmtVersions - Show all Intel ME version information.'); + console.log(' AmtHashes - Show all Intel AMT trusted activation hashes.'); + console.log(' AmtCCM - Activate Intel AMT into Client Control Mode.'); + console.log(' AmtACM - Activate Intel AMT into Admin Control Mode.'); + console.log(' AmtDeactivate - Deactivate Intel AMT if activated in Client Control mode.'); + console.log(' AmtAcmDeactivate - Deactivate Intel AMT if activated in Admin Control mode.'); + console.log('\r\nValid local or remote actions:'); + console.log(' MeshCommander - Launch a local MeshCommander web server.'); + console.log(' AmtUUID - Show Intel AMT unique identifier.'); + console.log(' AmtEventLog - Show the Intel AMT event log.'); + console.log(' AmtAuditLog - Show the Intel AMT audit log.'); + console.log(' AmtLoadWebApp - Load MeshCommander in Intel AMT 11.6+ firmware.'); + console.log(' AmtClearWebApp - Clear everything from Intel AMT web storage.'); + console.log(' AmtStorageState - Show contents of the Intel AMT web storage.'); + console.log(' AmtSaveState - Save all Intel AMT WSMAN object to file.'); + console.log(' AmtPresence - Heartbeat a local Intel AMT watchdog agent.'); + console.log(' AmtPower - Perform remote Intel AMT power operation.'); + console.log(' AmtScript - Run .mescript on Intel AMT.'); + console.log(' AmtIDER - Mount local disk image to remote computer.'); + console.log(' AmtFeatures - Intel AMT features & user consent.'); + console.log(' AmtNetwork - Intel AMT network interface settings.'); + console.log(' AmtScan - Search local network for Intel AMT devices.'); + console.log('\r\nHelp on a specific action using:\r\n'); + console.log(' meshcmd help [action]'); + exit(1); return; + } + if (settings.action == 'help') { + if (argv.length <= 2) { + actions.shift(); + console.log('Help usage:\r\n\r\n MeshCmd help [action]\r\n\r\nValid actions are: ' + actions.join(', ') + '.'); + exit(1); return; + } + var action = argv[2].toLowerCase(); + if (action == 'route') { + console.log("The route action is used along with a MeshCentral account to map a local TCP port to a remote port on any computer on your MeshCentral account. This action requires many arguments, to avoid specifying them all it's best to download the meshaction.txt file from the web site and place it in the current folder. Example usage:\r\n\r\n (Place meshaction.txt file in current folder)\r\n meshcmd route --pass myAccountPassword"); + } else if (action == 'smbios') { + console.log("SMBios action will display this computer's system management BIOS information. Example usage:\r\n\r\n meshcmd smbios --out smbios.txt\r\n"); + console.log('\r\Optional arguments:\r\n'); + console.log(' --output [filename] Optional filename to write the results to.'); + } else if (action == 'rawsmbios') { + console.log("RawSMBios action will display this computer's system management BIOS information in raw hexdecimal form. Example usage:\r\n\r\n meshcmd rawsmbios --out smbios.txt\r\n"); + console.log('\r\Optional arguments:\r\n'); + console.log(' --output [filename] Optional filename to write the results to.'); + } else if (action == 'amtinfo') { + console.log('AmtInfo action will get the version and activation state of Intel AMT on this computer. The command must be run on a computer with Intel AMT, must run as administrator and the Intel management driver must be installed. Example usage:\r\n\r\n meshcmd amtinfo'); + } else if ((action == 'amtversion') || (action == 'amtversions')) { + console.log('AmtVersions will display all version information about Intel AMT on this computer. The command must be run on a computer with Intel AMT, must run as administrator and the Intel management driver must be installed. Example usage:\r\n\r\n meshcmd amtversions'); + } else if (action == 'amthashes') { + console.log('Amthashes will display all trusted activations hashes for Intel AMT on this computer. The command must be run on a computer with Intel AMT, must run as administrator and the Intel management driver must be installed. These certificates hashes are used by Intel AMT when performing activation into ACM mode. Example usage:\r\n\r\n meshcmd amthashes'); + } else if ((action == 'microlms') || (action == 'lms') || (action == 'amtlms')) { + console.log('Starts MicroLMS on this computer, allowing local access to Intel AMT on TCP ports 16992 and 16993 when applicable. The command must be run on a computer with Intel AMT, must run as administrator and the Intel management driver must be installed. These certificates hashes are used by Intel AMT when performing activation into ACM mode. Example usage:\r\n\r\n meshcmd microlms'); + console.log('\r\nPossible arguments:\r\n'); + console.log(' --noconsole MeshCommander for LMS will no be available on port 16994.'); + console.log('\r\nRun as a background service:\r\n'); + console.log(' microlms install/uninstall/start/stop.'); + } else if (action == 'amtccm') { + console.log('AmtCCM will attempt to activate Intel AMT on this computer into client control mode (CCM). The command must be run on a computer with Intel AMT, must run as administrator and the Intel management driver must be installed. Intel AMT must be in "pre-provisioning" state for this command to work and a administrator password must be provided.'); + console.log('\r\nPossible arguments:\r\n'); + console.log(' --password [password] Admin password used to activate Intel AMT.'); + console.log('\r\nor:\r\n'); + console.log(' --url [wss://server] Url to the activation server.'); + console.log(' --tag [string] Optional string sent to the server during activation.'); + console.log(' --serverhttpshash [hash] Optional TLS server certificate hash.'); + console.log(' --profile [string] Optional profile used for server activation.'); + } else if (action == 'amtacm') { + console.log('AmtACM will attempt to activate Intel AMT on this computer into admin control mode (ACM). The command must be run on a computer with Intel AMT, must run as administrator and the Intel management driver must be installed. Intel AMT must be in "pre-provisioning" state for this command to work. Example usage:\r\n\r\n meshcmd amtacm --url [url]'); + console.log('\r\nPossible arguments:\r\n'); + console.log(' --url [wss://server] The address of the Intel AMT activation server.'); + console.log(' --tag [string] Optional string sent to the server during activation.'); + console.log(' --serverhttpshash [hash] Optional TLS server certificate hash.'); + console.log(' --profile [string] Optional profile used for server activation.'); + } else if (action == 'amtdeactivate') { + console.log('AmtDeactivate will attempt to deactivate Intel AMT on this computer when in client control mode (CCM). The command must be run on a computer with Intel AMT, must run as administrator and the Intel management driver must be installed. Intel AMT must be activated in client control mode for this command to work. Example usage:\r\n\r\n meshcmd amtdeactivate'); + } else if (action == 'amtacmdeactivate') { + console.log('AmtACMDeactivate will attempt to deactivate Intel AMT on this computer when in admin control mode (ACM). The command must be run on a computer with Intel AMT, must run as administrator and the Intel management driver must be installed. Intel AMT must be activated in admin control mode for this command to work. Example usage:\r\n\r\n meshcmd amtacmdeactivate'); + console.log('\r\nPossible arguments:\r\n'); + console.log(' --user [username] The Intel AMT login username, admin is default.'); + console.log(' --pass [password] The Intel AMT login password.'); + console.log(' --type [partial/full] Specifies to perform partial or full unprovision.'); + } else if (action == 'amtuuid') { + console.log('AmtUUID action will get the unique identifier of the local or remote Intel AMT computer. By default, the local UUID is obtained unless a host is specified. Intel AMT must be activated for this command to work. Example usage:\r\n\r\n meshcmd amtuuid --host 1.2.3.4 --user admin --pass mypassword --tls'); + console.log('\r\nPossible arguments:\r\n'); + console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); + console.log(' --user [username] The Intel AMT login username, admin is default.'); + console.log(' --pass [password] The Intel AMT login password.'); + console.log(' --tls Specifies that TLS must be used.'); + } else if ((action == 'amtloadwebapp') || (action == 'amtloadsmallwebapp') || (action == 'amtloadlargewebapp') || (action == 'amtclearwebapp') || (action == 'amtstoragestate')) { + console.log('AmtLoadWebApp action will load MeshCommander into Intel AMT 11.6 or higher. If the computer is in ACM mode, MeshCommander will replace the default index.htm on HTTP/16992 or HTTPS/16993. If Intel AMT is in CCM mode, MeshCommander will be installed alongside the default web page and will be accessible in the "Web Applications" section. This action works on Intel AMT 11.6 and higher only. Example usage:\r\n\r\n meshcmd amtloadwebapp --host 1.2.3.4 --user admin --pass mypassword --tls'); + console.log('\r\nPossible arguments:\r\n'); + console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); + console.log(' --user [username] The Intel AMT login username, admin is default.'); + console.log(' --pass [password] The Intel AMT login password.'); + console.log(' --tls Specifies that TLS must be used.'); + } else if (action == 'amtclearwebstorage') { + console.log('AmtClearWebStorage will clear the web storage of Intel AMT, removing any loaded firmware version of MeshCommander. This command can clear the local or a remote Intel AMT computer. By default, the local computer storage is cleared unless a host is specified. Intel AMT must be activated for this command to work. This action works on Intel AMT 11.6 and higher only. Example usage:\r\n\r\n meshcmd amtclearwebstorage --host 1.2.3.4 --user admin --pass mypassword --tls'); + console.log('\r\nPossible arguments:\r\n'); + console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); + console.log(' --user [username] The Intel AMT login username, admin is default.'); + console.log(' --pass [password] The Intel AMT login password.'); + console.log(' --tls Specifies that TLS must be used.'); + } else if (action == 'amtstoragestate') { + console.log('AmtStorageState will display the content of the web storage of Intel AMT including any loaded firmware version of MeshCommander. This command can read the storage state of a local or remote Intel AMT computer. By default, the local computer storage state is displayed unless a host is specified. Intel AMT must be activated for this command to work. This action works on Intel AMT 11.6 and higher only. Example usage:\r\n\r\n meshcmd amtstoragestate --host 1.2.3.4 --user admin --pass mypassword --tls'); + console.log('\r\nPossible arguments:\r\n'); + console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); + console.log(' --user [username] The Intel AMT login username, admin is default.'); + console.log(' --pass [password] The Intel AMT login password.'); + console.log(' --tls Specifies that TLS must be used.'); + } else if (action == 'amtsavestate') { + console.log('AmtSaveState action will fetch all the entire state of Intel AMT and save it as a JSON file. This action will take multiple minutes to perform. The command will fetch the local computer state unless host is specified. Intel AMT must be ativated for this command to work. Example usage:\r\n\r\n meshcmd amtsavestate --host 1.2.3.4 --user admin --pass mypassword --tls --output state.json'); + console.log('\r\nPossible arguments:\r\n'); + console.log(' --output [filename] The output file for the Intel AMT state in JSON format.'); + console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); + console.log(' --user [username] The Intel AMT login username, admin is default.'); + console.log(' --pass [password] The Intel AMT login password.'); + console.log(' --tls Specifies that TLS must be used.'); + } else if (action == 'amtpresence') { + console.log('AmtPresence will heartbeat a local Intel AMT watchdog agent. Example usage:\r\n\r\n meshcmd amtpresence --agent B4B6A24C-255E-A75C-F5E8-B00B4D946AA7'); + console.log('\r\nPossible arguments:\r\n'); + console.log(' --user [username] The Intel AMT login username, admin is default.'); + console.log(' --pass [password] The Intel AMT login password.'); + console.log(' --agent [uuid] The unique identifier of the watchdog agent.'); + } else if (action == 'amtscript') { + console.log('AmtScript will run a .mescript file on the local or remote Intel AMT. Script files can be built using the MeshCommander script editor and be used to setup or perform actions on Intel AMT. Example usage:\r\n\r\n meshcmd amtscript --script myscript.mescript --host 1.2.3.4 --user admin --pass mypassword --tls'); + console.log('\r\nPossible arguments:\r\n'); + console.log(' --script [filename] The script file to run on Intel AMT.'); + console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); + console.log(' --user [username] The Intel AMT login username, admin is default.'); + console.log(' --pass [password] The Intel AMT login password.'); + console.log(' --tls Specifies that TLS must be used.'); + } else if (action == 'amtpower') { + console.log('AmtPower will get current pwoer state or send a reboot command to a remote Intel AMT device. Example usage:\r\n\r\n meshcmd amtpower --reset --host 1.2.3.4 --user admin --pass mypassword --tls'); + console.log('\r\nRequired arguments:\r\n'); + console.log(' --host [hostname] The IP address or DNS name of Intel AMT.'); + console.log(' --pass [password] The Intel AMT login password.'); + console.log('\r\nOptional arguments:\r\n'); + console.log(' --reset, --poweron, --poweroff, --powercycle, --sleep, --hibernate'); + console.log(' --user [username] The Intel AMT login username, admin is default.'); + console.log(' --tls Specifies that TLS must be used.'); + } else if (action == 'amtnetwork') { + console.log('AmtNetwork is used to get/set Intel AMT network interface configuration. Example usage:\r\n\r\n meshcmd amtnetwork --host 1.2.3.4 --user admin --pass mypassword --dhcp'); + console.log('\r\nRequired arguments:\r\n'); + console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); + console.log(' --pass [password] The Intel AMT login password.'); + console.log('\r\nOptional arguments:\r\n'); + console.log(' --user [username] The Intel AMT login username, admin is default.'); + console.log(' --tls Specifies that TLS must be used.'); + console.log(' --ipsync [0 or 1] Change the wired IPSync setting on Intel AMT 7+'); + console.log(' --dhcp Change IPv4 wired interface to DHCP mode'); + console.log(' --static Change IPv4 wired interface to static IP mode'); + console.log(' --ip [1.2.3.4] Static IPv4 address (required)'); + console.log(' --subnet [1.2.3.4] Static IPv4 subnet mask'); + console.log(' --gateway [1.2.3.4] Static IPv4 default gateway'); + console.log(' --dns [1.2.3.4] Primary DNS IPv4 address'); + console.log(' --dns2 [1.2.3.4] Secondary DNS IPv4 address'); + } else if (action == 'amtfeatures') { + console.log('AmtFeatures is used to get/set Intel AMT feature configuration. Example usage:\r\n\r\n meshcmd amtfeatures --host 1.2.3.4 --user admin --pass mypassword --tls --redir 1'); + console.log('\r\nRequired arguments:\r\n'); + console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); + console.log(' --pass [password] The Intel AMT login password.'); + console.log('\r\nOptional arguments:\r\n'); + console.log(' --user [username] The Intel AMT login username, admin is default.'); + console.log(' --tls Specifies that TLS must be used.'); + console.log(' --consent [none/kvm/all] Set Intel AMT user consent feature.'); + console.log(' --redir [0/1] Set Intel AMT redirection port feature.'); + console.log(' --kvm [0/1] Set Intel AMT KVM feature.'); + console.log(' --sol [0/1] Set Intel AMT Serial-over-LAN feature.'); + console.log(' --ider [0/1] Set Intel AMT IDE redirection feature.'); + } else if (action == 'meshcommander') { + console.log('This action launched a local web server that hosts MeshCommander, a Intel AMT management console.'); + console.log('\r\nPossible arguments:\r\n'); + console.log(' --localport [port] Local port used for the web server, 3000 is default.'); + console.log('\r\nRun as a background service:\r\n'); + console.log(' meshcommander install/uninstall/start/stop.'); + } else if (action == 'amteventlog') { + console.log('AmtEventLog action will fetch the local or remote event log. Example usage:\r\n\r\n meshcmd amteventlog --host 1.2.3.4 --user admin --pass mypassword --tls --output events.txt'); + console.log('\r\nPossible arguments:\r\n'); + console.log(' --output [filename] The output file for the Intel AMT event log.'); + console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); + console.log(' --user [username] The Intel AMT login username, admin is default.'); + console.log(' --pass [password] The Intel AMT login password.'); + console.log(' --tls Specifies that TLS must be used.'); + console.log(' --uuidoutput Output with unique identifier as the filename.'); + console.log(' --json Output as a JSON format.'); + } else if (action == 'amtauditlog') { + console.log('AmtAuditLog action will fetch the local or remote audit log. If used localy, no username/password is required. Example usage:\r\n\r\n meshcmd amtauditlog --host 1.2.3.4 --user admin --pass mypassword --tls --output audit.json'); + console.log('\r\nPossible arguments:\r\n'); + console.log(' --output [filename] The output file for the Intel AMT audit log.'); + console.log(' --host [hostname] The IP address or DNS name of Intel AMT, 127.0.0.1 is default.'); + console.log(' --user [username] The Intel AMT login username, admin is default.'); + console.log(' --pass [password] The Intel AMT login password.'); + console.log(' --tls Specifies that TLS must be used.'); + console.log(' --uuidoutput Output with unique identifier as the filename.'); + console.log(' --json Output as a JSON format.'); + } else if (action == 'amtider') { + console.log('AmtIDER will mount a local disk images to a remote Intel AMT computer. Example usage:\r\n\r\n meshcmd amtider --host 1.2.3.4 --user admin --pass mypassword --tls --floppy disk.img --cdrom disk.iso'); + console.log('\r\nPossible arguments:\r\n'); + console.log(' --host [hostname] The IP address or DNS name of Intel AMT.'); + console.log(' --user [username] The Intel AMT login username, admin is default.'); + console.log(' --pass [password] The Intel AMT login password.'); + console.log(' --tls Specifies that TLS must be used.'); + console.log(' --floppy [file] Specifies .img file to be mounted as a flppy disk.'); + console.log(' --cdrom [file] Specifies .img file to be mounted as a CDROM disk.'); + console.log(' --timeout [seconds] Optional, disconnect after number of seconds without disk read.'); + } else if (action == 'amtscan') { + console.log('AmtSCAN will look for Intel AMT device on the network. Example usage:\r\n\r\n meshcmd amtscan --scan 192.168.1.0/24'); + console.log('\r\Required arguments:\r\n'); + console.log(' --scan [ip range] The IP address range to perform the scan on.'); + } else { + actions.shift(); + console.log('Invalid action, usage:\r\n\r\n meshcmd help [action]\r\n\r\nValid actions are: ' + actions.join(', ') + '.'); + } + exit(1); return; + } + settings.action = settings.action.toLowerCase(); + debug(1, "Settings: " + JSON.stringify(settings)); + + // Setup the proxy if needed + if ((typeof settings.proxy) == 'string') { + var proxy = settings.proxy.split(':'), proxyport = (proxy.length == 2) ? parseInt(proxy[1]) : 0; + if ((proxy.length != 2) || (proxy[0].length < 1) || (proxyport < 1) || (proxyport > 65535)) { console.log('Invalid \"proxy\" specified, use --proxy [hostname]:[port].'); exit(1); return; } + try { require('global-tunnel').initialize({ host: proxy[0], port: proxyport }); } catch (ex) { console.log(ex); exit(1); return; } + console.log('Proxy set to ' + proxy[0] + ':' + proxyport); + } + + if (settings.action == 'smbios') { + // Display SM BIOS tables in raw form + SMBiosTables = require('smbios'); + SMBiosTables.get(function (data) { + var r = SMBiosTables.parse(data); + var out = objToString(r, 0, '\r\n'); + if (settings.output == null) { console.log(out); } else { var file = fs.openSync(settings.output, 'w'); fs.writeSync(file, Buffer.from(out, 'utf8')); fs.closeSync(file); } + exit(1); + }); + } else if (settings.action == 'rawsmbios') { + // Display SM BIOS tables in raw form + SMBiosTables = require('smbios'); + SMBiosTables.get(function (data) { + var out = ''; + for (var i in data) { var header = false; for (var j in data[i]) { if (data[i][j].length > 0) { if (header == false) { out += ('Table type #' + i + ((SMBiosTables.smTableTypes[i] == null) ? '' : (', ' + SMBiosTables.smTableTypes[i]))) + '\r\n'; header = true; } out += (' ' + data[i][j].toString('hex')) + '\r\n'; } } } + if (settings.output == null) { console.log(out); } else { var file = fs.openSync(settings.output, 'w'); fs.writeSync(file, Buffer.from(out, 'utf8')); fs.closeSync(file); } + exit(1); + }); + } else if (settings.action == 'route') { + // MeshCentral Router, port map local TCP port to a remote computer + if ((settings.localport == null) || (typeof settings.localport != 'number') || (settings.localport < 0) || (settings.localport > 65535)) { console.log('No or invalid \"localPort\" specified, use --localport [localport].'); exit(1); return; } + if ((settings.remotenodeid == null) || (typeof settings.remotenodeid != 'string')) { console.log('No or invalid \"remoteNodeId\" specified.'); exit(1); return; } + if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { console.log('No or invalid \"username\" specified, use --username [username].'); exit(1); return; } + if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } + if ((settings.serverid == null) || (typeof settings.serverid != 'string') || (settings.serverid.length != 96)) { console.log('No or invalid \"serverId\" specified.'); exit(1); return; } + if ((settings.serverhttpshash == null) || (typeof settings.serverhttpshash != 'string') || (settings.serverhttpshash.length != 96)) { console.log('No or invalid \"serverHttpsHash\" specified.'); exit(1); return; } + if ((settings.remoteport == null) || (typeof settings.remoteport != 'number') || (settings.remoteport < 0) || (settings.remoteport > 65535)) { console.log('No or invalid \"remotePort\" specified, use --remoteport [remoteport].'); exit(1); return; } + if (settings.serverurl != null) { startRouter(); } else { discoverMeshServer(); } // Start MeshCentral Router + } else if ((settings.action == 'amtloadwebapp') || (settings.action == 'amtloadsmallwebapp') || (settings.action == 'amtloadlargewebapp') || (settings.action == 'amtclearwebapp') || (settings.action == 'amtstoragestate')) { // Intel AMT Web Application Actions + // Intel AMT 11.6+ Load MeshCommander into firmware + if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } + if ((settings.hostname == null) || (typeof settings.hostname != 'string') || (settings.hostname == '')) { settings.hostname = '127.0.0.1'; } + if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } + settings.protocol = 'http:'; + settings.localport = 16992; + debug(1, "Settings: " + JSON.stringify(settings)); + digest = require('http-digest').create(settings.username, settings.password); + digest.http = require('http'); + if (settings.action == 'amtstoragestate') { + getAmtStorage(function (statusCode, data) { if (statusCode == 200) { console.log("Storage State: " + JSON.stringify(data, null, 2)); exit(); return; } else { console.log("Unable to read storage state."); exit(); return; } }); + } else { + if (settings.action == 'amtloadwebapp') { settings.webapp = Medium_IntelAmtWebApp; } + else if (settings.action == 'amtloadsmallwebapp') { settings.webapp = Small_IntelAmtWebApp; } + else if (settings.action == 'amtloadlargewebapp') { settings.webapp = Large_IntelAmtWebApp; } + else if (settings.action == 'amtclearwebapp') { settings.webapp = null; } + nextStepStorageUpload(); + } + } else if ((settings.action == 'amtversion') || (settings.action == 'amtversions') || (settings.action == 'amtver')) { + // Display Intel ME versions + var amtMeiModule, amtMei; + try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } + amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); + amtMei.getVersion(function (val) { + console.log("BIOS Version = " + val.BiosVersion.toString()); + for (var version in val.Versions) { + var extras = '', skuBits = ['', 'iQST', 'ASF', 'AMT', 'ISM', 'TPM', '', '', 'HomeIT', '', 'WOX', '', '', 'AT-p', 'Corporate', 'L3 Mgt Upgrade']; + if (val.Versions[version].Description == 'Sku') { + var n = parseInt(val.Versions[version].Version), x = [], xx = 1; + for (var i = 0; i < skuBits.length; i++) { if ((n & xx) != 0) { x.push(skuBits[i]); } xx = xx << 1; } + if (x.length > 0) { extras = ' (' + x.join(', ') + ')' } + } + console.log(val.Versions[version].Description + " = " + val.Versions[version].Version + extras); + } + exit(1); return; + }); + } else if (settings.action == 'amthashes') { + // Display Intel AMT list of trusted hashes + var amtMeiModule, amtMei; + try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } + amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); + amtMei.getHashHandles(function (handles) { + exitOnCount = handles.length; + for (var i = 0; i < handles.length; ++i) { + this.getCertHashEntry(handles[i], function (result) { + console.log(result.name + ', (' + (result.isDefault ? 'Default' : '') + (result.isActive ? ', Active' : ', Disabled') + ')\r\n ' + result.hashAlgorithmStr + ': ' + result.certificateHash); + if (--exitOnCount == 0) { exit(1); } + }); + } + }); + } else if (settings.action == 'netinfo') { + // Display network information + var interfaces = require('os').networkInterfaces(); + console.log(JSON.stringify(interfaces, 2, ' ')); + exit(0); return; + } else if (settings.action == 'amtinfo') { + // Display Intel AMT version and activation state + mestate = {}; + var amtMeiModule, amtMei; + try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } + amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); + amtMei.getVersion(function (result) { + if (result) { + for (var version in result.Versions) { + if (result.Versions[version].Description == 'AMT') { mestate.ver = result.Versions[version].Version; } + if (result.Versions[version].Description == 'Sku') { mestate.sku = parseInt(result.Versions[version].Version); } + } + } + }); + amtMei.getProvisioningState(function (result) { if (result) { mestate.ProvisioningState = result; } }); + amtMei.getProvisioningMode(function (result) { if (result) { mestate.ProvisioningMode = result; } }); + amtMei.getEHBCState(function (result) { if (result) { mestate.ehbc = result; } }); + amtMei.getControlMode(function (result) { if (result) { mestate.controlmode = result; } }); + amtMei.getMACAddresses(function (result) { if (result) { mestate.mac = result; } }); + amtMei.getLanInterfaceSettings(0, function (result) { if (result) { mestate.net0 = result; } }); + amtMei.getLanInterfaceSettings(1, function (result) { if (result) { mestate.net1 = result; } }); + amtMei.getUuid(function (result) { if ((result != null) && (result.uuid != null)) { mestate.uuid = result.uuid; } }); + amtMei.getDnsSuffix(function (result) { + if (result) { mestate.dns = result; } + if (mestate.ver && mestate.ProvisioningState && mestate.ProvisioningMode) { + var str = 'Intel ME v' + mestate.ver; + if (mestate.sku & 8) { str = 'Intel AMT v' + mestate.ver } + else if (mestate.sku & 16) { str = 'Intel SM v' + mestate.ver } + if (mestate.ProvisioningState.stateStr == 'PRE') { str += ', pre-provisioning state'; } + else if (mestate.ProvisioningState.stateStr == 'IN') { str += ', in-provisioning state'; } + else if (mestate.ProvisioningState.stateStr == 'POST') { + if (mestate.ProvisioningMode) { + if (mestate.controlmode) { + if (mestate.ProvisioningMode.modeStr == 'ENTERPRISE') { str += ', activated in ' + ["none", "client control mode", "admin control mode", "remote assistance mode"][mestate.controlmode.controlMode]; } else { str += ', activated in ' + mestate.ProvisioningMode.modeStr; } + } else { + str += ', activated in ' + mestate.ProvisioningMode.modeStr; + } + } + } + if ((mestate.ehbc) && (mestate.ehbc.EHBC == true)) { str += ', EHBC enabled'; } + str += '.'; + if (mestate.net0 != null) { str += '\r\nWired ' + ((mestate.net0.enabled == 1) ? 'Enabled' : 'Disabled') + ((mestate.net0.dhcpEnabled == 1) ? ', DHCP' : ', Static') + ', ' + mestate.net0.mac + (mestate.net0.address == '0.0.0.0' ? '' : (', ' + mestate.net0.address)); } + if (mestate.net1 != null) { str += '\r\nWireless ' + ((mestate.net1.enabled == 1) ? 'Enabled' : 'Disabled') + ((mestate.net1.dhcpEnabled == 1) ? ', DHCP' : ', Static') + ', ' + mestate.net1.mac + (mestate.net1.address == '0.0.0.0' ? '' : (', ' + mestate.net1.address)); } + if ((mestate.ProvisioningState.stateStr != 'POST') && (mestate.net0 != null) && (mestate.net0.enabled == 1)) { + if (mestate.dns != null) { + // Intel AMT has a trusted DNS suffix set, use that one. + str += '\r\nTrusted DNS suffix: ' + mestate.dns; + } else { + // Look for the DNS suffix for the Intel AMT Ethernet interface + var fqdn = null, interfaces = require('os').networkInterfaces(); + for (var i in interfaces) { + for (var j in interfaces[i]) { + if ((interfaces[i][j].mac == mestate.net0.mac) && (interfaces[i][j].fqdn != null) && (interfaces[i][j].fqdn != '')) { fqdn = interfaces[i][j].fqdn; } + } + } + if (fqdn != null) { str += '\r\nDNS suffix: ' + fqdn; } + } + } + console.log(str + '.'); + } else { + console.log('Intel(R) AMT not supported.'); + } + exit(1); + }); + } else if (settings.action == 'amtinfodebug') { + // Display Intel AMT version and activation state + mestate = {}; + var amtMeiModule, amtMei; + try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } + amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); + amtMei.getVersion(function (result) { console.log('getVersion: ' + JSON.stringify(result)); }); + amtMei.getProvisioningState(function (result) { console.log('getProvisioningState: ' + JSON.stringify(result)); }); + amtMei.getProvisioningMode(function (result) { console.log('getProvisioningMode: ' + JSON.stringify(result)); }); + amtMei.getEHBCState(function (result) { if (result) { console.log('getEHBCState: ' + JSON.stringify(result)); } }); + amtMei.getControlMode(function (result) { if (result) { console.log('getControlMode: ' + JSON.stringify(result)); } }); + amtMei.getMACAddresses(function (result) { if (result) { console.log('getMACAddresses: ' + JSON.stringify(result)); } }); + amtMei.getLanInterfaceSettings(0, function (result) { console.log('getLanInterfaceSettings0: ' + JSON.stringify(result)); }); + amtMei.getLanInterfaceSettings(1, function (result) { console.log('getLanInterfaceSettings1: ' + JSON.stringify(result)); }); + amtMei.getUuid(function (result) { console.log('getUuid: ' + JSON.stringify(result)); }); + amtMei.getDnsSuffix(function (result) { console.log('getDnsSuffix: ' + JSON.stringify(result)); exit(1); }); + } else if (settings.action == 'amtsavestate') { + // Save the entire state of Intel AMT info a JSON file + if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } + if ((settings.hostname == null) || (typeof settings.hostname != 'string') || (settings.hostname == '')) { settings.hostname = '127.0.0.1'; } + if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } + if ((settings.output == null) || (typeof settings.output != 'string') || (settings.output == '')) { console.log('No or invalid \"output\" file specified, use --output [filename].'); exit(1); return; } + settings.protocol = 'http:'; + settings.localport = 16992; + debug(1, "Settings: " + JSON.stringify(settings)); + saveEntireAmtState(); + } else if ((settings.action == 'microlms') || (settings.action == 'amtlms') || (settings.action == 'lms')) { + // Start Intel AMT MicroLMS + startLms(function (state) { + console.log(['MicroLMS did not start. Must run as administrator or LMS already active.', 'MicroLMS started.', 'MicroLMS started, MeshCommander on HTTP/16994.', 'MEI error'][state]); + if (((state == 0) || (state == 3)) && (settings.noconsole === true)) { exit(0); } else { console.log('Press ctrl-c to exit.'); } + }, settings.noconsole !== true); + } else if (settings.action == 'amtpresence') { + // Heartbeat a Intel AMT watchdog + if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } + if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } + if ((settings.agent == null) || (typeof settings.agent != 'string') || (settings.agent == '')) { console.log('No or invalid \"agent\" specified, use --agent [agent].'); exit(1); return; } + performAmtAgentPresence(); + } else if (settings.action == 'amtscript') { + // Start running a MEScript + if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } + if ((settings.hostname == null) || (typeof settings.hostname != 'string') || (settings.hostname == '')) { settings.hostname = '127.0.0.1'; } + if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } + if ((settings.script == null) || (typeof settings.script != 'string') || (settings.script == '')) { if (mescriptJSON != '') { settings.scriptjson = mescriptJSON; } else { console.log('No or invalid \"script\" file specified, use --script [filename].'); exit(1); return; } } + startMeScript(); + } else if (settings.action == 'amtuuid') { + // Start running + if (settings.hostname != null) { + if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } + if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } + } + settings.protocol = 'http:'; + settings.localport = 16992; + debug(1, "Settings: " + JSON.stringify(settings)); + getAmtUuid(); + } else if (settings.action == 'amtccm') { + // Start activation to CCM + if (((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) && ((settings.url == null) || (typeof settings.url != 'string') || (settings.url == ''))) { console.log('No or invalid parameters specified, use --password [password] or --url [url].'); exit(1); return; } + if ((typeof settings.profile != 'string') || (settings.profile == '')) { settings.profile = null; } + settings.protocol = 'http:'; + settings.localport = 16992; + debug(1, "Settings: " + JSON.stringify(settings)); + if (settings.password != null) { activeToCCM(); } else { activeToACM(); } + } else if (settings.action == 'amtacm') { + // Start activation to ACM + if ((settings.url == null) || (typeof settings.url != 'string') || (settings.url == '')) { console.log('No activation server URL specified, use --url [url].'); exit(1); return; } + if ((typeof settings.profile != 'string') || (settings.profile == '')) { settings.profile = null; } + debug(1, "Settings: " + JSON.stringify(settings)); + activeToACM(); + } else if (settings.action == 'amtdiscover') { + // Intel AMT server discovery, tell the server the state of Intel AMT. + if ((settings.url == null) || (typeof settings.url != 'string') || (settings.url == '')) { console.log('No activation server URL specified, use --url [url].'); exit(1); return; } + debug(1, "Settings: " + JSON.stringify(settings)); + activeToACM(); + } else if (settings.action == 'amtdeactivate') { + // Deactivate CCM + debug(1, "Settings: " + JSON.stringify(settings)); + deactivateCCM(); + } else if (settings.action == 'amtacmdeactivate') { + // Deactivate ACM + if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } + if ((settings.type == null) || (typeof settings.type != 'string') || (settings.type == '')) { console.log('Unprovisioning \"type\" must be specified, use --type [partial/full].'); exit(1); return; } + if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } + if (settings.hostname == null) { settings.hostname = '127.0.0.1'; } + if (settings.tls == null) { settings.tls = false; } + debug(1, "Settings: " + JSON.stringify(settings)); + deactivateACM(); + } else if (settings.action == 'meshcommander') { // Start MeshCommander + startMeshCommander(); + //} else if (settings.action == 'amtdisable') { // Disable AMT Network Interface + // amtDisable(); + } else if (settings.action == 'amtscan') { + // Scan the network for Intel AMT devices + if ((settings.scan == null) || (typeof settings.scan != 'string') || (settings.scan == '')) { console.log('No or invalid \"scan\" specified, use --scan [ip range].'); exit(1); return; } + console.log('Scanning: ' + settings.scan + '...'); + var AMTScannerModule = require('amt-scanner'); + var amtscanner = new AMTScannerModule(), r = ''; + amtscanner.scan(settings.scan, 2000, function (data) { + if (data.length > 0) { + r = '', pstates = ['NotActivated', 'InActivation', 'Activated']; + for (var i in data) { + var x = data[i]; + if (r != '') { r += '\r\n'; } + r += x.address + ' - Intel AMT v' + x.majorVersion + '.' + x.minorVersion; + if (x.provisioningState < 3) { r += (', ' + pstates[x.provisioningState]); } + if (x.provisioningState == 2) { r += (', ' + x.openPorts.join(', ')); } + r += '.'; + } + } else { + r = 'No Intel AMT found.'; + } + console.log(r); + exit(1); + }); + } else if (settings.action == 'amtauditlog') { // Read the Intel AMT audit log + if (settings.hostname != null) { + if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } + if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } + } else { settings.hostname = '127.0.0.1'; } + readAmtAuditLog(); + } else if (settings.action == 'amteventlog') { // Read the Intel AMT audit log + if (settings.hostname != null) { + if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } + if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } + } else { settings.hostname = '127.0.0.1'; } + readAmtEventLog(); + } else if (settings.action == 'amtider') { // Remote mount IDER image + if ((settings.hostname == null) || (typeof settings.hostname != 'string') || (settings.hostname == '')) { console.log('No or invalid \"hostname\" specified, use --hostname [password].'); exit(1); return; } + if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } + if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } + if ((settings.floppy == null) || (typeof settings.floppy != 'string') || (settings.floppy == '')) { settings.floppy = null; } + if ((settings.cdrom == null) || (typeof settings.cdrom != 'string') || (settings.cdrom == '')) { settings.cdrom = null; } + if ((settings.floppy == null) && (settings.cdrom == null)) { console.log('No or invalid \"floppy\" or \"cdrom\" specified, use --floppy [file] or --cdrom [file].'); exit(1); return; } + performIder(); + } else if (settings.action == 'amtnetwork') { // Perform remote Intel AMT wired IPv4 configuration operation + if (settings.hostname == null) { settings.hostname = '127.0.0.1'; } + if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } + if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } + performAmtNetConfig(args); + } else if (settings.action == 'amtfeatures') { // Perform remote Intel AMT feature configuration operation + if (settings.hostname == null) { settings.hostname = '127.0.0.1'; } + if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } + if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } + performAmtFeatureConfig(args); + } else if (settings.action == 'amtpower') { // Perform remote Intel AMT power operation + if ((settings.hostname == null) || (typeof settings.hostname != 'string') || (settings.hostname == '')) { console.log('No or invalid \"hostname\" specified, use --hostname [host].'); exit(1); return; } + if ((settings.password == null) || (typeof settings.password != 'string') || (settings.password == '')) { console.log('No or invalid \"password\" specified, use --password [password].'); exit(1); return; } + if ((settings.username == null) || (typeof settings.username != 'string') || (settings.username == '')) { settings.username = 'admin'; } + + /* + 2 = Power On + 3 = Sleep - Light + 4 = Sleep - Deep + 5 = Power Cycle (Off Soft) + 6 = Power Off - Hard + 7 = Hibernate + 8 = Power Off - Soft + 9 = Power Cycle (Off Hard) + 10 = Master Bus Reset + 11 = Diagnostic Interrupt (NMI) + 12 = Power Off - Soft Graceful + 13 = Power Off - Hard Graceful + 14 = Master Bus Reset Graceful + 15 = Power Cycle (Off - Soft Graceful) + 16 = Power Cycle (Off - Hard Graceful) + */ + + settings.poweraction = 0; + if (args.poweron) { settings.poweraction = 2; } + if (args.sleep) { settings.poweraction = 3; } + if (args.powercycle) { settings.poweraction = 5; } + if (args.poweroff) { settings.poweraction = 6; } + if (args.hibernate) { settings.poweraction = 7; } + if (args.reset) { settings.poweraction = 10; } + //if (settings.poweraction == 0) { console.log('No power action, specify --poweron, --sleep, --powercycle, --poweroff, --hibernate, --reset.'); exit(1); return; } + performAmtPowerAction(); + } else { + console.log('Invalid \"action\" specified.'); exit(1); return; + } +} + +// +// Intel AMT Agent Presence +// + +function performAmtAgentPresence() { startLms(function () { tempWatchdogTimer = setTimeout(performAmtAgentPresenceRegister, 3000); }); } + +function performAmtAgentPresenceRegister() { + // Setup the Intel AMT WSMAN stack + tempWatchdogTimer = null; + var transport = require('amt-wsman-duk'); + var wsman = require('amt-wsman'); + var amt = require('amt'); + wsstack = new wsman(transport, '127.0.0.1', settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); + amtstack = new amt(wsstack); + + // Register the watchdog + watchdog = { DeviceID: Buffer.from(guidToStr(settings.agent.split('-').join('')).split('-').join(''), 'hex').toString('base64'), Retry: 0 }; + amtstack.AMT_AgentPresenceWatchdog_RegisterAgent(performAmtAgentPresenceRegisterRetry, watchdog, watchdog.Seq, { 'DeviceID': watchdog.DeviceID }); +} + +// Called after the agent is registered +function performAmtAgentPresenceRegisterRetry(stack, name, response, status, watchdog) { + if ((status == 200) && (response.Body.SessionSequenceNumber) && (response.Body.TimeoutInterval)) { + console.log('Asserting presence of the watchdog...'); + watchdog.Seq = response.Body.SessionSequenceNumber; + watchdog.Interval = response.Body.TimeoutInterval * 800; + watchdog.Retry = 0; + tempWatchdogTimer = setTimeout(performAmtAgentPresenceAssert, watchdog.Interval); + } else { + debug(1, 'Failed to register, status = ' + status); + watchdog.Retry++; + if (watchdog.Retry < 5) { + tempWatchdogTimer = setTimeout(function () { amtstack.AMT_AgentPresenceWatchdog_RegisterAgent(performAmtAgentPresenceRegisterRetry, watchdog, watchdog.Seq, { 'DeviceID': watchdog.DeviceID }); }, 1000); + } else { + console.log('Failed to register this watchdog.'); + process.exit(0); + } + } +} + +// Start a new agent assert +function performAmtAgentPresenceAssert() { + watchdog.Seq++; + amtstack.AMT_AgentPresenceWatchdog_AssertPresence(watchdog.Seq, performAmtAgentPresenceAssertRetry, watchdog, 0, { 'DeviceID': watchdog.DeviceID }); +} + +// Called after the agent is asserted +function performAmtAgentPresenceAssertRetry(stack, name, response, status, watchdog) { + if (status == 200) { + debug(1, 'Succesful assert, sequence = ' + watchdog.Seq); + watchdog.Retry = 0; + tempWatchdogTimer = setTimeout(performAmtAgentPresenceAssert, watchdog.Interval); + } else { + debug(1, 'Failed to assert, status = ' + status); + watchdog.Retry++; + if (watchdog.Retry < 5) { + amtstack.AMT_AgentPresenceWatchdog_AssertPresence(watchdog.Seq, performAmtAgentPresenceAssertRetry, watchdog, 0, { 'DeviceID': watchdog.DeviceID }); + } else { + console.log('Failed to assert presence on this watchdog.'); + process.exit(0); + } + } +} + +function performAmtAgentPresenceEx5(stack, name, response, status, watchdog) { + console.log('b', status, watchdog); + if (status == 200) { + watchdog.Retry = 0; + } else { + watchdog.Retry++; + if (watchdog.Retry < 5) { + amtstack.AMT_AgentPresenceWatchdog_AssertPresence(watchdog.Seq, performAmtAgentPresenceEx4, watchdog, 0, { 'DeviceID': watchdog.DeviceID }); + } else { + console.log('Failed to assert presence on this watchdog.'); + process.exit(0); + } + } +} + + +// +// Intel AMT Event Log +// + +function readAmtEventLog() { + // See if MicroLMS needs to be started + if ((settings.hostname == '127.0.0.1') || (settings.hostname.toLowerCase() == 'localhost')) { + settings.noconsole = true; startLms(readAmtEventLogEx); + } else { + readAmtEventLogEx(9999); + } +} + +function readAmtEventLogEx(x) { + if (x == 9999) { + var transport = require('amt-wsman-duk'); + var wsman = require('amt-wsman'); + var amt = require('amt'); + wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); + amtstack = new amt(wsstack); + amtstack.GetMessageLog(readAmtEventLogEx2); + } else { + osamtstack.GetMessageLog(readAmtEventLogEx2); + } +} + +function readAmtEventLogEx2(stack, messages) { + if (messages == null) { + console.log('Unable to get event log.'); + } else { + var out = ''; + if (settings.json) { + out = JSON.stringify(messages, 4, ' '); + } else { + for (var i in messages) { out += messages[i].Time + ', ' + messages[i].EntityStr + ', ' + messages[i].Desc + ', ' + messages[i].EventSeverity + '\r\n'; } + } + if ((settings.output == null || settings.output == "") && !settings.uuidoutput) { console.log(out); exit(1); } + else { + try { + if (settings.output) { + var file = fs.openSync(settings.output, 'w'); + fs.writeSync(file, Buffer.from(out)); + fs.closeSync(file); + exit(1); + } + else if (settings.uuidoutput) { + var destpath = null; //Dest path where messagelog file will be saved + if ((typeof settings.uuidoutput) == 'string') { + fs.statSync(settings.uuidoutput).isDirectory();//Validate directory path + destpath = settings.uuidoutput; + } + //Generate uuid and append it to dest path + stack.Get('CIM_ComputerSystemPackage', function (obj, name, response, xstatus, tag) { + if (xstatus == 200) { + var eventlogsfile = path.join(destpath, guidToStr(response.Body.PlatformGUID.toLowerCase() + '_Event' + (settings.json ? '.json' : '.csv'))); + var file = fs.openSync(eventlogsfile, 'w'); + fs.writeSync(file, Buffer.from(out)); + fs.closeSync(file); + } else { + console.log('Intel AMT is not available or not activated, status = ' + status + '.'); + } exit(1); + }); + } + else{ + console.log('Invalid action, usage:\r\n\r\n meshcmd help amtauditlog'); + exit(1); + } + } + catch (e) { + console.log(e); + exit(1); + } + } + } +} + +// +// Intel AMT Audit Log +// + +function readAmtAuditLog() { + // See if MicroLMS needs to be started + if ((settings.hostname == '127.0.0.1') || (settings.hostname.toLowerCase() == 'localhost')) { + settings.noconsole = true; startLms(readAmtAuditLogEx); + } else { + readAmtAuditLogEx(9999); + } +} + +function readAmtAuditLogEx(x) { + if (x == 9999) { + var transport = require('amt-wsman-duk'); + var wsman = require('amt-wsman'); + var amt = require('amt'); + wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); + amtstack = new amt(wsstack); + amtstack.GetAuditLog(readAmtAuditLogEx2); + } else { + osamtstack.GetAuditLog(readAmtAuditLogEx2); + } +} + +function readAmtAuditLogEx2(stack, response, status) { + if (status != 200) { + console.log('Unable to get audit log, status = ' + status + '.'); + } else { + var out = ''; + if (settings.json) { + out = JSON.stringify(response, 4, ' '); + } else { + for (var i in response) { + var name = ((response[i].Initiator != '') ? (response[i].Initiator + ': ') : '') + out += (response[i].Time + ' - ' + name + response[i].Event + '\r\n'); + } + } + if ((settings.output == null || settings.output == "") && !settings.uuidoutput) { console.log(out); exit(1); } + else { + try { + if (settings.output) { + var file = fs.openSync(settings.output, 'w'); + fs.writeSync(file, Buffer.from(out)); + fs.closeSync(file); + exit(1); + } + else if (settings.uuidoutput) { + var destpath = null; //Dest path where auditlog file will be saved + if ((typeof settings.uuidoutput) == 'string') { + fs.statSync(settings.uuidoutput).isDirectory();//Validate directory path + destpath = settings.uuidoutput; + } + //Generate uuid and append it to dest path + stack.Get('CIM_ComputerSystemPackage', function (obj, name, response, xstatus, tag) { + if (xstatus == 200) { + var auditlogsfile = path.join(destpath, guidToStr(response.Body.PlatformGUID.toLowerCase() + '_Audit' + (settings.json ? '.json' : '.csv'))); + var file = fs.openSync(auditlogsfile, 'w'); + fs.writeSync(file, Buffer.from(out)); + fs.closeSync(file); + } else { + console.log('Intel AMT is not available or not activated, status = ' + status + '.'); + } exit(1); + }); + } + else{ + console.log('Invalid action, usage:\r\n\r\n meshcmd help amtauditlog'); + exit(1); + } + } + catch (e) { + console.log(e); + exit(1); + } + } + } +} + +// +// Disable AMT Network +// + +//function amtDisable() { +// settings.noconsole = true; +// startLms(amtDisableEx); +//} + +//function amtDisableEx(stack, response, status) { +// //console.log(osamtstack); +// osamtstack.Get('AMT_EthernetPortSettings', function (stack, name, response, status) { +// console.log(response.Body); +// }); +//} + +// +// MeshCommander local web server +// + +function startMeshCommander() { + if (settings.localport == null) { settings.localport = 3000; } + + // Start the web server + var http = require('http'); + webServer = http.createServer(); + webServer.listen(settings.localport); + webServer.wsList = {}; + webServer.wsListIndex = 0; + webServer.on('upgrade', function (req, socket, head) { + //console.log("WebSocket for " + req.url.split('?')[0]); + switch (req.url.split('?')[0]) { + case '/webrelay.ashx': // MeshCommander relay channel + var ws = socket.upgradeWebSocket(); + socket.ws = ws; + ws.wsIndex = ++webServer.wsListIndex; + webServer.wsList[ws.wsIndex] = ws; // Keep a reference so the websocket and forwarder don't get disposed. + ws.pause(); + + // We got a new web socket connection, initiate a TCP connection to the target Intel AMT host/port. + var webargs = parseUrlArguments(req.url); + if (webargs.p) { webargs.p = parseInt(webargs.p); } + if (webargs.tls) { webargs.tls = parseInt(webargs.tls); } + if (webargs.tls1only) { webargs.tls1only = parseInt(webargs.tls1only); } + if (webargs.port) { webargs.port = parseInt(webargs.port); } + debug(1, 'Opening web socket connection to ' + webargs.host + ':' + webargs.port + '.'); + //console.log('Opening web socket connection to ' + webargs.host + ':' + webargs.port + '.'); + if (webargs.tls == 0) { + // If this is TCP (without TLS) set a normal TCP socket + var net = require('net'); + ws.forwardclient = net.connect({ host: webargs.host, port: webargs.port }) + ws.forwardclient.on('connect', function () { debug(1, 'Connected TCP to ' + webargs.host + ':' + webargs.port + '.'); this.pipe(this.ws, { end: false }); this.ws.pipe(this, { end: false }); }); + ws.forwardclient.on('error', function () { debug(1, 'TCP connection error to ' + webargs.host + ':' + webargs.port + '.'); try { this.ws.end(); } catch (e) { } }); + ws.forwardclient.ws = ws; + } else { + // If TLS is going to be used, setup a TLS socket + var tls = require('tls'); + var tlsoptions = { host: webargs.host, port: webargs.port, secureProtocol: ((webargs.tls1only == 1) ? 'TLSv1_method' : 'SSLv23_method'), rejectUnauthorized: false }; + ws.forwardclient = tls.connect(tlsoptions, function () { debug(1, 'Connected TLS to ' + webargs.host + ':' + webargs.port + '.'); this.pipe(this.ws, { end: false }); this.ws.pipe(this, { end: false }); }); + ws.forwardclient.on('error', function () { debug(1, 'TLS connection error to ' + webargs.host + ':' + webargs.port + '.'); try { this.ws.end(); } catch (e) { } }); + ws.forwardclient.ws = ws; + } + + // Handle pipe closure + ws.on('end', function () { debug(1, 'Disconnected from ' + webargs.host + ':' + webargs.port + '.'); try { this.forwardclient.end(); } catch (e) { } delete webServer.wsList[this.wsIndex]; }); + ws.forwardclient.on('end', function () { try { this.ws.end(); } catch (e) { } }); + + break; + default: + socket.end(); + break; + } + }); + webServer.on('request', function (req, rsp) { + //console.log("WebRequest for " + req.url.split('?')[0]); + switch (req.url.split('?')[0]) { + case '/': // Serve MeshCommander Web Application + var meshcommander = null; + try { meshcommander = fs.readFileSync('meshcommander.htm'); } catch (e) { } + if (meshcommander != null) { + rsp.writeHead(200, 'OK', { Server: 'JSLMS', 'Cache-Control': 'max-age=0, no-cache', 'X-Frame-Options': 'DENY', 'Content-Type': 'text/html', 'Transfer-Encoding': 'chunked' }); + rsp.end(meshcommander); + } else { + rsp.writeHead(200, 'OK', { Server: 'JSLMS', 'Cache-Control': 'max-age=0, no-cache', 'X-Frame-Options': 'DENY', 'Content-Type': 'text/html', 'Content-Encoding': 'gzip', 'Transfer-Encoding': 'chunked', ETag: FullSite_IntelAmtLocalWebApp_etag }); + rsp.end(Buffer.from(FullSite_IntelAmtLocalWebApp, 'base64')); + } + break; + default: // Unknown request + rsp.statusCode = 404; + rsp.statusMessage = "Not Found"; + rsp.end(); + break; + } + }); + console.log('MeshCommander running on HTTP port ' + settings.localport + '.'); + console.log('Press ctrl-c to exit.'); +} + + +// +// Deactivate Intel AMT CCM +// + +// When called, this will use MEI to deactivate Intel AMT when it's in CCM mode. Simply calls "unprovision" on MEI and checks the return code. +function deactivateCCM() { + var amtMeiModule, amtMei; + try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } + amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); + amtMei.unprovision(1, function (status) { if (status == 0) { console.log('Success'); } else { console.log('Error ' + status); } exit(1); }); +} + + +// +// Activate Intel AMT to CCM +// + +function activeToCCM() { + // See if MicroLMS needs to be started and setup the $$OsAdmin wsman stack + settings.noconsole = true; + startLms(activeToCCMEx); // TODO: Fix this so that it works even if LMS already running. +} + +function activeToCCMEx(state) { + osamtstack.BatchEnum(null, ['*AMT_GeneralSettings', '*IPS_HostBasedSetupService'], activeToCCMEx2); +} + +function activeToCCMEx2(stack, name, responses, status) { + if (status != 200) { console.log('Failed to fetch activation status, status ' + status); exit(1); } + else if (responses['IPS_HostBasedSetupService'].response['AllowedControlModes'].length != 2) { console.log('Client control mode activation not allowed'); exit(1); } + else { osamtstack.IPS_HostBasedSetupService_Setup(2, md5hex('admin:' + responses['AMT_GeneralSettings'].response['DigestRealm'] + ':' + settings.password).substring(0, 32), null, null, null, null, activeToCCMEx3); } +} + +function activeToCCMEx3(stack, name, responses, status) { + if (status != 200) { console.log('Failed to activate, status ' + status); } + else if (responses.Body.ReturnValue != 0) { console.log('Client control mode activation failed: ' + responses.Body.ReturnValueStr); } + else { console.log('Success'); exit(0); } + exit(1); +} + + + + +// +// Deactivate Intel AMT ACM +// + +// When called, this will use MEI to deactivate Intel AMT when it's in ACM mode. Calls "unprovision" on MEI and checks the return code. +function deactivateACM() { + settings.noconsole = true; + startLms(deactivateACMEx); +} + +function deactivateACMEx() { + var transport = require('amt-wsman-duk'); + var wsman = require('amt-wsman'); + var amt = require('amt'); + wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); + amtstack = new amt(wsstack); + amtstack.Get("AMT_SetupAndConfigurationService", function (stack, name, responses, status) { + if (status !== 200) { + console.log('Command not allowed. Status: ' + status); + exit(1); + } else { + var sacs = responses.Body; + if (sacs.ZeroTouchConfigurationEnabled == true) { sacs.ZeroTouchConfigurationEnabled = true; } + amtstack.Put("AMT_SetupAndConfigurationService", sacs, function (stack, name, responses, status) { + if (settings.type == 'full') { + amtstack.AMT_SetupAndConfigurationService_Unprovision(2, function (stack, name, responses, status) { + if (status != 200) { console.log('Failed to fully unconfigure AMT, status ' + status); exit(1); } + else if (responses.Body.ReturnValue != 0) { console.log('Unprovision failed: ' + responses.Body.ReturnValueStr); exit(1); } + else { console.log('AMT fully unprovisioned.'); exit(0); } + }); + } else { + console.log('Only full unprovision is currently supported.'); + exit(0); + } + //} else if (settings.type == 'partial') { + // amtstack.AMT_SetupAndConfigurationService_PartialUnprovision(null, function (stack, name, responses, status) { + // if (status != 200) { console.log('Failed to partially unconfigure AMT, status ' + status); exit(1); } + // else if (responses.Body.ReturnValue != 0) { console.log('Unprovision failed: ' + responses.Body.ReturnValueStr); exit(1); } + // else { console.log('AMT partially unprovisioned.'); exit(0); } + // }); + //} + }); + } + }); +} + +// +// Get Intel AMT activation hashes +// + +var trustedHashes = null; +function getTrustedHashes(amtMei, func, tag) { + if (trustedHashes != null) { func(tag); } + trustedHashes = []; + amtMei.getHashHandles(function (handles) { + var exitOnCount = handles.length; + for (var i = 0; i < handles.length; ++i) { + this.getCertHashEntry(handles[i], function (result) { + if (result.isActive == 1) { trustedHashes.push(result.certificateHash.toLowerCase()); } + if (--exitOnCount == 0) { func(tag); } + }); + } + }); +} + +// +// Activate Intel AMT to with server (ACM or CCM) +// + +function activeToACM() { + console.log('Starting Intel AMT activation attempt...'); + settings.noconsole = true; + + // Display Intel AMT version and activation state + mestate = {}; + var amtMeiModule, amtMei; + try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } + amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); + amtMei.getProvisioningState(function (result) { if (result) { mestate.ProvisioningState = result; } }); + amtMei.getVersion(function (val) { mestate.vers = {}; if (val != null) { for (var version in val.Versions) { mestate.vers[val.Versions[version].Description] = val.Versions[version].Version; } } }); + amtMei.getLanInterfaceSettings(0, function (result) { if (result) { mestate.net0 = result; } }); + amtMei.getUuid(function (result) { if ((result != null) && (result.uuid != null)) { mestate.uuid = result.uuid; } }); + amtMei.getControlMode(function (result) { if (result != null) { mestate.controlMode = result.controlMode; } }); // controlMode: 0 = NoActivated, 1 = CCM, 2 = ACM + amtMei.getDnsSuffix(function (result) { + if ((mestate.vers == null) || (mestate.vers['AMT'] == null)) { console.log("Unable to get Intel AMT version."); exit(100); return; } + if (mestate.ProvisioningState == null) { console.log("Unable to read Intel AMT activation state."); exit(100); return; } + if ((settings.action != 'amtdiscover') && (mestate.controlMode == 2)) { console.log("Intel AMT already activation in admin control mode."); exit(100); return; } + if (mestate.uuid == null) { console.log("Unable to get Intel AMT UUID."); exit(100); return; } + var fqdn = null; + if ((mestate.net0 == null) && (meinfo.net0.enabled != 0)) { console.log("No Intel AMT wired interface, can't perform ACM activation."); exit(100); return; } + if (result) { fqdn = result; } // If Intel AMT has a trusted DNS suffix set, use that one. + else { + // Look for the DNS suffix for the Intel AMT Ethernet interface + var interfaces = require('os').networkInterfaces(); + for (var i in interfaces) { + for (var j in interfaces[i]) { + if ((interfaces[i][j].mac == mestate.net0.mac) && (interfaces[i][j].fqdn != null) && (interfaces[i][j].fqdn != '')) { fqdn = interfaces[i][j].fqdn; } + } + } + } + if (fqdn != null) { + settings.fqdn = fqdn; + settings.uuid = mestate.uuid; + getTrustedHashes(amtMei, function () { startLms(getFwNonce, amtMei); }); + } else { + console.log("Trusted DNS suffix not set, can't perform ACM activation."); exit(100); return; + } + }); +} + +// Gets the FWNonce from AMT and saves it to a file. +function getFwNonce() { + osamtstack.BatchEnum(null, ['*AMT_GeneralSettings', '*IPS_HostBasedSetupService'], function (stack, name, responses, status) { + if (status != 200) { console.log("Unable to get firmware activation nonce, status=" + status); exit(100); return; } + var fwNonce = responses['IPS_HostBasedSetupService'].response['ConfigurationNonce']; + var digestRealm = responses['AMT_GeneralSettings'].response['DigestRealm']; + var allowedModes = responses['IPS_HostBasedSetupService'].response['AllowedControlModes']; // 1 = CCM, 2 = ACM + activeToACMEx(fwNonce, settings.fqdn, digestRealm, settings.uuid, allowedModes); + }); +} + +// Connect to the activation server and perform ACM activation +function activeToACMEx(fwNonce, dnsSuffix, digestRealm, uuid, allowedModes) { + console.log('FQDN: ' + dnsSuffix); + console.log('UUID: ' + uuid); + console.log('Realm: ' + digestRealm); + console.log('Nonce: ' + fwNonce); + console.log('Connecting to ' + settings.url); + + // Establish WebSocket connection to activation server + var options = http.parseUri(settings.url); + options.checkServerIdentity = onVerifyServer; + options.rejectUnauthorized = false; + var connection = http.request(options); + connection.on('upgrade', function (response, socket) { + settings.xxsocket = socket; + if (settings.action == 'amtdiscover') { console.log('Connected, performing discovery...'); } else { console.log('Connected, requesting activation...'); } + socket.on('end', function () { console.log('Connection closed'); exit(0); }); + socket.on('error', function () { console.log('Connection error'); exit(100); }); + socket.on('data', function (data) { + // Parse and check the response + var cmd = null; + try { cmd = JSON.parse(data); } catch (ex) { console.log('Unable to parse server response: ' + data); exit(100); return; } + if (typeof cmd != 'object') { console.log('Invalid server response: ' + cmd); exit(100); return; } + if (typeof cmd.errorText == 'string') { console.log('Server error: ' + cmd.errorText); exit(100); return; } + if (typeof cmd.messageText == 'string') { console.log('Server: ' + cmd.messageText); return; } + switch (cmd.action) { + case 'acmactivate': { + // Server responded with ACM activation response + if (typeof cmd.signature != 'string') { console.log('Invalid server signature'); exit(100); return; } + if (typeof cmd.password != 'string') { console.log('Invalid server password'); exit(100); return; } + if (typeof cmd.nonce != 'string') { console.log('Invalid server nonce'); exit(100); return; } + if (typeof cmd.certs != 'object') { console.log('Invalid server certificates'); exit(100); return; } + settings.xxprofileScript = cmd.profileScript; + settings.xxrawpassword = cmd.rawpassword; + + cmd.index = 0; + // If we are in CCM mode, deactivate. + if (mestate.controlMode == 1) { + amtMei.unprovision(1, function (status) { + if (status == 0) { + console.log('Intel AMT CCM deactivated, holding 10 seconds...'); + // We are ready to go, perform ACM activation. + settings.xxTimer = setTimeout(function () { performAcmActivation(cmd, AcmActivationCompleted); }, 10000); + } else { + console.log('Intel AMT CCM deactivation error ' + status); exit(1); return; + } + }); + } else { + // We are ready to go, perform ACM activation. + performAcmActivation(cmd, AcmActivationCompleted); + } + break; + } + case 'ccmactivate': { + // Server responded with CCM activation response + if (typeof cmd.password != 'string') { console.log('Invalid server password'); exit(100); return; } + settings.xxprofileScript = cmd.profileScript; + settings.xxrawpassword = cmd.rawpassword; + + // If we are already in CCM mode, deactivate. + if (mestate.controlMode == 1) { + amtMei.unprovision(1, function (status) { + if (status == 0) { + console.log('Intel AMT CCM deactivated, holding 10 seconds...'); + // We are ready to go, perform CCM activation. + settings.xxTimer = setTimeout(function () { osamtstack.IPS_HostBasedSetupService_Setup(2, cmd.password, null, null, null, null, performCcmActivation); }, 10000); + } else { + console.log('Intel AMT CCM deactivation error ' + status); exit(1); return; + } + }); + } else { + // We are ready to go, perform CCM activation. + osamtstack.IPS_HostBasedSetupService_Setup(2, cmd.password, null, null, null, null, performCcmActivation); + } + break; + } + case 'amtdiscover': { + console.log('Done.'); + exit(0); + break; + } + default: { + console.log('Invalid server response, command: ' + cmd.action); exit(100); + break; + } + } + }); + + var action = 'acmactivate'; + if (settings.action == 'amtccm') { action = 'ccmactivate'; } + if (settings.action == 'amtdiscover') { action = 'amtdiscover'; } + socket.write({ client: 'meshcmd', version: 1, action: action, fqdn: dnsSuffix, realm: digestRealm, nonce: fwNonce, uuid: uuid, profile: settings.profile, hashes: trustedHashes, tag: settings.tag, name: settings.name, ver: mestate.vers['AMT'], build: mestate.vers['Build Number'], sku: parseInt(mestate.vers['Sku']), modes: allowedModes, currentMode: mestate.controlMode, hostname: require('os').hostname() }); + }); + connection.end(); +} + +function performCcmActivation(stack, name, responses, status) { + if (status != 200) { + settings.xxsocket.write({ client: 'meshcmd', version: 1, action: 'ccmactivate-failed', uuid: mestate.uuid }); + console.log('Failed to activate, status ' + status); + } else if (responses.Body.ReturnValue != 0) { + settings.xxsocket.write({ client: 'meshcmd', version: 1, action: 'ccmactivate-failed', uuid: mestate.uuid }); + console.log('Intel AMT CCM activation failed: ' + responses.Body.ReturnValueStr); + } else { + settings.xxsocket.write({ client: 'meshcmd', version: 1, action: 'ccmactivate-success', uuid: mestate.uuid }); + if ((settings.xxprofileScript !== null) && (settings.xxrawpassword != null)) { + console.log("Intel AMT CCM activation success, applying profile..."); + settings.scriptjson = settings.xxprofileScript; + settings.password = settings.xxrawpassword; // This is only going to work if the server sends the raw password + settings.username = 'admin'; + startMeScriptEx(function () { console.log('Intel AMT profile applied.'); socket.end(); exit(0); }, stack); + return; + } else { + console.log('Intel AMT CCM activation success.'); + settings.xxsocket.end(); + exit(0); + return; + } + } + settings.xxsocket.end(); + exit(1); +} + +function AcmActivationCompleted(result) { + if (result == false) { + console.log('Intel AMT ACM activation failed.'); + settings.xxsocket.write({ client: 'meshcmd', version: 1, action: 'acmactivate-failed', uuid: mestate.uuid }); + settings.xxsocket.end(); + exit(1); + } else { + if ((settings.xxprofileScript !== null) && (settings.xxrawpassword != null)) { + console.log('Intel AMT ACM activation success, applying profile...'); + settings.scriptjson = settings.xxprofileScript; + settings.password = settings.xxrawpassword; // This is only going to work if the server sends the raw password + settings.username = 'admin'; + startMeScriptEx(function () { console.log('Intel AMT profile applied.'); settings.xxsocket.end(); exit(0); }, stack); + } else { + console.log('Intel AMT ACM activation success.'); + settings.xxsocket.write({ client: 'meshcmd', version: 1, action: 'acmactivate-success', uuid: mestate.uuid }); + settings.xxsocket.end(); + exit(0); + } + } +} + +// Recursive function to inject the provisioning certificates into AMT in the proper order and completes ACM activation +function performAcmActivation(acmdata, func) { + var leaf = (acmdata.index == 0), root = (acmdata.index == (acmdata.certs.length - 1)); + if ((acmdata.index < acmdata.certs.length) && (acmdata.certs[acmdata.index] != null)) { + osamtstack.IPS_HostBasedSetupService_AddNextCertInChain(acmdata.certs[acmdata.index], leaf, root, function (stack, name, responses, status) { + if (status !== 200) { console.log('AddNextCertInChain error, status=' + status); exit(1); return; } + else if (responses['Body']['ReturnValue'] !== 0) { console.log('AddNextCertInChain error: ' + responses['Body']['ReturnValue']); exit(1); return; } + else { acmdata.index++; performAcmActivation(acmdata, func); } + }); + } else { + //console.log(acmdata.password, acmdata.nonce, acmdata.signature); + osamtstack.IPS_HostBasedSetupService_AdminSetup(2, acmdata.password, acmdata.nonce, 2, acmdata.signature, + function (stack, name, responses, status) { + if (status !== 200) { console.log('Error, AdminSetup status: ' + status); } + else if (responses['Body']['ReturnValue'] != 0) { console.log('Error, AdminSetup return value: ' + responses['Body']['ReturnValue']); } + func((status == 200) && (responses['Body']['ReturnValue'] == 0)); + } + ); + } +} + +// +// Get AMT UUID +// + +// Called to get the UUID of Intel AMT, start by setting up MicroLMS if we are doing the operation on the local computer +function getAmtUuid() { + if (settings.hostname == null) { + var amtMeiModule, amtMei; + try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } + amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); + amtMei.getUuid(function (result) { if ((result == null) || (result.uuid == null)) { console.log('Failed.'); } else { console.log(result.uuid); } exit(1); }); + } else { + if ((settings.hostname == '127.0.0.1') || (settings.hostname.toLowerCase() == 'localhost')) { settings.noconsole = true; startLms(getAmtUuidEx); return; } else { getAmtUuidEx(); } + } +} + +// Fetch the computer's UUID by fetching the CIM_ComputerSystemPackage WSMAN object. +function getAmtUuidEx() { + var transport = require('amt-wsman-duk'); + var wsman = require('amt-wsman'); + var amt = require('amt'); + wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); + amtstack = new amt(wsstack); + amtstack.Get("CIM_ComputerSystemPackage", function (obj, name, response, xstatus, tag) { + if (xstatus == 200) { console.log("GUID: " + guidToStr(response.Body.PlatformGUID.toLowerCase())); } else { console.log("Intel AMT is not available or not activated."); } exit(1); + }); +} + + +// +// Run MESCRIPT +// + +// Run a .mescript targeting local or remote Intel AMT. +function startMeScript() { + // See if MicroLMS needs to be started + if ((settings.hostname == '127.0.0.1') || (settings.hostname.toLowerCase() == 'localhost')) { settings.noconsole = true; startLms(startMeScriptEx); return; } else { startMeScriptEx(); } +} + +function startMeScriptEx(callback, amtstack) { + //console.log('Running script...'); + var transport = require('amt-wsman-duk'); + var wsman = require('amt-wsman'); + var amt = require('amt'); + if (!wsstack) { wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); } + if (!amtstack) { amtstack = new amt(wsstack); } + //IntelAmtEntireStateProgress = 101; + //amtstack.onProcessChanged = onWsmanProcessChanged; + + var scriptData = null; + if (settings.script != null) { + try { scriptData = fs.readFileSync(settings.script); } catch (e) { console.log('Unable to read script file (1): ' + settings.script + '.'); exit(1); return; } + } else { + scriptData = settings.scriptjson; + } + if (scriptData == null) { console.log('Unable to read script file (2): ' + settings.script + '.'); exit(1); return; } + try { scriptData = JSON.parse(scriptData); } catch (e) { console.log('Unable to read script file (3): ' + settings.script + '.'); exit(1); return; } + if (scriptData.mescript == null) { console.log('Unable to read script file (4): ' + settings.script + '.'); exit(1); return; } + var scriptData = Buffer.from(scriptData.mescript, 'base64'); + + var scriptModule = require('amt-script'); + var script = scriptModule.setup(scriptData, {}) + script.amtstack = amtstack; + script.start(); + script.onCompleted = function () { if (callback) { callback(); } exit(1); } +} + + +// +// FETCH ALL INTEL AMT STATE +// + +function saveEntireAmtState2() { + console.log('Fetching all Intel AMT state, this may take a few minutes...'); + var transport = require('amt-wsman-duk'); + var wsman = require('amt-wsman'); + var amt = require('amt'); + wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); + amtstack = new amt(wsstack); + amtstack.onProcessChanged = onWsmanProcessChanged; + //var AllWsman = "AMT_GeneralSystemDefenseCapabilities".split(','); + var AllWsman = "AMT_8021xCredentialContext,AMT_8021XProfile,AMT_ActiveFilterStatistics,AMT_AgentPresenceCapabilities,AMT_AgentPresenceInterfacePolicy,AMT_AgentPresenceService,AMT_AgentPresenceWatchdog,AMT_AgentPresenceWatchdogAction,AMT_AlarmClockService,IPS_AlarmClockOccurrence,AMT_AssetTable,AMT_AssetTableService,AMT_AuditLog,AMT_AuditPolicyRule,AMT_AuthorizationService,AMT_BootCapabilities,AMT_BootSettingData,AMT_ComplexFilterEntryBase,AMT_CRL,AMT_CryptographicCapabilities,AMT_EACCredentialContext,AMT_EndpointAccessControlService,AMT_EnvironmentDetectionInterfacePolicy,AMT_EnvironmentDetectionSettingData,AMT_EthernetPortSettings,AMT_EventLogEntry,AMT_EventManagerService,AMT_EventSubscriber,AMT_FilterEntryBase,AMT_FilterInSystemDefensePolicy,AMT_GeneralSettings,AMT_GeneralSystemDefenseCapabilities,AMT_Hdr8021Filter,AMT_HeuristicPacketFilterInterfacePolicy,AMT_HeuristicPacketFilterSettings,AMT_HeuristicPacketFilterStatistics,AMT_InterfacePolicy,AMT_IPHeadersFilter,AMT_KerberosSettingData,AMT_ManagementPresenceRemoteSAP,AMT_MessageLog,AMT_MPSUsernamePassword,AMT_NetworkFilter,AMT_NetworkPortDefaultSystemDefensePolicy,AMT_NetworkPortSystemDefenseCapabilities,AMT_NetworkPortSystemDefensePolicy,AMT_PCIDevice,AMT_PETCapabilities,AMT_PETFilterForTarget,AMT_PETFilterSetting,AMT_ProvisioningCertificateHash,AMT_PublicKeyCertificate,AMT_PublicKeyManagementCapabilities,AMT_PublicKeyManagementService,AMT_PublicPrivateKeyPair,AMT_RedirectionService,AMT_RemoteAccessCapabilities,AMT_RemoteAccessCredentialContext,AMT_RemoteAccessPolicyAppliesToMPS,AMT_RemoteAccessPolicyRule,AMT_RemoteAccessService,AMT_SetupAndConfigurationService,AMT_SNMPEventSubscriber,AMT_StateTransitionCondition,AMT_SystemDefensePolicy,AMT_SystemDefensePolicyInService,AMT_SystemDefenseService,AMT_SystemPowerScheme,AMT_ThirdPartyDataStorageAdministrationService,AMT_ThirdPartyDataStorageService,AMT_TimeSynchronizationService,AMT_TLSCredentialContext,AMT_TLSProtocolEndpoint,AMT_TLSProtocolEndpointCollection,AMT_TLSSettingData,AMT_TrapTargetForService,AMT_UserInitiatedConnectionService,AMT_WebUIService,AMT_WiFiPortConfigurationService,CIM_AbstractIndicationSubscription,CIM_Account,CIM_AccountManagementCapabilities,CIM_AccountManagementService,CIM_AccountOnSystem,CIM_AdminDomain,CIM_AlertIndication,CIM_AssignedIdentity,CIM_AssociatedPowerManagementService,CIM_AuthenticationService,CIM_AuthorizationService,CIM_BIOSElement,CIM_BIOSFeature,CIM_BIOSFeatureBIOSElements,CIM_BootConfigSetting,CIM_BootService,CIM_BootSettingData,CIM_BootSourceSetting,CIM_Capabilities,CIM_Card,CIM_Chassis,CIM_Chip,CIM_Collection,CIM_Component,CIM_ComputerSystem,CIM_ComputerSystemPackage,CIM_ConcreteComponent,CIM_ConcreteDependency,CIM_Controller,CIM_CoolingDevice,CIM_Credential,CIM_CredentialContext,CIM_CredentialManagementService,CIM_Dependency,CIM_DeviceSAPImplementation,CIM_ElementCapabilities,CIM_ElementConformsToProfile,CIM_ElementLocation,CIM_ElementSettingData,CIM_ElementSoftwareIdentity,CIM_ElementStatisticalData,CIM_EnabledLogicalElement,CIM_EnabledLogicalElementCapabilities,CIM_EthernetPort,CIM_Fan,CIM_FilterCollection,CIM_FilterCollectionSubscription,CIM_HostedAccessPoint,CIM_HostedDependency,CIM_HostedService,CIM_Identity,CIM_IEEE8021xCapabilities,CIM_IEEE8021xSettings,CIM_Indication,CIM_IndicationService,CIM_InstalledSoftwareIdentity,CIM_KVMRedirectionSAP,CIM_LANEndpoint,CIM_ListenerDestination,CIM_ListenerDestinationWSManagement,CIM_Location,CIM_Log,CIM_LogEntry,CIM_LogicalDevice,CIM_LogicalElement,CIM_LogicalPort,CIM_LogicalPortCapabilities,CIM_LogManagesRecord,CIM_ManagedCredential,CIM_ManagedElement,CIM_ManagedSystemElement,CIM_MediaAccessDevice,CIM_MemberOfCollection,CIM_Memory,CIM_MessageLog,CIM_NetworkPort,CIM_NetworkPortCapabilities,CIM_NetworkPortConfigurationService,CIM_OrderedComponent,CIM_OwningCollectionElement,CIM_OwningJobElement,CIM_PCIController,CIM_PhysicalComponent,CIM_PhysicalElement,CIM_PhysicalElementLocation,CIM_PhysicalFrame,CIM_PhysicalMemory,CIM_PhysicalPackage,CIM_Policy,CIM_PolicyAction,CIM_PolicyCondition,CIM_PolicyInSystem,CIM_PolicyRule,CIM_PolicyRuleInSystem,CIM_PolicySet,CIM_PolicySetAppliesToElement,CIM_PolicySetInSystem,CIM_PowerManagementCapabilities,CIM_PowerManagementService,CIM_PowerSupply,CIM_Privilege,CIM_PrivilegeManagementCapabilities,CIM_PrivilegeManagementService,CIM_ProcessIndication,CIM_Processor,CIM_ProtocolEndpoint,CIM_ProvidesServiceToElement,CIM_Realizes,CIM_RecordForLog,CIM_RecordLog,CIM_RedirectionService,CIM_ReferencedProfile,CIM_RegisteredProfile,CIM_RemoteAccessAvailableToElement,CIM_RemoteIdentity,CIM_RemotePort,CIM_RemoteServiceAccessPoint,CIM_Role,CIM_RoleBasedAuthorizationService,CIM_RoleBasedManagementCapabilities,CIM_RoleLimitedToTarget,CIM_SAPAvailableForElement,CIM_SecurityService,CIM_Sensor,CIM_Service,CIM_ServiceAccessBySAP,CIM_ServiceAccessPoint,CIM_ServiceAffectsElement,CIM_ServiceAvailableToElement,CIM_ServiceSAPDependency,CIM_ServiceServiceDependency,CIM_SettingData,CIM_SharedCredential,CIM_SoftwareElement,CIM_SoftwareFeature,CIM_SoftwareFeatureSoftwareElements,CIM_SoftwareIdentity,CIM_StatisticalData,CIM_StorageExtent,CIM_System,CIM_SystemBIOS,CIM_SystemComponent,CIM_SystemDevice,CIM_SystemPackaging,CIM_UseOfLog,CIM_Watchdog,CIM_WiFiEndpoint,CIM_WiFiEndpointCapabilities,CIM_WiFiEndpointSettings,CIM_WiFiPort,CIM_WiFiPortCapabilities,IPS_AdminProvisioningRecord,IPS_ClientProvisioningRecord,IPS_HostBasedSetupService,IPS_HostIPSettings,IPS_IderSessionUsingPort,IPS_IPv6PortSettings,IPS_KVMRedirectionSettingData,IPS_KvmSessionUsingPort,IPS_ManualProvisioningRecord,IPS_OptInService,IPS_ProvisioningAuditRecord,IPS_ProvisioningRecordLog,IPS_RasSessionUsingPort,IPS_ScreenSettingData,IPS_SecIOService,IPS_SessionUsingPort,IPS_SolSessionUsingPort,IPS_TLSProvisioningRecord".split(','); + IntelAmtEntireStateProgress = 101; + IntelAmtEntireStateCalls = 3; + IntelAmtEntireState = { 'localtime': Date(), 'utctime': new Date().toUTCString(), 'isotime': new Date().toISOString() }; + amtstack.BatchEnum(null, AllWsman, saveEntireAmtStateOk2, null, true); + amtstack.GetAuditLog(saveEntireAmtStateOk3); + amtstack.GetMessageLog(saveEntireAmtStateOk4); + +} + +// Save the entire Intel AMT state +function saveEntireAmtState() { + // See if MicroLMS needs to be started + if ((settings.hostname == '127.0.0.1') || (settings.hostname.toLowerCase() == 'localhost')) { + settings.noconsole = true; + startLms().then(saveEntireAmtState2); + } + else { + saveEntireAmtState2(); + } +} + +function onWsmanProcessChanged(a, b) { var x = Math.floor((a * 100) / b); if (x < IntelAmtEntireStateProgress) { IntelAmtEntireStateProgress = x; console.log((100 - x) + '%'); } } +function saveEntireAmtStateOk2(stack, name, responses, status) { if (status == 600) { console.log('ERROR: Unable to connect to Intel(R) AMT.'); exit(2); } IntelAmtEntireState['wsmanenums'] = responses; saveEntireAmtStateDone(); } +function saveEntireAmtStateOk3(stack, messages, status) { if (status == 600) { console.log('ERROR: Unable to connect to Intel(R) AMT.'); exit(2); } IntelAmtEntireState['auditlog'] = messages; saveEntireAmtStateDone(); } +function saveEntireAmtStateOk4(stack, messages, tag, status) { if (status == 600) { console.log('ERROR: Unable to connect to Intel(R) AMT.'); exit(2); } IntelAmtEntireState['eventlog'] = messages; saveEntireAmtStateDone(); } + +// Called when the entire state of Intel AMT is fetched. +function saveEntireAmtStateDone() { + if (--IntelAmtEntireStateCalls != 0) return; + var out = fs.openSync(settings.output, 'w'); + fs.writeSync(out, Buffer.from(JSON.stringify(IntelAmtEntireState))); + fs.closeSync(out); + console.log('Done, results written to ' + settings.output + '.'); + exit(1); +} + + +// +// FETCH ALL INTEL AMT MEI STATE +// + +// Get Intel AMT information using MEI +// TODO: If this call is called many time at once, it's going to cause issues. +var getAmtInfoFetching = null; +var getAmtInfoFetchingTimer = null; +function getAmtInfo(func, tag) { + if (amtMei == null) { if (func != null) { func(null, tag); } return; } + if (getAmtInfoFetching != null) { getAmtInfoFetching.push({ f: func, t: tag }); return; } + getAmtInfoFetching = [{ f: func, t: tag }]; + amtMeiTmpState = { Flags: 0, TrustedHashes: [] }; // Flags: 1=EHBC, 2=CCM, 4=ACM + getAmtInfoFetchingTimer = setTimeout(function () { + // MEI failed to respond, break out and reset everthing. + for (var i in getAmtInfoFetching) { if (getAmtInfoFetching[i].f != null) { getAmtInfoFetching[i].f(amtMeiTmpState, getAmtInfoFetching[i].t); } } + getAmtInfoFetching = null; + getAmtInfoFetchingTimer = null; + var amtMeiModule, amtMei; + try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } + amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); + }, 3000); + amtMei.getProtocolVersion(function (result) { if (result != null) { amtMeiTmpState.MeiVersion = result; } }); + amtMei.getVersion(function (val) { + amtMeiTmpState.Versions = {}; + if (val != null) { + for (var version in val.Versions) { amtMeiTmpState.Versions[val.Versions[version].Description] = val.Versions[version].Version; } + amtMei.getProvisioningMode(function (result) { if (result != null) { amtMeiTmpState.ProvisioningMode = result.mode; } }); + amtMei.getProvisioningState(function (result) { if (result != null) { amtMeiTmpState.ProvisioningState = result.state; } }); + amtMei.getEHBCState(function (result) { if ((result != null) && (result.EHBC == true)) { amtMeiTmpState.Flags += 1; } }); + amtMei.getControlMode(function (result) { if (result != null) { if (result.controlMode == 1) { amtMeiTmpState.Flags += 2; } if (result.controlMode == 2) { amtMeiTmpState.Flags += 4; } } }); + //amtMei.getMACAddresses(function (result) { if (result != null) { amtMeiTmpState.mac = result; } }); + amtMei.getDnsSuffix(function (result) { if (result != null) { amtMeiTmpState.dns = result; } }); + amtMei.getHashHandles(function (handles) { + exitOnCount = handles.length; + for (var i = 0; i < handles.length; ++i) { + amtMei.getCertHashEntry(handles[i], function (result) { + amtMeiTmpState.TrustedHashes.push({ Active: result.isActive, Default: result.isDefault, HashAlgorithm: result.hashAlgorithm, Name: result.name, Hash: result.certificateHash }); + if (--exitOnCount == 0) { + amtMeiTmpState.Notifications = lmsNotifications; amtMeiState = amtMeiTmpState; + for (var i in getAmtInfoFetching) { if (getAmtInfoFetching[i].f != null) { getAmtInfoFetching[i].f(amtMeiTmpState, getAmtInfoFetching[i].t); } } + getAmtInfoFetching = null; + clearTimeout(getAmtInfoFetchingTimer); + getAmtInfoFetchingTimer = null; + } + }); + } + }); + } else { + amtMeiState = amtMeiTmpState; + amtMeiState.ProvisioningMode = -858993460; + amtMeiState.TrustedHashes = {}; + amtMeiState.Notifications = lmsNotifications; + //console.log('getAmtInfo3', JSON.stringify(amtMeiState)); + if (func != null) { func(amtMeiState, tag); } + } + }); +} + + +// +// MicroLMS +// + +var lmsControlSockets = {}; +var lmsControlSocketsNextId = 1; +var lmsNotifications = []; +var amtLms = null; +var promise = require('promise'); + +function startLms(func, lmscommander, tag) { + var ret = new promise(function (res, rej) { this._res = res; this._rej = rej; }); + var lme_heci = null + try { lme_heci = require('amt-lme'); } catch (ex) { } + if (lme_heci == null) { if (func != null) { func(0, tag); } this.promise._res(); return; } + + //var amtLms = null; + var http = require('http'); + + console.log('Setting up MEI...'); + try { amtMeiModule = require('amt-mei'); amtMei = new amtMeiModule(); } catch (ex) { console.log(ex); exit(1); return; } + amtMei.on('error', function (e) { console.log('ERROR: ' + e); exit(1); return; }); + //console.log("PTHI Connected."); + + console.log('Setting up LME...'); + amtLms = new lme_heci({ debug: settings.lmsdebug }); + amtLms.promise = ret; + amtLms.on('error', function (e) { + //console.log('LME connection failed', e); + if (lmscommander === true) { //settings.noconsole !== true) { + startMeshCommanderLms(); + //console.log("LMS started, MeshCommander on HTTP/16994."); + tempTimer = setTimeout(function () { delete tempTimer; setupMeiOsAdmin(func, 2, tag); }, 100); + } else { + //console.log('LME connection failed: ' + JSON.stringify(e)); + tempTimer = setTimeout(function () { delete tempTimer; setupMeiOsAdmin(func, 0, tag); }, 100); + } + this.promise._res(); + }); + amtLms.on('notify', function (data, options, str, code) { + if (code == 'iAMT0052-3') { + kvmGetData(); + } else if (str != null) { + var notify = { date: Date.now(), str: str, code: code }; + lmsNotifications.push(notify); + while (lmsNotifications.length > 100) { lmsNotifications.shift(); } + var notifyBuf = Buffer.concat([Buffer.from('0900', 'hex'), Buffer.from(JSON.stringify(notify))]) // Add a notification + for (var i in lmsControlSockets) { lmsControlSockets[i].write(notifyBuf); } + } + }); + //console.log('LME Connecting...'); + amtLms.on('bind', function (mapping) { + if (mapping[16992]) { this.removeAllListeners('bind'); } else { return; } + //console.log('LMS Bounded'); + amtLms.connected = true; + this.promise._res(); + + //console.log("LME Connected."); + if (settings.noconsole !== true) { + startMeshCommanderLms(); + //console.log("LMS started, MeshCommander on HTTP/16994."); + tempTimer = setTimeout(function () { delete tempTimer; setupMeiOsAdmin(func, 2, tag); }, 100); + //console.logReferenceCount(tempTimer); + } else { + //console.log("LMS started."); + tempTimer = setTimeout(function () { delete tempTimer; setupMeiOsAdmin(func, 1, tag); }, 100); + //console.logReferenceCount(tempTimer); + } + + }); + return (ret); +} + +function startMeshCommanderLms() { + + amtLms.meshCommander = http.createServer(); + amtLms.meshCommander.listen(16994); + amtLms.meshCommander.on('upgrade', function (req, socket, head) { + //console.log("WebSocket for " + req.url.split('?')[0]); + switch (req.url.split('?')[0]) { + case '/lms.ashx': // MeshCommander control channel (PTHI) + socket.ws = socket.upgradeWebSocket(); + socket.ws.on('data', processLmsControlData); + socket.ws.on('end', function () { if (lmsControlSockets[this.id]) { delete lmsControlSockets[this.id]; /*console.log('removeControl', JSON.stringify(lmsControlSockets));*/ } }); + var id = lmsControlSocketsNextId++; + lmsControlSockets[id] = socket.ws; + socket.ws.id = id; + //socket.ws.write(Buffer.concat([Buffer.from('0900', 'hex'), Buffer.from(JSON.stringify(lmsNotifications))])); // Send out full list of notifications + //console.log('addControl', JSON.stringify(lmsControlSockets)); + break; + case '/webrelay.ashx': // MeshCommander data channel (LME) + socket.ws = socket.upgradeWebSocket(); + if (amtLms.connected == true) { + // Route traffic directly into MicroLMS + amtLms.bindDuplexStream(socket.ws, 'IPv4', 16992); + } else { + // Route traffic to real LMS service + var net = require('net'); + socket.relay = net.connect({ host: '127.0.0.1', port: 16992 }) + socket.relay.on('connect', function () { + socket.ws.on('data', function (data) { socket.relay.write(data); }); + socket.ws.on('end', function () { socket.relay.end(); }); + }); + socket.relay.on('data', function (data) { socket.ws.write(data); }); + socket.relay.on('close', function () { socket.ws.end(); }); + } + break; + default: + socket.end(); + break; + } + }); + amtLms.meshCommander.on('request', function (req, rsp) { + //console.log("WebRequest for " + req.url.split('?')[0]); + switch (req.url.split('?')[0]) { + case '/': // Serve MeshCommander Web Application for LMS + var lmscommander = null; + try { lmscommander = fs.readFileSync('lmscommander.htm'); } catch (e) { } + if (lmscommander != null) { + rsp.writeHead(200, 'OK', { Server: 'JSLMS', 'Cache-Control': 'max-age=0, no-cache', 'X-Frame-Options': 'DENY', 'Content-Type': 'text/html', 'Transfer-Encoding': 'chunked' }); + rsp.end(lmscommander); + } else { + rsp.writeHead(200, 'OK', { Server: 'JSLMS', 'Cache-Control': 'max-age=0, no-cache', 'X-Frame-Options': 'DENY', 'Content-Type': 'text/html', 'Content-Encoding': 'gzip', 'Transfer-Encoding': 'chunked', ETag: _IntelAmtWebApp_etag }); + rsp.end(Buffer.from(_IntelAmtWebApp, "base64")); + } + break; + default: // Unknown request + rsp.statusCode = 404; + rsp.statusMessage = "Not Found"; + rsp.end(); + break; + } + + }); +} + +function setupMeiOsAdmin(func, state, tag) { + if (amtMei == null) { + if (func) { func(state, tag); } + } else { + amtMei.getLocalSystemAccount(function (x) { + var transport = require('amt-wsman-duk'); + var wsman = require('amt-wsman'); + var amt = require('amt'); + oswsstack = new wsman(transport, '127.0.0.1', 16992, x.user, x.pass, false); + osamtstack = new amt(oswsstack); + if (func) { func(state, tag); } + + //var AllWsman = "CIM_SoftwareIdentity,IPS_SecIOService,IPS_ScreenSettingData,IPS_ProvisioningRecordLog,IPS_HostBasedSetupService,IPS_HostIPSettings,IPS_IPv6PortSettings".split(','); + //osamtstack.BatchEnum(null, AllWsman, startLmsWsmanResponse, null, true); + //************************************* + + // Setup KVM data channel if this is Intel AMT 12 or above + amtMei.getVersion(function (x) { + var amtver = null; + try { for (var i in x.Versions) { if (x.Versions[i].Description == 'AMT') amtver = parseInt(x.Versions[i].Version.split('.')[0]); } } catch (e) { } + if ((amtver != null) && (amtver >= 12)) { + kvmGetData('skip'); // Clear any previous data, this is a dummy read to about handling old data. + tempTimer = setInterval(function () { kvmGetData(); }, 2000); // Start polling for KVM data. + kvmSetData(JSON.stringify({ action: 'restart', ver: 1 })); // Send a restart command to advise the console if present that MicroLMS just started. + } + }); + }); + } +} + +function kvmGetData(tag) { + osamtstack.IPS_KVMRedirectionSettingData_DataChannelRead(kvmDataGetResponse, tag); +} + +function kvmDataGetResponse(stack, name, response, status, tag) { + if ((tag != 'skip') && (status == 200) && (response.Body.ReturnValue == 0)) { + var val = null; + try { val = Buffer.from(response.Body.DataMessage, 'base64').toString(); } catch (e) { return } + if (val != null) { kvmProcessData(response.Body.RealmsBitmap, response.Body.MessageId, val); } + } +} + +var webRtcDesktop = null; +function kvmProcessData(realms, messageId, val) { + var data = null; + try { data = JSON.parse(val) } catch (e) { } + if ((data != null) && (data.action)) { + if (data.action == 'present') { kvmSetData(JSON.stringify({ action: 'present', ver: 1, platform: process.platform })); } + if (data.action == 'offer') { + webRtcDesktop = {}; + var rtc = require('ILibWebRTC'); + webRtcDesktop.webrtc = rtc.createConnection(); + webRtcDesktop.webrtc.on('connected', function () { }); + webRtcDesktop.webrtc.on('disconnected', function () { webRtcCleanUp(); }); + webRtcDesktop.webrtc.on('dataChannel', function (rtcchannel) { + webRtcDesktop.rtcchannel = rtcchannel; + var kvmmodule = require('meshDesktop'); + webRtcDesktop.kvm = kvmmodule.getRemoteDesktopStream(); + webRtcDesktop.kvm.pipe(webRtcDesktop.rtcchannel, { dataTypeSkip: 1, end: false }); + webRtcDesktop.rtcchannel.on('end', function () { webRtcCleanUp(); }); + webRtcDesktop.rtcchannel.on('data', function (x) { kvmCtrlData(this, x); }); + webRtcDesktop.rtcchannel.pipe(webRtcDesktop.kvm, { dataTypeSkip: 1, end: false }); + //webRtcDesktop.kvm.on('end', function () { console.log('WebRTC DataChannel closed2'); webRtcCleanUp(); }); + //webRtcDesktop.rtcchannel.on('data', function (data) { console.log('WebRTC data: ' + data); }); + }); + kvmSetData(JSON.stringify({ action: 'answer', ver: 1, sdp: webRtcDesktop.webrtc.setOffer(data.sdp) })); + } + } +} + +// Polyfill path.join +var path = { + join: function () { + var x = []; + for (var i in arguments) { + var w = arguments[i]; + if (w != null) { + while (w.endsWith('/') || w.endsWith('\\')) { w = w.substring(0, w.length - 1); } + if (i != 0) { + while (w.startsWith('/') || w.startsWith('\\')) { w = w.substring(1); } + } + x.push(w); + } + } + if (x.length == 0) return '/'; + return x.join('/'); + } +}; + +// Get a formated response for a given directory path +function getDirectoryInfo(reqpath) { + var response = { path: reqpath, dir: [] }; + if (((reqpath == undefined) || (reqpath == '')) && (process.platform == 'win32')) { + // List all the drives in the root, or the root itself + var results = null; + try { results = fs.readDrivesSync(); } catch (e) { } // TODO: Anyway to get drive total size and free space? Could draw a progress bar. + //console.log('a', objToString(results, 0, ' ')); + if (results != null) { + for (var i = 0; i < results.length; ++i) { + var drive = { n: results[i].name, t: 1 }; + if (results[i].type == 'REMOVABLE') { drive.dt = 'removable'; } // TODO: See if this is USB/CDROM or something else, we can draw icons. + response.dir.push(drive); + } + } + } else { + // List all the files and folders in this path + if (reqpath == '') { reqpath = '/'; } + var xpath = path.join(reqpath, '*'); + var results = null; + + try { results = fs.readdirSync(xpath); } catch (e) { } + if (results != null) { + for (var i = 0; i < results.length; ++i) { + if ((results[i] != '.') && (results[i] != '..')) { + var stat = null, p = path.join(reqpath, results[i]); + try { stat = fs.statSync(p); } catch (e) { } // TODO: Get file size/date + if ((stat != null) && (stat != undefined)) { + if (stat.isDirectory() == true) { + response.dir.push({ n: results[i], t: 2, d: stat.mtime }); + } else { + response.dir.push({ n: results[i], t: 3, s: stat.size, d: stat.mtime }); + } + } + } + } + } + } + return response; +} + +// Process KVM control channel data +function kvmCtrlData(channel, cmd) { + if (cmd.length > 0 && cmd.charCodeAt(0) != 123) { + // This is upload data + if (this.fileupload != null) { + cmd = Buffer.from(cmd, 'base64'); + var header = cmd.readUInt32BE(0); + if ((header == 0x01000000) || (header == 0x01000001)) { + fs.writeSync(this.fileupload.fp, cmd.slice(4)); + channel.write({ action: 'upload', sub: 'ack', reqid: this.fileupload.reqid }); + if (header == 0x01000001) { fs.closeSync(this.fileupload.fp); this.fileupload = null; } // Close the file + } + } + return; + } + //console.log('KVM Ctrl Data', cmd); + + try { cmd = JSON.parse(cmd); } catch (ex) { console.error('Invalid JSON: ' + cmd); return; } + if ((cmd.path != null) && (process.platform != 'win32') && (cmd.path[0] != '/')) { cmd.path = '/' + cmd.path; } // Add '/' to paths on non-windows + switch (cmd.action) { + case 'ping': { + // This is a keep alive + channel.write({ action: 'pong' }); + break; + } + case 'ls': { + /* + // Close the watcher if required + var samepath = ((this.httprequest.watcher != undefined) && (cmd.path == this.httprequest.watcher.path)); + if ((this.httprequest.watcher != undefined) && (samepath == false)) { + //console.log('Closing watcher: ' + this.httprequest.watcher.path); + //this.httprequest.watcher.close(); // TODO: This line causes the agent to crash!!!! + delete this.httprequest.watcher; + } + */ + + // Send the folder content to the browser + var response = getDirectoryInfo(cmd.path); + if (cmd.reqid != undefined) { response.reqid = cmd.reqid; } + channel.write(response); + + /* + // Start the directory watcher + if ((cmd.path != '') && (samepath == false)) { + var watcher = fs.watch(cmd.path, onFileWatcher); + watcher.tunnel = this.httprequest; + watcher.path = cmd.path; + this.httprequest.watcher = watcher; + //console.log('Starting watcher: ' + this.httprequest.watcher.path); + } + */ + break; + } + case 'mkdir': { + // Create a new empty folder + fs.mkdirSync(cmd.path); + break; + } + case 'rm': { + // Remove many files or folders + for (var i in cmd.delfiles) { + var fullpath = path.join(cmd.path, cmd.delfiles[i]); + try { fs.unlinkSync(fullpath); } catch (e) { console.log(e); } + } + break; + } + case 'rename': { + // Rename a file or folder + var oldfullpath = path.join(cmd.path, cmd.oldname); + var newfullpath = path.join(cmd.path, cmd.newname); + try { fs.renameSync(oldfullpath, newfullpath); } catch (e) { console.log(e); } + break; + } + case 'download': { + // Download a file, to browser + var sendNextBlock = 0; + if (cmd.sub == 'start') { // Setup the download + if (this.filedownload != null) { channel.write({ action: 'download', sub: 'cancel', id: this.filedownload.id }); delete this.filedownload; } + this.filedownload = { id: cmd.id, path: cmd.path, ptr: 0 } + try { this.filedownload.f = fs.openSync(this.filedownload.path, 'rbN'); } catch (e) { channel.write({ action: 'download', sub: 'cancel', id: this.filedownload.id }); delete this.filedownload; } + if (this.filedownload) { channel.write({ action: 'download', sub: 'start', id: cmd.id }); } + } else if ((this.filedownload != null) && (cmd.id == this.filedownload.id)) { // Download commands + if (cmd.sub == 'startack') { sendNextBlock = 8; } else if (cmd.sub == 'stop') { delete this.filedownload; } else if (cmd.sub == 'ack') { sendNextBlock = 1; } + } + // Send the next download block(s) + while (sendNextBlock > 0) { + sendNextBlock--; + var buf = Buffer.alloc(4096); + var len = fs.readSync(this.filedownload.f, buf, 4, 4092, null); + this.filedownload.ptr += len; + if (len < 4092) { buf.writeInt32BE(0x01000001, 0); fs.closeSync(this.filedownload.f); delete this.filedownload; sendNextBlock = 0; } else { buf.writeInt32BE(0x01000000, 0); } + channel.write(buf.slice(0, len + 4).toString('base64')); // Write as Base64 + } + break; + } + case 'upload': { + // Upload a file, from browser + if (cmd.sub == 'start') { // Start the upload + if (this.fileupload != null) { fs.closeSync(this.fileupload.fp); } + if (!cmd.path || !cmd.name) break; + this.fileupload = { reqid: cmd.reqid }; + var filepath = path.join(cmd.path, cmd.name); + try { this.fileupload.fp = fs.openSync(filepath, 'wbN'); } catch (e) { } + if (this.fileupload.fp) { channel.write({ action: 'upload', sub: 'start', reqid: this.fileupload.reqid }); } else { this.fileupload = null; channel.write({ action: 'upload', sub: 'error', reqid: this.fileupload.reqid }); } + } + else if (cmd.sub == 'cancel') { // Stop the upload + if (this.fileupload != null) { fs.closeSync(this.fileupload.fp); this.fileupload = null; } + } + break; + } + case 'copy': { + // Copy a bunch of files from scpath to dspath + for (var i in cmd.names) { + var sc = path.join(cmd.scpath, cmd.names[i]), ds = path.join(cmd.dspath, cmd.names[i]); + if (sc != ds) { try { fs.copyFileSync(sc, ds); } catch (e) { } } + } + break; + } + case 'move': { + // Move a bunch of files from scpath to dspath + for (var i in cmd.names) { + var sc = path.join(cmd.scpath, cmd.names[i]), ds = path.join(cmd.dspath, cmd.names[i]); + if (sc != ds) { try { fs.copyFileSync(sc, ds); fs.unlinkSync(sc); } catch (e) { } } + } + break; + } + default: + // Unknown action, ignore it. + break; + } +} + +function webRtcCleanUp() { + if (webRtcDesktop == null) return; + if (webRtcDesktop.rtcchannel) { + try { webRtcDesktop.rtcchannel.close(); } catch (e) { } + try { webRtcDesktop.rtcchannel.removeAllListeners('data'); } catch (e) { } + try { webRtcDesktop.rtcchannel.removeAllListeners('end'); } catch (e) { } + delete webRtcDesktop.rtcchannel; + } + if (webRtcDesktop.webrtc) { + try { webRtcDesktop.webrtc.close(); } catch (e) { } + try { webRtcDesktop.webrtc.removeAllListeners('connected'); } catch (e) { } + try { webRtcDesktop.webrtc.removeAllListeners('disconnected'); } catch (e) { } + try { webRtcDesktop.webrtc.removeAllListeners('dataChannel'); } catch (e) { } + delete webRtcDesktop.webrtc; + } + if (webRtcDesktop.kvm) { + try { webRtcDesktop.kvm.end(); } catch (e) { } + delete webRtcDesktop.kvm; + } + webRtcDesktop = null; +} + +function kvmSetData(x) { + osamtstack.IPS_KVMRedirectionSettingData_DataChannelWrite(Buffer.from(x).toString('base64'), function () { }); +} + +function startLmsWsmanResponse(stack, name, responses, status) { + if (status == 600) { console.log('ERROR: Unable to connect to Intel(R) AMT.'); } + else if (status != 200) { console.log('ERROR: Unable to get object from Intel(R) AMT, status = ' + status + '.'); } + else { + //console.log(JSON.stringify(responses), status); + var amtlogicalelements = responses["CIM_SoftwareIdentity"].responses; + if (amtlogicalelements.length > 0) { + var v = getInstance(amtlogicalelements, "AMT")["VersionString"]; + amtversion = parseInt(v.split('.')[0]); + amtversionmin = parseInt(v.split('.')[1]); + //console.log(amtversion, amtversionmin); + } + } +} + + +// Process commands in the LMS control channel +// Command 9 is add a notification. +function processLmsControlData(data) { + if (data.length < 2) return; + var cmdid = data.readUInt16LE(0); + switch (cmdid) { + case 1: // Request basic Intel AMT information (CMD = 1) + { getAmtInfo(function (meinfo, socket) { meinfo.LoginMode = 2; socket.write(Buffer.concat([Buffer.from('0100', 'hex'), Buffer.from(JSON.stringify(meinfo))])); }, this); break; } + case 2: // Intel AMT MEI Unprovision (CMD = 2) + { if (data.length < 6) break; amtMei.unprovision(data.readUInt32LE(2), function (status, socket) { var data = Buffer.alloc(6); data.writeUInt16LE(2, 0); data.writeUInt32LE(status, 2); socket.write(data); }, this); break; } + case 3: // Intel AMT MEI GetLocalSystemAccount (CMD = 3) + { amtMei.getLocalSystemAccount(function (account, socket) { socket.write(Buffer.concat([Buffer.from('030000000000', 'hex'), account.raw])); }, this); break; } + case 4: // Instruct Intel AMT to start remote configuration (CMD = 4) + { amtMei.startConfiguration(function (status, socket) { var data = Buffer.alloc(6); data.writeUInt16LE(7, 0); data.writeUInt32LE(status, 2); socket.write(data); }, this); break; } + case 5: // Instruct Intel AMT to stop remote configuration (CMD = 5) + { amtMei.stopConfiguration(function (status, socket) { var data = Buffer.alloc(6); data.writeUInt16LE(7, 0); data.writeUInt32LE(status, 2); socket.write(data); }, this); break; } + case 6: // Instruct Intel AMT connect CIRA (CMD = 6) + { amtMei.openUserInitiatedConnection(function (status, socket) { var data = Buffer.alloc(6); data.writeUInt16LE(7, 0); data.writeUInt32LE(status, 2); socket.write(data); }, this); break; } + case 7: // Instruct Intel AMT disconnect CIRA (CMD = 7) + { amtMei.closeUserInitiatedConnection(function (status, socket) { var data = Buffer.alloc(6); data.writeUInt16LE(7, 0); data.writeUInt32LE(status, 2); socket.write(data); }, this); break; } + case 8: // Get Intel AMT CIRA State (CMD = 8) + { amtMei.getRemoteAccessConnectionStatus(function (state, socket) { var data = Buffer.alloc(6); data.writeUInt16LE(8, 0); data.writeUInt32LE(state.status, 2); socket.write(Buffer.concat([data, state.raw])); }, this); break; } + default: + // Unknown action, ignore it. + break; + } +} + + +// +// MeshCentral TCP port router +// + +function startRouter() { + tcpserver = net.createServer(OnTcpClientConnected); + tcpserver.on('error', function (e) { console.log('ERROR: ' + JSON.stringify(e)); exit(0); return; }); + tcpserver.listen(settings.localport, function () { + // We started listening. + if (settings.remotename == null) { + console.log('Redirecting local port ' + settings.localport + ' to remote port ' + settings.remoteport + '.'); + } else { + console.log('Redirecting local port ' + settings.localport + ' to ' + settings.remotename + ':' + settings.remoteport + '.'); + } + console.log('Press ctrl-c to exit.'); + + // If settings has a "cmd", run it now. + //process.exec("notepad.exe"); + }); +} + +// Called when a TCP connect is received on the local port. Launch a tunnel. +function OnTcpClientConnected(c) { + try { + // 'connection' listener + debug(1, 'Client connected'); + c.on('end', function () { disconnectTunnel(this, this.websocket, 'Client closed'); }); + c.pause(); + try { + options = http.parseUri(settings.serverurl + '?user=' + settings.username + '&pass=' + settings.password + '&nodeid=' + settings.remotenodeid + '&tcpport=' + settings.remoteport); + } catch (e) { console.log('Unable to parse \"serverUrl\".'); process.exit(1); return; } + options.checkServerIdentity = onVerifyServer; + options.rejectUnauthorized = false; + c.websocket = http.request(options); + c.websocket.tcp = c; + c.websocket.tunneling = false; + c.websocket.upgrade = OnWebSocket; + c.websocket.on('error', function (e) { console.log('ERROR: ' + JSON.stringify(e)); }); + c.websocket.end(); + } catch (e) { debug(2, e); } +} + +// Disconnect both TCP & WebSocket connections and display a message. +function disconnectTunnel(tcp, ws, msg) { + if (ws != null) { try { ws.end(); } catch (e) { debug(2, e); } } + if (tcp != null) { try { tcp.end(); } catch (e) { debug(2, e); } } + debug(1, 'Tunnel disconnected: ' + msg); +} + +// Called when the web socket gets connected +function OnWebSocket(msg, s, head) { + debug(1, 'Websocket connected'); + s.on('data', function (msg) { + if (this.parent.tunneling == false) { + msg = msg.toString(); + if ((msg == 'c') || (msg == 'cr')) { + this.parent.tunneling = true; this.pipe(this.parent.tcp); this.parent.tcp.pipe(this); debug(1, 'Tunnel active'); + } else if ((msg.length > 6) && (msg.substring(0, 6) == 'error:')) { + console.log(msg.substring(6)); + disconnectTunnel(this.tcp, this, msg.substring(6)); + } + } + }); + s.on('error', function (msg) { disconnectTunnel(this.tcp, this, 'Websocket error'); }); + s.on('close', function (msg) { disconnectTunnel(this.tcp, this, 'Websocket closed'); }); + s.parent = this; +} + +// Try to discover the location of the mesh server +function discoverMeshServer() { console.log('Looking for server...'); discoveryInterval = setInterval(discoverMeshServerOnce, 5000); discoverMeshServerOnce(); } + +// Try to discover the location of the mesh server only once +function discoverMeshServerOnce() { + var interfaces = os.networkInterfaces(); + for (var adapter in interfaces) { + if (interfaces.hasOwnProperty(adapter)) { + for (var i = 0; i < interfaces[adapter].length; ++i) { + var addr = interfaces[adapter][i]; + multicastSockets[i] = dgram.createSocket({ type: (addr.family == "IPv4" ? "udp4" : "udp6") }); + multicastSockets[i].bind({ address: addr.address, exclusive: false }); + if (addr.family == "IPv4") { + try { + multicastSockets[i].addMembership(membershipIPv4); + //multicastSockets[i].setMulticastLoopback(true); + multicastSockets[i].once('message', OnMulticastMessage); + multicastSockets[i].send(settings.serverid, 16989, membershipIPv4); + } catch (e) { } + } + } + } + } +} + +// Called when a multicast packet is received +function OnMulticastMessage(msg, rinfo) { + var m = msg.toString().split('|'); + if ((m.length == 3) && (m[0] == 'MeshCentral2') && (m[1] == settings.serverid)) { + settings.serverurl = m[2].replace('%s', rinfo.address).replace('/agent.ashx', '/meshrelay.ashx'); + console.log('Found server at ' + settings.serverurl + '.'); + if (discoveryInterval != null) { clearInterval(discoveryInterval); discoveryInterval = null; } + startRouter(); + } +} + + +// +// PUSH MESHCOMMANDER INTO FIRMWARE +// + +function nextStepStorageUpload() { + debug(3, "nextStepStorageUpload"); + getAmtStorage(function (statusCode, data) { + if (statusCode == 200) { + debug(2, "getAmtStorage: " + JSON.stringify(data, null, 2)); + if ((data['content'] != null) && (data['content']['index.htm'] != null)) { nextStepStorageUpload3('index.htm'); } + else if ((data['content'] != null) && (data['content']['logon.htm'] != null)) { nextStepStorageUpload3('logon.htm'); } + else if ((data['content'] != null) && (data['content']['logon.htm'] != null)) { nextStepStorageUpload3('logon.htm'); } + else { nextStepStorageUpload2('index.htm', null); } + } else { + console.log("Unable to read storage state."); + exit(); + return; + } + }); +} + +function nextStepStorageUpload2(uploadName, linkName) { + debug(3, "nextStepStorageUpload2"); + if (settings.webapp == null) { console.log("Done."); exit(); return; } else { + console.log("Uploading MeshCommander..."); + pushToStorage(uploadName, linkName, Buffer.from(settings.webapp, 'base64'), function (statusCode) { + if (statusCode == 500) { console.log("Error, check that computer is powered on."); exit(); return; } + if (statusCode != 200) { + if (uploadName == 'index.htm') { + nextStepStorageUpload2('mesh/commander/console', 'MeshCommander'); + } else { + console.log("Unable to upload MeshCommander, status = " + statusCode + "."); exit(); return; + } + } else { + console.log("Verifying MeshCommander..."); + verifyStorage(uploadName, Buffer.from(settings.webapp, 'base64'), function (verified) { + if (verified == true) { console.log('Done.'); } else { console.log('MeshCommander verification failed.'); } + exit(); return; + }); + } + }); + } +} + +function nextStepStorageUpload3(deleteName) { + console.log("Deleting " + deleteName + " from storage..."); + deleteStorage(deleteName, function (statusCode) { + if (statusCode == 500) { console.log("Error, check that computer is powered on."); exit(); return; } + if (statusCode == 200) { nextStepStorageUpload(); } else { console.log("Unable to delete " + deleteName + "."); exit(); return; } + }); +} + +// Fetch the Intel AMT storage document +function getAmtStorage(func, noretry) { + var req = digest.request({ protocol: settings.protocol, method: "GET", host: settings.hostname, path: "/amt-storage/", port: settings.localport }, + function (response) { + if (response.statusCode != 200) { console.log("Unable to connect to Intel(R) AMT."); func(response.statusCode, null); } + response.on('data', function (chunk) { if (response.acc == null) { response.acc = chunk; } else { response.acc += chunk; } }); + response.on('end', function () { + var data = response.acc.toString(), len, data2, amtstorage = null; + data = data.split('\t').join('').split('\r').join('').split('\n').join(''); + try { + do { len = data.length; data2 = data; data = data2.replace('": ', '":'); } while (data != data2); // Remove all zero's, this is needed because firmware sometimes returns garbage we must fix. + do { len = data.length; data2 = data; data = data2.replace('\x00', ''); } while (data != data2); // Remove all zero's, this is needed because firmware sometimes returns garbage we must fix. + do { len = data.length; data2 = data; data = data2.replace('\x22\x01\x22', '\x22\x22'); } while (data != data2); // "\x01", this is needed because firmware sometimes returns garbage we must fix. + var xopen = data.split("{").length, xclose = data.split("}").length, xadd = ''; + while (xopen > xclose) { data += '}'; xclose++; } // Close any missing close brackets + amtstorage = JSON.parse(data); + } catch (e) { console.log("Error: Unable to parse Intel AMT response: " + data, e); func(null); } + if (func != null) { func(response.statusCode, amtstorage); } + }); + }); + req.on('error', function (e) { console.log("Error occured: " + JSON.stringify(e)); if (noretry == true) { if (func != null) { func(null); } } else { getAmtStorage(func, true); } }); + req.end(); +} + +// Fetch the Intel AMT storage document +function pushToStorage(name, linkname, data, func, ptr) { + if (ptr == null) { ptr = 0; } + var req = digest.request({ protocol: settings.protocol, method: "PUT", host: settings.hostname, path: ("/amt-storage/" + name + ((ptr != 0) ? '?append=' : '')), port: settings.localport }); + req.on('error', function (e) { console.log("Error occured: " + JSON.stringify(e)); if (func != null) { func(null); } }); + req.on('response', function (response) { + debug(1, 'Chunk Done', data.length, ptr); + if ((response.statusCode == 200) && (ptr < data.length)) { pushToStorage(name, linkname, data, func, ptr); } else { if (func != null) { func(response.statusCode); } } + }); + var header = (ptr > 0) ? '' : 'Content-Encoding:gzipContent-Type:text/html' + ((linkname != null) ? ('' + linkname + '') : '') + ''; + var blocklen = ((data.length - ptr) > (7000 - header.length)) ? (7000 - header.length) : (data.length - ptr); + req.write(Buffer.concat([new Buffer(header), data.slice(ptr, ptr + blocklen)])); + ptr += blocklen; + req.end(); +} + +// Fetch the Intel AMT storage document +function verifyStorage(name, data, func) { + var req = digest.request({ protocol: settings.protocol, method: "GET", host: settings.hostname, path: ("/amt-storage/" + name), port: settings.localport }); + req.on('error', function (e) { console.log("Verify error occured: " + JSON.stringify(e)); if (func != null) { func(null); } }); + req.on('response', function (response) { + response.ptr = 0; + response.ok = true; + response.on('data', function (data2) { if (data2.toString('hex') != data.slice(response.ptr, response.ptr + data2.length).toString('hex')) { response.ok = false; console.log('Verifiy failed (' + response.ptr + ', ' + data2.length + ').'); } response.ptr += data2.length; }); + response.on('end', function () { if (func != null) { func(response.ok); } }); + }); + req.end(); +} + +// Fetch the Intel AMT storage document +function deleteStorage(name, func, noretry) { + var req = digest.request({ protocol: settings.protocol, method: "DELETE", host: settings.hostname, path: "/amt-storage/" + name, port: settings.localport }); + req.on('error', function (e) { if ((e == 'Error: Socket was unexpectedly closed') && (noretry != true)) { deleteStorage(name, func, true); } else { if (func != null) { if (e.statusCode) { func(e.statusCode); } else { func(null); } } } }); + req.on('response', function (response) { if (func != null) { func(response.statusCode); } }); + req.end(); +} + + +// +// IDER +// + +ider = null; +iderIdleTimer = null; + +// Perform IDER +function performIder() { + if ((settings.floppy != null) && fs.existsSync(settings.floppy) == false) { console.log("Unable to floppy image file: " + settings.floppy); process.exit(); return; } + if ((settings.cdrom != null) && fs.existsSync(settings.cdrom) == false) { console.log("Unable to CDROM image file: " + settings.cdrom); process.exit(); return; } + try { + var sfloppy = null, scdrom = null; + if (settings.floppy) { try { if (sfloppy = fs.statSync(settings.floppy)) { sfloppy.file = fs.openSync(settings.floppy, 'rbN'); } } catch (ex) { console.log(ex); process.exit(1); return; } } + if (settings.cdrom) { try { scdrom = fs.statSync(settings.cdrom); if (scdrom) { scdrom.file = fs.openSync(settings.cdrom, 'rbN'); } } catch (ex) { console.log(ex); process.exit(1); return; } } + + ider = require('amt-redir-duk')(require('amt-ider')()); + ider.onStateChanged = onIderStateChange; + ider.m.floppy = sfloppy; + ider.m.cdrom = scdrom; + ider.m.iderStart = 1; // OnReboot = 0, Graceful = 1, Now = 2 + ider.m.debug = (settings.debuglevel > 0); + if (settings.timeout > 0) { ider.m.sectorStats = iderSectorStats; } + //ider.digestRealmMatch = wsstack.comm.digestRealm; + //ider.tlsv1only = amtstack.wsman.comm.tlsv1only; + ider.Start(settings.hostname, (settings.tls == true) ? 16995 : 16994, settings.username ? 'admin' : settings.username, settings.password, settings.tls); + } catch (ex) { console.log(ex); } +} + +function onIderStateChange(stack, state) { console.log(['Disconnected', 'Connecting...', 'Connected...', 'Started IDER...'][state]); } + +function iderSectorStats(mode, dev, mediaBlocks, lba, len) { + if (iderIdleTimer != null) { clearTimeout(iderIdleTimer); } + iderIdleTimer = setTimeout(function () { console.log('Idle timeout'); process.exit(1); }, 1000 * settings.timeout); +} + +// +// Intel AMT IPv4 wired configuration +// + +function performAmtNetConfig(args) { + if ((settings.hostname == '127.0.0.1') || (settings.hostname.toLowerCase() == 'localhost')) { + settings.noconsole = true; startLms(performAmtNetConfig0, false, args); + } else { + performAmtNetConfig0(1, args); + } +} + +function performAmtNetConfig0(state, args) { + var transport = require('amt-wsman-duk'); + var wsman = require('amt-wsman'); + var amt = require('amt'); + wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); + amtstack = new amt(wsstack); + amtstack.BatchEnum(null, ['AMT_EthernetPortSettings'], performAmtNetConfig1, args); +} + +function performAmtNetConfig1(stack, name, response, status, args) { + if (status == 200) { + // Set wired and wireless interfaces + var amtwirelessif = -1; + var amtwiredif = -1; + for (var y in response['AMT_EthernetPortSettings'].responses) { + var z = response['AMT_EthernetPortSettings'].responses[y]; + if (z['WLANLinkProtectionLevel'] || (y == 1)) { amtwirelessif = y; } // Set the wireless interface, this seems to cover new wireless only computers and older computers with dual interfaces. + if (y == 0) { if ((amtwirelessif != y) && (z["MACAddress"] != "00-00-00-00-00-00")) { amtwiredif = y; } } // On computers with only wireless, the wired interface will have a null MAC + } + + // Check if configuration change is required + if (args) { + var docall = false; + var x = JSON.parse(JSON.stringify(response['AMT_EthernetPortSettings'].responses[amtwiredif])); + var y = response['AMT_EthernetPortSettings'].responses[amtwiredif]; + delete x["IpSyncEnabled"]; + delete x["LinkIsUp"]; + delete x["LinkPolicy"]; + delete x["MACAddress"]; + delete x["SharedDynamicIP"]; + delete x["SharedMAC"]; + delete x["SharedStaticIp"]; + + if ((y['IpSyncEnabled'] == false) && (args.ipsync === '1')) { x['IpSyncEnabled'] = true; docall = true; } + if ((y['IpSyncEnabled'] == true) && (args.ipsync === '0')) { x['IpSyncEnabled'] = false; docall = true; } + if (args.dhcp && (amtwiredif != -1) && (response['AMT_EthernetPortSettings'].responses[amtwiredif].DHCPEnabled == false)) { + // Change to DHCP + x['DHCPEnabled'] = true; + docall = true; + } + else if (args.static && (amtwiredif != -1) && (response['AMT_EthernetPortSettings'].responses[amtwiredif].DHCPEnabled == true)) { + // Change to STATIC + x['DHCPEnabled'] = false; + if (args.ip) { x["IPAddress"] = args.ip; } else { console.log('Missing IPv4 address, use --ip 1.2.3.4'); process.exit(1); } + if (args.subnet) { x["SubnetMask"] = args.subnet; } else { console.log('Missing IPv4 subnet, use --subnet 255.255.255.0'); process.exit(1); } + if (args.gateway) { x["DefaultGateway"] = args.gateway; } + if (args.dns) { x["PrimaryDNS"] = args.dns; } + if (args.dns2) { x["SecondaryDNS"] = args.dns2; } + docall = true; + } + if (docall) { + if (x["DHCPEnabled"] == true) { + delete x["IPAddress"]; + delete x["DefaultGateway"]; + delete x["PrimaryDNS"]; + delete x["SecondaryDNS"]; + delete x["SubnetMask"]; + } + pendingAmtConfigActions++; + //console.log(JSON.stringify(x, 4, ' ')); + amtstack.Put("AMT_EthernetPortSettings", x, function (stack, name, response, status) { if (status != 200) { console.log('Error, status ' + status + '.'); } if (--pendingAmtConfigActions == 0) { performAmtNetConfig0(); } }, null, 0, x); + } + } + + if (pendingAmtConfigActions == 0) { + var maxlen = 0; + if (amtwiredif != -1) { for (var i in response['AMT_EthernetPortSettings'].responses[amtwiredif]) { if (i.length > maxlen) { maxlen = i.length; } } } + if (amtwirelessif != -1) { for (var i in response['AMT_EthernetPortSettings'].responses[amtwirelessif]) { if (i.length > maxlen) { maxlen = i.length; } } } + + if (amtwiredif != -1) { // Wired + var z = response['AMT_EthernetPortSettings'].responses[amtwiredif]; + console.log('--WIRED---'); + for (var i in z) { + if (['ElementName', 'InstanceID'].indexOf(i) == -1) { + var name = i; + while (name.length < maxlen) { name += ' '; } + console.log(name + ' : ' + z[i]); + } + } + } + if (amtwirelessif != -1) { // Wireless + var z = response['AMT_EthernetPortSettings'].responses[amtwirelessif]; + console.log('--WIRELESS---'); + for (var i in z) { + if (['ElementName', 'InstanceID'].indexOf(i) == -1) { + var name = i; + while (name.length < maxlen) { name += ' '; } + console.log(name + ' : ' + z[i]); + } + } + } + process.exit(0); + } + } else { + console.log('Error, status ' + status + '.'); + process.exit(1); + } +} + + +// +// Intel AMT feature configuration action +// + +function performAmtFeatureConfig(args) { + if ((settings.hostname == '127.0.0.1') || (settings.hostname.toLowerCase() == 'localhost')) { + settings.noconsole = true; startLms(performAmtFeatureConfig0, false, args); + } else { + performAmtFeatureConfig0(1, args); + } +} + +function performAmtFeatureConfig0(state, args) { + var transport = require('amt-wsman-duk'); + var wsman = require('amt-wsman'); + var amt = require('amt'); + wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); + amtstack = new amt(wsstack); + amtstack.BatchEnum(null, ['*IPS_OptInService', '*AMT_RedirectionService', '*CIM_KVMRedirectionSAP'], performAmtFeatureConfig1, args); +} + +function performAmtFeatureConfig1(stack, name, response, status, args) { + if (status == 200) { + // User consent + var optinrequired = response['IPS_OptInService'].response["OptInRequired"]; + if (args) { + if ((args.userconsent == 'none') && (optinrequired != 0)) { + pendingAmtConfigActions++; + response['IPS_OptInService'].response["OptInRequired"] = 0; + amtstack.Put("IPS_OptInService", response['IPS_OptInService'].response, function (stack, name, response, status) { if (--pendingAmtConfigActions == 0) { performAmtFeatureConfig0(); } }); + } + else if ((args.userconsent == 'kvm') && (optinrequired != 1)) { + pendingAmtConfigActions++; + response['IPS_OptInService'].response["OptInRequired"] = 1; + amtstack.Put("IPS_OptInService", response['IPS_OptInService'].response, function (stack, name, response, status) { if (--pendingAmtConfigActions == 0) { performAmtFeatureConfig0(); } }); + } + else if ((args.userconsent == 'all') && (optinrequired != 0xFFFFFFFF)) { + pendingAmtConfigActions++; + response['IPS_OptInService'].response["OptInRequired"] = 0xFFFFFFFF; + amtstack.Put("IPS_OptInService", response['IPS_OptInService'].response, function (stack, name, response, status) { if (--pendingAmtConfigActions == 0) { performAmtFeatureConfig0(); } }); + } + } + + // Redirection ports + var redirportchange = false; + var redirchange = false; + var redir = (response['AMT_RedirectionService'].response["ListenerEnabled"] == true); + + var sol = ((response['AMT_RedirectionService'].response["EnabledState"] & 2) != 0); + var ider = ((response['AMT_RedirectionService'].response["EnabledState"] & 1) != 0); + if (args) { + if ((redir == false) && ((args.redir == 'enabled') || (args.redir == 1))) { response['AMT_RedirectionService'].response["ListenerEnabled"] = true; redirportchange = true; } + if ((redir == true) && ((args.redir == 'disabled') || (args.redir == 0))) { response['AMT_RedirectionService'].response["ListenerEnabled"] = false; redirportchange = true; } + if ((sol == false) && ((args.sol == 'enabled') || (args.sol == 1))) { sol = true; redirchange = true; } + if ((sol == true) && ((args.sol == 'disabled') || (args.sol == 0))) { sol = false; redirchange = true; } + if ((ider == false) && ((args.ider == 'enabled') || (args.ider == 1))) { ider = true; redirchange = true; } + if ((ider == true) && ((args.ider == 'disabled') || (args.ider == 0))) { ider = false; redirchange = true; } + if (redirportchange) { pendingAmtConfigActions++; amtstack.Put("AMT_RedirectionService", response['AMT_RedirectionService'].response, function (stack, name, response, status) { if (--pendingAmtConfigActions == 0) { performAmtFeatureConfig0(); } }); } + if (redirchange) { pendingAmtConfigActions++; amtstack.AMT_RedirectionService_RequestStateChange((32768 + ((ider ? 1 : 0) + (sol ? 2 : 0))), function (stack, name, response, status) { if (--pendingAmtConfigActions == 0) { performAmtFeatureConfig0(); } }); } + } + + // KVM + var kvm = false; + var kvmchange = false; + if (response['CIM_KVMRedirectionSAP'] != null) { + kvm = ((response['CIM_KVMRedirectionSAP'].response["EnabledState"] == 6 && response['CIM_KVMRedirectionSAP'].response["RequestedState"] == 2) || response['CIM_KVMRedirectionSAP'].response["EnabledState"] == 2 || response['CIM_KVMRedirectionSAP'].response["EnabledState"] == 6); + if (args) { + if ((kvm == false) && ((args.kvm == 'enabled') || (args.kvm == 1))) { kvm = true; kvmchange = true; } + if ((kvm == true) && ((args.kvm == 'disabled') || (args.kvm == 0))) { kvm = false; kvmchange = true; } + if (kvmchange) { pendingAmtConfigActions++; amtstack.CIM_KVMRedirectionSAP_RequestStateChange(kvm ? 2 : 3, 0, function (stack, name, response, status) { if (--pendingAmtConfigActions == 0) { performAmtFeatureConfig0(); } }); } + } + } + + if (pendingAmtConfigActions == 0) { + if (optinrequired == 0) { console.log('User Consent : None'); } + else if (optinrequired == 1) { console.log('User Consent : KVM'); } + else if (optinrequired == 0xFFFFFFFF) { console.log('User Consent : All'); } + else { console.log('User Consent : ' + optinrequired); } + console.log('Redirection Port : ' + (redir ? 'Enabled' : 'Disabled')); + console.log('Serial-over-LAN : ' + (sol ? 'Enabled' : 'Disabled')); + console.log('IDE Redirection : ' + (ider ? 'Enabled' : 'Disabled')); + if (response['CIM_KVMRedirectionSAP'] != null) { console.log('Remote desktop (KVM) : ' + (kvm ? 'Enabled' : 'Disabled')); } + process.exit(0); + } + } else { + console.log('Error, status ' + status + '.'); + process.exit(1); + } +} + + +// +// Intel AMT Remote Power Action +// + +function performAmtPowerAction() { + var transport = require('amt-wsman-duk'); + var wsman = require('amt-wsman'); + var amt = require('amt'); + wsstack = new wsman(transport, settings.hostname, settings.tls ? 16993 : 16992, settings.username, settings.password, settings.tls); + amtstack = new amt(wsstack); + if (settings.poweraction != 0) { + // Set the power state + amtstack.RequestPowerStateChange(settings.poweraction, performAmtPowerActionEx); + } else { + // Get the power state + amtstack.Get("CIM_AssociatedPowerManagementService", performAmtPowerActionEx2, 0, 1); + } +} + +function performAmtPowerActionEx(stack, name, response, status) { + if (status == 200) { + console.log(response.Body.ReturnValueStr.split('_').join(' ')); + process.exit(0); + } else { + console.log('Error, status ' + status + '.'); + process.exit(1); + } +} + +var DMTFPowerStates = ["", "", "Power on", "Light sleep", "Deep sleep", "Power cycle (Soft off)", "Off - Hard", "Hibernate (Off soft)", "Soft off", "Power cycle (Off-hard)", "Master bus reset", "Diagnostic interrupt (NMI)", "Not applicable", "Off - Soft graceful", "Off - Hard graceful", "Master bus reset graceful", "Power cycle (Off - Soft graceful)", "Power cycle (Off - Hard graceful)", "Diagnostic interrupt (INIT)"]; +function performAmtPowerActionEx2(stack, name, response, status) { + if (status == 200) { + var powerNumber = parseInt(response.Body.PowerState); + if ((powerNumber >= DMTFPowerStates.length) && (powerNumber > 1)) { + console.log('Unknown power state: ' + response.Body.PowerState); + } else { + console.log('Current power state: ' + DMTFPowerStates[powerNumber]); + } + process.exit(0); + } else { + console.log('Error, status ' + status + '.'); + process.exit(1); + } +} + + +// +// Startup +// + +// Parse URL arguments +function parseUrlArguments(url) { + var r = {}, x = url.split('?'); + if (x.length < 2) return r; + x = x[1].split('&'); + for (var i in x) { var j = x[i].indexOf('='); if (j > 0) { r[x[i].substring(0, j).toLowerCase()] = x[i].substring(j + 1); } } + return r; +} + +// Remove a element from a array +function removeItemFromArray(array, element) { + var index = array.indexOf(element); + if (index !== -1) { array.splice(index, 1); } +} + +// Run MeshCmd, but before we do, we need to see if what type of service we are going to be +var serviceName = null; +var serviceOpSpecified = 0; +var serviceInstall = 0; + +for (var i in process.argv) { + if (process.argv[i].toLowerCase() == 'install') { serviceInstall = 1 } else if (process.argv[i].toLowerCase() == 'uninstall') { serviceInstall = -1 } + if ((process.argv[i].toLowerCase() == 'microlms') || (process.argv[i].toLowerCase() == 'amtlms') || (process.argv[i].toLowerCase() == 'lms')) { serviceName = 'MicroLMS'; break; } + if ((process.argv[i].toLowerCase() == 'meshcommander') || (process.argv[i].toLowerCase() == 'commander')) { serviceName = 'MeshCommander'; break; } +} + +if (serviceName == null) { + for (var i in process.argv) { + if ((process.argv[i].toLowerCase() == 'install') || (process.argv[i].toLowerCase() == 'uninstall')) { + console.log('In order to install/uninstall, a service type must be specified.'); + process.exit(); + } + } + if (process.execPath.includes('MicroLMS')) { serviceName = 'MicroLMS'; } + else if (process.execPath.includes('MeshCommander')) { serviceName = 'MeshCommander'; } + else { serviceName = 'not_a_service'; } +} + +if (serviceInstall == 0) { + run(process.argv); +} else { + var serviceHost = require('service-host'); + var meshcmdService = new serviceHost({ name: serviceName, startType: 'AUTO_START' }); + + // Called when the background service is started. + meshcmdService.on('serviceStart', function onStart() { + console.setDestination(console.Destinations.DISABLED); // Disable console.log(). + if (process.execPath.includes('MicroLMS')) { run([process.execPath, 'microlms']); } // + else if (process.execPath.includes('MeshCommander')) { run([process.execPath, 'meshcommander']); } + else { console.log('Aborting Service Start, because unknown binary: ' + process.execPath); process.exit(1); } + }); + + // Called when the background service is stopping + meshcmdService.on('serviceStop', function onStop() { console.log('Stopping service'); process.exit(); }); // The console.log() is for debugging, will be ignored unless "console.setDestination()" is set. + + // Called when the executable is not running as a service, run normally. + meshcmdService.on('normalStart', function onNormalStart() { try { run(process.argv); } catch (e) { console.log('ERROR: ' + e); } }); + meshcmdService.run(); +} diff --git a/agents/meshcore.min.js b/agents/meshcore.min.js new file mode 100644 index 00000000..f15fc43c --- /dev/null +++ b/agents/meshcore.min.js @@ -0,0 +1,2602 @@ +/* +Copyright 2018-2019 Intel Corporation + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +process.on('uncaughtException', function (ex) { + require('MeshAgent').SendCommand({ "action": "msg", "type": "console", "value": "uncaughtException1: " + ex }); +}); + +// NOTE: This seems to cause big problems, don't enable the debugger in the server's meshcore. +//attachDebugger({ webport: 9999, wait: 1 }).then(function (prt) { console.log('Point Browser for Debug to port: ' + prt); }); + +// Mesh Rights +var MNG_ERROR = 65; +var MESHRIGHT_EDITMESH = 1; +var MESHRIGHT_MANAGEUSERS = 2; +var MESHRIGHT_MANAGECOMPUTERS = 4; +var MESHRIGHT_REMOTECONTROL = 8; +var MESHRIGHT_AGENTCONSOLE = 16; +var MESHRIGHT_SERVERFILES = 32; +var MESHRIGHT_WAKEDEVICE = 64; +var MESHRIGHT_SETNOTES = 128; +var MESHRIGHT_REMOTEVIEW = 256; +var MESHRIGHT_NOTERMINAL = 512; +var MESHRIGHT_NOFILES = 1024; +var MESHRIGHT_NOAMT = 2048; +var MESHRIGHT_LIMITEDINPUT = 4096; + +function createMeshCore(agent) { + var obj = {}; + + if (process.platform == 'darwin' && !process.versions) { + // This is an older MacOS Agent, so we'll need to check the service definition so that Auto-Update will function correctly + var child = require('child_process').execFile('/bin/sh', ['sh']); + child.stdout.str = ''; + child.stdout.on('data', function (chunk) { this.str += chunk.toString(); }); + child.stdin.write("cat /Library/LaunchDaemons/meshagent_osx64_LaunchDaemon.plist | tr '\n' '\.' | awk '{split($0, a, \"KeepAlive\"); split(a[2], b, \"<\"); split(b[2], c, \">\"); "); + child.stdin.write(" if(c[1]==\"dict\"){ split(a[2], d, \"\"); if(split(d[1], truval, \"\")>1) { split(truval[1], kn1, \"\"); split(kn1[2], kn2, \"\"); print kn2[1]; } }"); + child.stdin.write(" else { split(c[1], ka, \"/\"); if(ka[1]==\"true\") {print \"ALWAYS\";} } }'\nexit\n"); + child.waitExit(); + if (child.stdout.str.trim() == 'Crashed') { + child = require('child_process').execFile('/bin/sh', ['sh']); + child.stdout.str = ''; + child.stdout.on('data', function (chunk) { this.str += chunk.toString(); }); + child.stdin.write("launchctl list | grep 'meshagent' | awk '{ if($3==\"meshagent\"){print $1;}}'\nexit\n"); + child.waitExit(); + + if (parseInt(child.stdout.str.trim()) == process.pid) { + // The currently running MeshAgent is us, so we can continue with the update + var plist = require('fs').readFileSync('/Library/LaunchDaemons/meshagent_osx64_LaunchDaemon.plist').toString(); + var tokens = plist.split('KeepAlive'); + if (tokens[1].split('>')[0].split('<')[1] == 'dict') { + var tmp = tokens[1].split(''); + tmp.shift(); + tokens[1] = '\n ' + tmp.join(''); + tokens = tokens.join('KeepAlive'); + + require('fs').writeFileSync('/Library/LaunchDaemons/meshagent_osx64_LaunchDaemon.plist', tokens); + + var fix = ''; + fix += ("function macosRepair()\n"); + fix += ("{\n"); + fix += (" var child = require('child_process').execFile('/bin/sh', ['sh']);\n"); + fix += (" child.stdout.str = '';\n"); + fix += (" child.stdout.on('data', function (chunk) { this.str += chunk.toString(); });\n"); + fix += (" child.stderr.on('data', function (chunk) { });\n"); + fix += (" child.stdin.write('launchctl unload /Library/LaunchDaemons/meshagent_osx64_LaunchDaemon.plist\\n');\n"); + fix += (" child.stdin.write('launchctl load /Library/LaunchDaemons/meshagent_osx64_LaunchDaemon.plist\\n');\n"); + fix += (" child.stdin.write('rm /Library/LaunchDaemons/meshagentRepair.plist\\n');\n"); + fix += (" child.stdin.write('rm " + process.cwd() + "/macosRepair.js\\n');\n"); + fix += (" child.stdin.write('launchctl stop meshagentRepair\\nexit\\n');\n"); + fix += (" child.waitExit();\n"); + fix += ("}\n"); + fix += ("macosRepair();\n"); + fix += ("process.exit();\n"); + require('fs').writeFileSync(process.cwd() + '/macosRepair.js', fix); + + var plist = '\n'; + plist += '\n'; + plist += '\n'; + plist += ' \n'; + plist += ' Label\n'; + plist += (' meshagentRepair\n'); + plist += ' ProgramArguments\n'; + plist += ' \n'; + plist += (' ' + process.execPath + '\n'); + plist += ' macosRepair.js\n'; + plist += ' \n'; + plist += ' WorkingDirectory\n'; + plist += (' ' + process.cwd() + '\n'); + plist += ' RunAtLoad\n'; + plist += ' \n'; + plist += ' \n'; + plist += ''; + require('fs').writeFileSync('/Library/LaunchDaemons/meshagentRepair.plist', plist); + + child = require('child_process').execFile('/bin/sh', ['sh']); + child.stdout.str = ''; + child.stdout.on('data', function (chunk) { this.str += chunk.toString(); }); + child.stdin.write("launchctl load /Library/LaunchDaemons/meshagentRepair.plist\nexit\n"); + child.waitExit(); + } + } + } + } + + // Create Secure IPC for Diagnostic Agent Communications + obj.DAIPC = require('net').createServer(); + if (process.platform != 'win32') { try { require('fs').unlinkSync(process.cwd() + '/DAIPC'); } catch (ee) { } } + obj.DAIPC.IPCPATH = process.platform == 'win32' ? ('\\\\.\\pipe\\' + require('_agentNodeId')() + '-DAIPC') : (process.cwd() + '/DAIPC'); + try { obj.DAIPC.listen({ path: obj.DAIPC.IPCPATH }); } catch (e) { } + obj.DAIPC.on('connection', function (c) { + c._send = function (j) { + var data = JSON.stringify(j); + var packet = Buffer.alloc(data.length + 4); + packet.writeUInt32LE(data.length + 4, 0); + Buffer.from(data).copy(packet, 4); + this.end(packet); + }; + this._daipc = c; + c.parent = this; + c.on('end', function () { console.log('Connection Closed'); this.parent._daipc = null; }); + c.on('data', function (chunk) { + if (chunk.length < 4) { this.unshift(chunk); return; } + var len = chunk.readUInt32LE(0); + if (len > 8192) { this.parent._daipc = null; this.end(); return; } + if (chunk.length < len) { this.unshift(chunk); return; } + + var data = chunk.slice(4, len); + try { + data = JSON.parse(data.toString()); + } + catch (de) { + this.parent._daipc = null; this.end(); return; + } + + if (!data.cmd) { this.parent._daipc = null; this.end(); return; } + + try { + switch (data.cmd) { + case 'query': + switch (data.value) { + case 'connection': + data.result = require('MeshAgent').ConnectedServer; + this._send(data); + break; + } + break; + default: + this.parent._daipc = null; + this.end(); + return; + } + } + catch (xe) { + this.parent._daipc = null; this.end(); return; + } + }); + }); + function diagnosticAgent_uninstall() { + require('service-manager').manager.uninstallService('meshagentDiagnostic'); + require('task-scheduler').delete('meshagentDiagnostic/periodicStart'); + }; + function diagnosticAgent_installCheck(install) { + try { + var diag = require('service-manager').manager.getService('meshagentDiagnostic'); + return (diag); + } + catch (e) { + } + if (!install) { return (null); } + + var svc = null; + try { + require('service-manager').manager.installService( + { + name: 'meshagentDiagnostic', + displayName: 'Mesh Agent Diagnostic Service', + description: 'Mesh Agent Diagnostic Service', + servicePath: process.execPath, + parameters: ['-recovery'] + //files: [{ newName: 'diagnostic.js', _buffer: Buffer.from('LyoNCkNvcHlyaWdodCAyMDE5IEludGVsIENvcnBvcmF0aW9uDQoNCkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLg0KWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0DQoNCiAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjANCg0KVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywNCldJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLg0KU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuDQoqLw0KDQp2YXIgaG9zdCA9IHJlcXVpcmUoJ3NlcnZpY2UtaG9zdCcpLmNyZWF0ZSgnbWVzaGFnZW50RGlhZ25vc3RpYycpOw0KdmFyIFJlY292ZXJ5QWdlbnQgPSByZXF1aXJlKCdNZXNoQWdlbnQnKTsNCg0KaG9zdC5vbignc2VydmljZVN0YXJ0JywgZnVuY3Rpb24gKCkNCnsNCiAgICBjb25zb2xlLnNldERlc3RpbmF0aW9uKGNvbnNvbGUuRGVzdGluYXRpb25zLkxPR0ZJTEUpOw0KICAgIGhvc3Quc3RvcCA9IGZ1bmN0aW9uKCkNCiAgICB7DQogICAgICAgIHJlcXVpcmUoJ3NlcnZpY2UtbWFuYWdlcicpLm1hbmFnZXIuZ2V0U2VydmljZSgnbWVzaGFnZW50RGlhZ25vc3RpYycpLnN0b3AoKTsNCiAgICB9DQogICAgUmVjb3ZlcnlBZ2VudC5vbignQ29ubmVjdGVkJywgZnVuY3Rpb24gKHN0YXR1cykNCiAgICB7DQogICAgICAgIGlmIChzdGF0dXMgPT0gMCkNCiAgICAgICAgew0KICAgICAgICAgICAgY29uc29sZS5sb2coJ0RpYWdub3N0aWMgQWdlbnQ6IFNlcnZlciBjb25uZWN0aW9uIGxvc3QuLi4nKTsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgfQ0KICAgICAgICBjb25zb2xlLmxvZygnRGlhZ25vc3RpYyBBZ2VudDogQ29ubmVjdGlvbiBFc3RhYmxpc2hlZCB3aXRoIFNlcnZlcicpOw0KICAgICAgICBzdGFydCgpOw0KICAgIH0pOw0KfSk7DQpob3N0Lm9uKCdub3JtYWxTdGFydCcsIGZ1bmN0aW9uICgpDQp7DQogICAgaG9zdC5zdG9wID0gZnVuY3Rpb24gKCkNCiAgICB7DQogICAgICAgIHByb2Nlc3MuZXhpdCgpOw0KICAgIH0NCiAgICBjb25zb2xlLmxvZygnTm9uIFNlcnZpY2UgTW9kZScpOw0KICAgIFJlY292ZXJ5QWdlbnQub24oJ0Nvbm5lY3RlZCcsIGZ1bmN0aW9uIChzdGF0dXMpDQogICAgew0KICAgICAgICBpZiAoc3RhdHVzID09IDApDQogICAgICAgIHsNCiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdEaWFnbm9zdGljIEFnZW50OiBTZXJ2ZXIgY29ubmVjdGlvbiBsb3N0Li4uJyk7DQogICAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCiAgICAgICAgY29uc29sZS5sb2coJ0RpYWdub3N0aWMgQWdlbnQ6IENvbm5lY3Rpb24gRXN0YWJsaXNoZWQgd2l0aCBTZXJ2ZXInKTsNCiAgICAgICAgc3RhcnQoKTsNCiAgICB9KTsNCn0pOw0KaG9zdC5vbignc2VydmljZVN0b3AnLCBmdW5jdGlvbiAoKSB7IHByb2Nlc3MuZXhpdCgpOyB9KTsNCmhvc3QucnVuKCk7DQoNCg0KZnVuY3Rpb24gc3RhcnQoKQ0Kew0KDQp9Ow0K', 'base64') }] + }); + svc = require('service-manager').manager.getService('meshagentDiagnostic'); + } + catch (e) { + return (null); + } + var proxyConfig = require('global-tunnel').proxyConfig; + var cert = require('MeshAgent').GenerateAgentCertificate('CN=MeshNodeDiagnosticCertificate'); + var nodeid = require('tls').loadCertificate(cert.root).getKeyHash().toString('base64'); + ddb = require('SimpleDataStore').Create(svc.appWorkingDirectory().replace('\\', '/') + '/meshagentDiagnostic.db'); + ddb.Put('disableUpdate', '1'); + ddb.Put('MeshID', Buffer.from(require('MeshAgent').ServerInfo.MeshID, 'hex')); + ddb.Put('ServerID', require('MeshAgent').ServerInfo.ServerID); + ddb.Put('MeshServer', require('MeshAgent').ServerInfo.ServerUri); + if (cert.root.pfx) { ddb.Put('SelfNodeCert', cert.root.pfx); } + if (cert.tls) { ddb.Put('SelfNodeTlsCert', cert.tls.pfx); } + if (proxyConfig) { + ddb.Put('WebProxy', proxyConfig.host + ':' + proxyConfig.port); + } + else { + ddb.Put('ignoreProxyFile', '1'); + } + + require('MeshAgent').SendCommand({ action: 'diagnostic', value: { command: 'register', value: nodeid } }); + require('MeshAgent').SendCommand({ action: 'msg', type: 'console', value: 'Diagnostic Agent Registered [' + nodeid.length + '/' + nodeid + ']' }); + + delete ddb; + + // Set a recurrent task, to run the Diagnostic Agent every 2 days + require('task-scheduler').create({ name: 'meshagentDiagnostic/periodicStart', daily: 2, time: require('tls').generateRandomInteger('0', '23') + ':' + require('tls').generateRandomInteger('0', '59').padStart(2, '0'), service: 'meshagentDiagnostic' }); + //require('task-scheduler').create({ name: 'meshagentDiagnostic/periodicStart', daily: '1', time: '17:16', service: 'meshagentDiagnostic' }); + + return (svc); + } + + /* + function borderController() { + this.container = null; + this.Start = function Start(user) { + if (this.container == null) { + if (process.platform == 'win32') { + try { + this.container = require('ScriptContainer').Create({ processIsolation: 1, sessionId: user.SessionId }); + } catch (ex) { + this.container = require('ScriptContainer').Create({ processIsolation: 1 }); + } + } else { + this.container = require('ScriptContainer').Create({ processIsolation: 1, sessionId: user.uid }); + } + this.container.parent = this; + this.container.addModule('monitor-info', getJSModule('monitor-info')); + this.container.addModule('monitor-border', getJSModule('monitor-border')); + this.container.addModule('promise', getJSModule('promise')); + this.container.once('exit', function (code) { sendConsoleText('Border Process Exited with code: ' + code); this.parent.container = this.parent._container = null; }); + this.container.ExecuteString("var border = require('monitor-border'); border.Start();"); + } + } + this.Stop = function Stop() { + if (this.container != null) { + this._container = this.container; + this._container.parent = this; + this.container = null; + this._container.exit(); + } + } + } + obj.borderManager = new borderController(); + */ + + // MeshAgent JavaScript Core Module. This code is sent to and running on the mesh agent. + var meshCoreObj = { "action": "coreinfo", "value": "MeshCore v6", "caps": 14 }; // Capability bitmask: 1 = Desktop, 2 = Terminal, 4 = Files, 8 = Console, 16 = JavaScript, 32 = Temporary Agent, 64 = Recovery Agent + + // Get the operating system description string + try { require('os').name().then(function (v) { meshCoreObj.osdesc = v; }); } catch (ex) { } + + var meshServerConnectionState = 0; + var tunnels = {}; + var lastMeInfo = null; + var lastNetworkInfo = null; + var lastPublicLocationInfo = null; + var selfInfoUpdateTimer = null; + var http = require('http'); + var net = require('net'); + var fs = require('fs'); + var rtc = require('ILibWebRTC'); + var amt = null; + var processManager = require('process-manager'); + var wifiScannerLib = null; + var wifiScanner = null; + var networkMonitor = null; + var amtscanner = null; + var nextTunnelIndex = 1; + var amtPolicy = null; + var apftunnel = null; + + // Add to the server event log + function MeshServerLog(msg, state) { + if (typeof msg == 'string') { msg = { 'action': 'log', 'msg': msg }; } else { msg.action = 'log'; } + if (state) { + if (state.userid) { msg.userid = state.userid; } + if (state.username) { msg.username = state.username; } + if (state.sessionid) { msg.sessionid = state.sessionid; } + } + mesh.SendCommand(msg); + } + + // If we are running in Duktape, agent will be null + if (agent == null) { + // Running in native agent, Import libraries + db = require('SimpleDataStore').Shared(); + sha = require('SHA256Stream'); + mesh = require('MeshAgent'); + childProcess = require('child_process'); + if (mesh.hasKVM == 1) { // if the agent is compiled with KVM support + // Check if this computer supports a desktop + try { if ((process.platform == 'win32') || (process.platform == 'darwin') || (require('monitor-info').kvm_x11_support)) { meshCoreObj.caps |= 1; } } catch (ex) { } + } + } else { + // Running in nodejs + meshCoreObj.value += '-NodeJS'; + meshCoreObj.caps = 8; + mesh = agent.getMeshApi(); + } + + mesh.DAIPC = obj.DAIPC; + + /* + var AMTScanner = require("AMTScanner"); + var scan = new AMTScanner(); + + scan.on("found", function (data) { + if (typeof data === 'string') { + console.log(data); + } else { + console.log(JSON.stringify(data, null, " ")); + } + }); + scan.scan("10.2.55.140", 1000); + scan.scan("10.2.55.139-10.2.55.145", 1000); + scan.scan("10.2.55.128/25", 2000); + */ + + /* + // Try to load up the network monitor + try { + networkMonitor = require('NetworkMonitor'); + networkMonitor.on('change', function () { sendNetworkUpdateNagle(); }); + networkMonitor.on('add', function (addr) { sendNetworkUpdateNagle(); }); + networkMonitor.on('remove', function (addr) { sendNetworkUpdateNagle(); }); + } catch (e) { networkMonitor = null; } + */ + + // Try to load up the Intel AMT scanner + try { + var AMTScannerModule = require('amt-scanner'); + amtscanner = new AMTScannerModule(); + //amtscanner.on('found', function (data) { if (typeof data != 'string') { data = JSON.stringify(data, null, " "); } sendConsoleText(data); }); + } catch (ex) { amtscanner = null; } + + // Fetch the SMBios Tables + var SMBiosTables = null; + var SMBiosTablesRaw = null; + try { + var SMBiosModule = null; + try { SMBiosModule = require('smbios'); } catch (ex) { } + if (SMBiosModule != null) { + SMBiosModule.get(function (data) { + if (data != null) { + SMBiosTablesRaw = data; + SMBiosTables = require('smbios').parse(data) + if (mesh.isControlChannelConnected) { mesh.SendCommand({ "action": "smbios", "value": SMBiosTablesRaw }); } + + // If SMBios tables say that AMT is present, try to connect MEI + if (SMBiosTables.amtInfo && (SMBiosTables.amtInfo.AMT == true)) { + var amtmodule = require('amt-manage'); + amt = new amtmodule(mesh, db, true); + amt.onStateChange = function (state) { if (state == 2) { sendPeriodicServerUpdate(1); } } + if (amtPolicy != null) { amt.setPolicy(amtPolicy); } + amt.start(); + } + } + }); + } + } catch (ex) { sendConsoleText("ex1: " + ex); } + + // Try to load up the WIFI scanner + try { + var wifiScannerLib = require('wifi-scanner'); + wifiScanner = new wifiScannerLib(); + wifiScanner.on('accessPoint', function (data) { sendConsoleText("wifiScanner: " + data); }); + } catch (ex) { wifiScannerLib = null; wifiScanner = null; } + + // Get our location (lat/long) using our public IP address + var getIpLocationDataExInProgress = false; + var getIpLocationDataExCounts = [0, 0]; + function getIpLocationDataEx(func) { + if (getIpLocationDataExInProgress == true) { return false; } + try { + getIpLocationDataExInProgress = true; + getIpLocationDataExCounts[0]++; + var options = http.parseUri("http://ipinfo.io/json"); + options.method = 'GET'; + http.request(options, function (resp) { + if (resp.statusCode == 200) { + var geoData = ''; + resp.data = function (geoipdata) { geoData += geoipdata; }; + resp.end = function () { + var location = null; + try { + if (typeof geoData == 'string') { + var result = JSON.parse(geoData); + if (result.ip && result.loc) { location = result; } + } + } catch (e) { } + if (func) { getIpLocationDataExCounts[1]++; func(location); } + } + } else { func(null); } + getIpLocationDataExInProgress = false; + }).end(); + return true; + } + catch (e) { return false; } + } + + // Remove all Gateway MAC addresses for interface list. This is useful because the gateway MAC is not always populated reliably. + function clearGatewayMac(str) { + if (str == null) return null; + var x = JSON.parse(str); + for (var i in x.netif) { if (x.netif[i].gatewaymac) { delete x.netif[i].gatewaymac } } + return JSON.stringify(x); + } + + function getIpLocationData(func) { + // Get the location information for the cache if possible + var publicLocationInfo = db.Get('publicLocationInfo'); + if (publicLocationInfo != null) { publicLocationInfo = JSON.parse(publicLocationInfo); } + if (publicLocationInfo == null) { + // Nothing in the cache, fetch the data + getIpLocationDataEx(function (locationData) { + if (locationData != null) { + publicLocationInfo = {}; + publicLocationInfo.netInfoStr = lastNetworkInfo; + publicLocationInfo.locationData = locationData; + var x = db.Put('publicLocationInfo', JSON.stringify(publicLocationInfo)); // Save to database + if (func) func(locationData); // Report the new location + } else { + if (func) func(null); // Report no location + } + }); + } else { + // Check the cache + if (clearGatewayMac(publicLocationInfo.netInfoStr) == clearGatewayMac(lastNetworkInfo)) { + // Cache match + if (func) func(publicLocationInfo.locationData); + } else { + // Cache mismatch + getIpLocationDataEx(function (locationData) { + if (locationData != null) { + publicLocationInfo = {}; + publicLocationInfo.netInfoStr = lastNetworkInfo; + publicLocationInfo.locationData = locationData; + var x = db.Put('publicLocationInfo', JSON.stringify(publicLocationInfo)); // Save to database + if (func) func(locationData); // Report the new location + } else { + if (func) func(publicLocationInfo.locationData); // Can't get new location, report the old location + } + }); + } + } + } + + // Polyfill String.endsWith + if (!String.prototype.endsWith) { + String.prototype.endsWith = function (searchString, position) { + var subjectString = this.toString(); + if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) { position = subjectString.length; } + position -= searchString.length; + var lastIndex = subjectString.lastIndexOf(searchString, position); + return lastIndex !== -1 && lastIndex === position; + }; + } + + // Polyfill path.join + obj.path = { + join: function () { + var x = []; + for (var i in arguments) { + var w = arguments[i]; + if (w != null) { + while (w.endsWith('/') || w.endsWith('\\')) { w = w.substring(0, w.length - 1); } + if (i != 0) { + while (w.startsWith('/') || w.startsWith('\\')) { w = w.substring(1); } + } + x.push(w); + } + } + if (x.length == 0) return '/'; + return x.join('/'); + } + }; + + // Replace a string with a number if the string is an exact number + function toNumberIfNumber(x) { if ((typeof x == 'string') && (+parseInt(x) === x)) { x = parseInt(x); } return x; } + + // Convert decimal to hex + function char2hex(i) { return (i + 0x100).toString(16).substr(-2).toUpperCase(); } + + // Convert a raw string to a hex string + function rstr2hex(input) { var r = '', i; for (i = 0; i < input.length; i++) { r += char2hex(input.charCodeAt(i)); } return r; } + + // Convert a buffer into a string + function buf2rstr(buf) { var r = ''; for (var i = 0; i < buf.length; i++) { r += String.fromCharCode(buf[i]); } return r; } + + // Convert a hex string to a raw string // TODO: Do this using Buffer(), will be MUCH faster + function hex2rstr(d) { + if (typeof d != "string" || d.length == 0) return ''; + var r = '', m = ('' + d).match(/../g), t; + while (t = m.shift()) r += String.fromCharCode('0x' + t); + return r + } + + // Convert an object to string with all functions + function objToString(x, p, pad, ret) { + if (ret == undefined) ret = ''; + if (p == undefined) p = 0; + if (x == null) { return '[null]'; } + if (p > 8) { return '[...]'; } + if (x == undefined) { return '[undefined]'; } + if (typeof x == 'string') { if (p == 0) return x; return '"' + x + '"'; } + if (typeof x == 'buffer') { return '[buffer]'; } + if (typeof x != 'object') { return x; } + var r = '{' + (ret ? '\r\n' : ' '); + for (var i in x) { if (i != '_ObjectID') { r += (addPad(p + 2, pad) + i + ': ' + objToString(x[i], p + 2, pad, ret) + (ret ? '\r\n' : ' ')); } } + return r + addPad(p, pad) + '}'; + } + + // Return p number of spaces + function addPad(p, ret) { var r = ''; for (var i = 0; i < p; i++) { r += ret; } return r; } + + // Split a string taking into account the quoats. Used for command line parsing + function splitArgs(str) { + var myArray = [], myRegexp = /[^\s"]+|"([^"]*)"/gi; + do { var match = myRegexp.exec(str); if (match != null) { myArray.push(match[1] ? match[1] : match[0]); } } while (match != null); + return myArray; + } + + // Parse arguments string array into an object + function parseArgs(argv) { + var results = { '_': [] }, current = null; + for (var i = 1, len = argv.length; i < len; i++) { + var x = argv[i]; + if (x.length > 2 && x[0] == '-' && x[1] == '-') { + if (current != null) { results[current] = true; } + current = x.substring(2); + } else { + if (current != null) { results[current] = toNumberIfNumber(x); current = null; } else { results['_'].push(toNumberIfNumber(x)); } + } + } + if (current != null) { results[current] = true; } + return results; + } + + // Get server target url with a custom path + function getServerTargetUrl(path) { + var x = mesh.ServerUrl; + //sendConsoleText("mesh.ServerUrl: " + mesh.ServerUrl); + if (x == null) { return null; } + if (path == null) { path = ''; } + x = http.parseUri(x); + if (x == null) return null; + return x.protocol + '//' + x.host + ':' + x.port + '/' + path; + } + + // Get server url. If the url starts with "*/..." change it, it not use the url as is. + function getServerTargetUrlEx(url) { + if (url.substring(0, 2) == '*/') { return getServerTargetUrl(url.substring(2)); } + return url; + } + + // Send a wake-on-lan packet + function sendWakeOnLan(hexMac) { + var count = 0; + try { + var interfaces = require('os').networkInterfaces(); + var magic = 'FFFFFFFFFFFF'; + for (var x = 1; x <= 16; ++x) { magic += hexMac; } + var magicbin = Buffer.from(magic, 'hex'); + + for (var adapter in interfaces) { + if (interfaces.hasOwnProperty(adapter)) { + for (var i = 0; i < interfaces[adapter].length; ++i) { + var addr = interfaces[adapter][i]; + if ((addr.family == 'IPv4') && (addr.mac != '00:00:00:00:00:00')) { + var socket = require('dgram').createSocket({ type: "udp4" }); + socket.bind({ address: addr.address }); + socket.setBroadcast(true); + socket.send(magicbin, 7, "255.255.255.255"); + count++; + } + } + } + } + } catch (e) { } + return count; + } + + // Handle a mesh agent command + function handleServerCommand(data) { + if (typeof data == 'object') { + // If this is a console command, parse it and call the console handler + switch (data.action) { + case 'msg': { + switch (data.type) { + case 'console': { // Process a console command + if (data.value && data.sessionid) { + MeshServerLog('Processing console command: ' + data.value, data); + var args = splitArgs(data.value); + processConsoleCommand(args[0].toLowerCase(), parseArgs(args), data.rights, data.sessionid); + } + break; + } + case 'tunnel': { + if (data.value != null) { // Process a new tunnel connection request + // Create a new tunnel object + var xurl = getServerTargetUrlEx(data.value); + if (xurl != null) { + var woptions = http.parseUri(xurl); + woptions.rejectUnauthorized = 0; + //sendConsoleText(JSON.stringify(woptions)); + //sendConsoleText('TUNNEL: ' + JSON.stringify(data)); + var tunnel = http.request(woptions); + tunnel.upgrade = onTunnelUpgrade; + tunnel.on('error', function (e) { sendConsoleText('ERROR: ' + JSON.stringify(e)); }); + tunnel.sessionid = data.sessionid; + tunnel.rights = data.rights; + tunnel.consent = data.consent; + tunnel.username = data.username; + tunnel.userid = data.userid; + tunnel.remoteaddr = data.remoteaddr; + tunnel.state = 0; + tunnel.url = xurl; + tunnel.protocol = 0; + tunnel.tcpaddr = data.tcpaddr; + tunnel.tcpport = data.tcpport; + tunnel.udpaddr = data.udpaddr; + tunnel.udpport = data.udpport; + tunnel.end(); + // Put the tunnel in the tunnels list + var index = nextTunnelIndex++; + tunnel.index = index; + tunnels[index] = tunnel; + + //sendConsoleText('New tunnel connection #' + index + ': ' + tunnel.url + ', rights: ' + tunnel.rights, data.sessionid); + } + } + break; + } + case 'ps': { + // Return the list of running processes + if (data.sessionid) { + processManager.getProcesses(function (plist) { + mesh.SendCommand({ "action": "msg", "type": "ps", "value": JSON.stringify(plist), "sessionid": data.sessionid }); + }); + } + break; + } + case 'pskill': { + // Kill a process + if (data.value) { + MeshServerLog('Killing process ' + data.value, data); + try { process.kill(data.value); } catch (e) { sendConsoleText("pskill: " + JSON.stringify(e)); } + } + break; + } + case 'services': { + // Return the list of installed services + var services = null; + try { services = require('service-manager').manager.enumerateService(); } catch (e) { } + if (services != null) { mesh.SendCommand({ "action": "msg", "type": "services", "value": JSON.stringify(services), "sessionid": data.sessionid }); } + break; + } + case 'serviceStop': { + // Stop a service + try { + var service = require('service-manager').manager.getService(data.serviceName); + if (service != null) { service.stop(); } + } catch (e) { } + break; + } + case 'serviceStart': { + // Start a service + try { + var service = require('service-manager').manager.getService(data.serviceName); + if (service != null) { service.start(); } + } catch (e) { } + break; + } + case 'serviceRestart': { + // Restart a service + try { + var service = require('service-manager').manager.getService(data.serviceName); + if (service != null) { service.restart(); } + } catch (e) { } + break; + } + case 'openUrl': { + // Open a local web browser and return success/fail + MeshServerLog('Opening: ' + data.url, data); + sendConsoleText('OpenURL: ' + data.url); + if (data.url) { mesh.SendCommand({ "action": "msg", "type": "openUrl", "url": data.url, "sessionid": data.sessionid, "success": (openUserDesktopUrl(data.url) != null) }); } + break; + } + case 'getclip': { + // Send the load clipboard back to the user + //sendConsoleText('getClip: ' + JSON.stringify(data)); + if (require('MeshAgent').isService) { + require('clipboard').dispatchRead().then(function (str) { + if (str) { + MeshServerLog('Getting clipboard content, ' + str.length + ' byte(s)', data); + mesh.SendCommand({ "action": "msg", "type": "getclip", "sessionid": data.sessionid, "data": str }); + } + }); + } else { + require("clipboard").read().then(function (str) { + if (str) { + MeshServerLog('Getting clipboard content, ' + str.length + ' byte(s)', data); + mesh.SendCommand({ "action": "msg", "type": "getclip", "sessionid": data.sessionid, "data": str }); + } + }); + } + break; + } + case 'setclip': { + // Set the load clipboard to a user value + //sendConsoleText('setClip: ' + JSON.stringify(data)); + if (typeof data.data == 'string') { + MeshServerLog('Setting clipboard content, ' + data.data.length + ' byte(s)', data); + if (typeof data.data == 'string') { + if (require('MeshAgent').isService) { require('clipboard').dispatchWrite(data.data); } else { require("clipboard")(data.data); } // Set the clipboard + mesh.SendCommand({ "action": "msg", "type": "setclip", "sessionid": data.sessionid, "success": true }); + } + } + break; + } + default: + // Unknown action, ignore it. + break; + } + break; + } + case 'acmactivate': { + if (amt != null) { + MeshServerLog('Attempting Intel AMT ACM mode activation', data); + amt.setAcmResponse(data); + } + break; + } + case 'wakeonlan': { + // Send wake-on-lan on all interfaces for all MAC addresses in data.macs array. The array is a list of HEX MAC addresses. + sendConsoleText('Server requesting wake-on-lan for: ' + data.macs.join(', ')); + for (var i in data.macs) { sendWakeOnLan(data.macs[i]); } + break; + } + case 'uninstallagent': + // Uninstall this agent + var agentName = process.platform == 'win32' ? 'Mesh Agent' : 'meshagent'; + if (require('service-manager').manager.getService(agentName).isMe()) { + try { diagnosticAgent_uninstall(); } catch (x) { } + var js = "require('service-manager').manager.getService('" + agentName + "').stop(); require('service-manager').manager.uninstallService('" + agentName + "'); process.exit();"; + this.child = require('child_process').execFile(process.execPath, [process.platform == 'win32' ? (process.execPath.split('\\').pop()) : (process.execPath.split('/').pop()), '-b64exec', Buffer.from(js).toString('base64')], { type: 4, detached: true }); + } + break; + case 'poweraction': { + // Server telling us to execute a power action + if ((mesh.ExecPowerState != undefined) && (data.actiontype)) { + var forced = 0; + if (data.forced == 1) { forced = 1; } + data.actiontype = parseInt(data.actiontype); + MeshServerLog('Performing power action=' + data.actiontype + ', forced=' + forced, data); + sendConsoleText('Performing power action=' + data.actiontype + ', forced=' + forced + '.'); + var r = mesh.ExecPowerState(data.actiontype, forced); + sendConsoleText('ExecPowerState returned code: ' + r); + } + break; + } + case 'iplocation': { + // Update the IP location information of this node. Only do this when requested by the server since we have a limited amount of time we can call this per day + getIpLocationData(function (location) { mesh.SendCommand({ "action": "iplocation", "type": "publicip", "value": location }); }); + break; + } + case 'toast': { + // Display a toast message + if (data.title && data.msg) { + MeshServerLog('Displaying toast message, title=' + data.title + ', message=' + data.msg, data); + data.msg = data.msg.split('\r').join('\\r').split('\n').join('\\n'); + try { require('toaster').Toast(data.title, data.msg); } catch (ex) { } + } + break; + } + case 'openUrl': { + // Open a local web browser and return success/fail + //sendConsoleText('OpenURL: ' + data.url); + MeshServerLog('Opening: ' + data.url, data); + if (data.url) { mesh.SendCommand({ "action": "openUrl", "url": data.url, "sessionid": data.sessionid, "success": (openUserDesktopUrl(data.url) != null) }); } + break; + } + case 'amtPolicy': { + // Store the latest Intel AMT policy + amtPolicy = data.amtPolicy; + if (data.amtPolicy != null) { db.Put('amtPolicy', JSON.stringify(data.amtPolicy)); } else { db.Put('amtPolicy', null); } + if (amt != null) { amt.setPolicy(amtPolicy, true); } + break; + } + case 'getScript': { + // Received a configuration script from the server + sendConsoleText('getScript: ' + JSON.stringify(data)); + break; + } + case 'sysinfo': { + // Fetch system information + getSystemInformation(function (results) { + if ((results != null) && (data.hash != results.hash)) { mesh.SendCommand({ "action": "sysinfo", "sessionid": this.sessionid, "data": results }); } + }); + break; + } + case 'ping': { mesh.SendCommand('{"action":"pong"}'); break; } + case 'pong': { break; } + case 'plugin': { + if (typeof data.pluginaction == 'string') { + try { + MeshServerLog('Plugin called', data); + // Not yet implemented + // require(data.plugin.name).serveraction(data); + } catch (e) { + MeshServerLog('Error calling plugin', data); + } + } + break; + } + default: + // Unknown action, ignore it. + break; + } + } + } + + // Called when a file changed in the file system + /* + function onFileWatcher(a, b) { + console.log('onFileWatcher', a, b, this.path); + var response = getDirectoryInfo(this.path); + if ((response != undefined) && (response != null)) { this.tunnel.s.write(JSON.stringify(response)); } + } + */ + + function getSystemInformation(func) { + try { + var results = { hardware: require('identifiers').get() }; // Hardware info + if (results.hardware && results.hardware.windows) { + // Remove extra entries and things that change quickly + var x = results.hardware.windows.osinfo; + try { delete x.FreePhysicalMemory; } catch (ex) { } + try { delete x.FreeSpaceInPagingFiles; } catch (ex) { } + try { delete x.FreeVirtualMemory; } catch (ex) { } + try { delete x.LocalDateTime; } catch (ex) { } + try { delete x.MaxProcessMemorySize; } catch (ex) { } + try { delete x.TotalVirtualMemorySize; } catch (ex) { } + try { delete x.TotalVisibleMemorySize; } catch (ex) { } + try { + if (results.hardware.windows.memory) { for (var i in results.hardware.windows.memory) { delete results.hardware.windows.memory[i].Node; } } + 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) { } + } + if (process.platform == 'win32') { results.pendingReboot = require('win-info').pendingReboot(); } // Pending reboot + /* + if (process.platform == 'win32') { + var defragResult = function (r) { + if (typeof r == 'object') { results[this.callname] = r; } + if (this.callname == 'defrag') { + var pr = require('win-info').installedApps(); // Installed apps + pr.callname = 'installedApps'; + pr.sessionid = data.sessionid; + pr.then(defragResult, defragResult); + } + else { + results.winpatches = require('win-info').qfe(); // Windows patches + results.hash = require('SHA384Stream').create().syncHash(JSON.stringify(results)).toString('hex'); + func(results); + } + } + var pr = require('win-info').defrag({ volume: 'C:' }); // Defrag TODO + pr.callname = 'defrag'; + pr.sessionid = data.sessionid; + pr.then(defragResult, defragResult); + } else { + */ + results.hash = require('SHA384Stream').create().syncHash(JSON.stringify(results)).toString('hex'); + func(results); + //} + } catch (ex) { func(null, ex); } + } + + // Get a formated response for a given directory path + function getDirectoryInfo(reqpath) { + var response = { path: reqpath, dir: [] }; + if (((reqpath == undefined) || (reqpath == '')) && (process.platform == 'win32')) { + // List all the drives in the root, or the root itself + var results = null; + try { results = fs.readDrivesSync(); } catch (e) { } // TODO: Anyway to get drive total size and free space? Could draw a progress bar. + if (results != null) { + for (var i = 0; i < results.length; ++i) { + var drive = { n: results[i].name, t: 1 }; + if (results[i].type == 'REMOVABLE') { drive.dt = 'removable'; } // TODO: See if this is USB/CDROM or something else, we can draw icons. + response.dir.push(drive); + } + } + } else { + // List all the files and folders in this path + if (reqpath == '') { reqpath = '/'; } + var results = null, xpath = obj.path.join(reqpath, '*'); + //if (process.platform == "win32") { xpath = xpath.split('/').join('\\'); } + try { results = fs.readdirSync(xpath); } catch (e) { } + if (results != null) { + for (var i = 0; i < results.length; ++i) { + if ((results[i] != '.') && (results[i] != '..')) { + var stat = null, p = obj.path.join(reqpath, results[i]); + //if (process.platform == "win32") { p = p.split('/').join('\\'); } + try { stat = fs.statSync(p); } catch (e) { } // TODO: Get file size/date + if ((stat != null) && (stat != undefined)) { + if (stat.isDirectory() == true) { + response.dir.push({ n: results[i], t: 2, d: stat.mtime }); + } else { + response.dir.push({ n: results[i], t: 3, s: stat.size, d: stat.mtime }); + } + } + } + } + } + } + return response; + } + + // Tunnel callback operations + function onTunnelUpgrade(response, s, head) { + this.s = s; + s.httprequest = this; + s.end = onTunnelClosed; + s.tunnel = this; + + //sendConsoleText('onTunnelUpgrade - ' + this.tcpport + ' - ' + this.udpport); + + if (this.tcpport != null) { + // This is a TCP relay connection, pause now and try to connect to the target. + s.pause(); + s.data = onTcpRelayServerTunnelData; + var connectionOptions = { port: parseInt(this.tcpport) }; + if (this.tcpaddr != null) { connectionOptions.host = this.tcpaddr; } else { connectionOptions.host = '127.0.0.1'; } + s.tcprelay = net.createConnection(connectionOptions, onTcpRelayTargetTunnelConnect); + s.tcprelay.peerindex = this.index; + } if (this.udpport != null) { + // This is a UDP relay connection, get the UDP socket setup. // TODO: *************** + s.data = onUdpRelayServerTunnelData; + s.udprelay = require('dgram').createSocket({ type: 'udp4' }); + s.udprelay.bind({ port: 0 }); + s.udprelay.peerindex = this.index; + s.udprelay.on('message', onUdpRelayTargetTunnelConnect); + s.udprelay.udpport = this.udpport; + s.udprelay.udpaddr = this.udpaddr; + s.udprelay.first = true; + } else { + // This is a normal connect for KVM/Terminal/Files + s.data = onTunnelData; + } + } + + // Called when UDP relay data is received // TODO**** + function onUdpRelayTargetTunnelConnect(data) { + var peerTunnel = tunnels[this.peerindex]; + peerTunnel.s.write(data); + } + + // Called when we get data from the server for a TCP relay (We have to skip the first received 'c' and pipe the rest) + function onUdpRelayServerTunnelData(data) { + if (this.udprelay.first === true) { + delete this.udprelay.first; // Skip the first 'c' that is received. + } else { + this.udprelay.send(data, parseInt(this.udprelay.udpport), this.udprelay.udpaddr ? this.udprelay.udpaddr : '127.0.0.1'); + } + } + + // Called when the TCP relay target is connected + function onTcpRelayTargetTunnelConnect() { + var peerTunnel = tunnels[this.peerindex]; + this.pipe(peerTunnel.s); // Pipe Target --> Server + peerTunnel.s.first = true; + peerTunnel.s.resume(); + } + + // Called when we get data from the server for a TCP relay (We have to skip the first received 'c' and pipe the rest) + function onTcpRelayServerTunnelData(data) { + if (this.first == true) { this.first = false; this.pipe(this.tcprelay); } // Pipe Server --> Target + } + + function onTunnelClosed() { + if (tunnels[this.httprequest.index] == null) return; // Stop duplicate calls. + //sendConsoleText("Tunnel #" + this.httprequest.index + " closed.", this.httprequest.sessionid); + delete tunnels[this.httprequest.index]; + + /* + // Close the watcher if required + if (this.httprequest.watcher != undefined) { + //console.log('Closing watcher: ' + this.httprequest.watcher.path); + //this.httprequest.watcher.close(); // TODO: This line causes the agent to crash!!!! + delete this.httprequest.watcher; + } + */ + + // If there is a upload or download active on this connection, close the file + if (this.httprequest.uploadFile) { fs.closeSync(this.httprequest.uploadFile); this.httprequest.uploadFile = undefined; } + if (this.httprequest.downloadFile) { fs.closeSync(this.httprequest.downloadFile); this.httprequest.downloadFile = undefined; } + + // Clean up WebRTC + if (this.webrtc != null) { + if (this.webrtc.rtcchannel) { try { this.webrtc.rtcchannel.close(); } catch (e) { } this.webrtc.rtcchannel.removeAllListeners('data'); this.webrtc.rtcchannel.removeAllListeners('end'); delete this.webrtc.rtcchannel; } + if (this.webrtc.websocket) { delete this.webrtc.websocket; } + try { this.webrtc.close(); } catch (e) { } + this.webrtc.removeAllListeners('connected'); + this.webrtc.removeAllListeners('disconnected'); + this.webrtc.removeAllListeners('dataChannel'); + delete this.webrtc; + } + + // Clean up WebSocket + this.removeAllListeners('data'); + } + function onTunnelSendOk() { /*sendConsoleText("Tunnel #" + this.index + " SendOK.", this.sessionid);*/ } + function onTunnelData(data) { + //console.log("OnTunnelData"); + //sendConsoleText('OnTunnelData, ' + data.length + ', ' + typeof data + ', ' + data); + + // If this is upload data, save it to file + if (this.httprequest.uploadFile) { + try { fs.writeSync(this.httprequest.uploadFile, data); } catch (e) { this.write(new Buffer(JSON.stringify({ action: 'uploaderror' }))); return; } // Write to the file, if there is a problem, error out. + this.write(new Buffer(JSON.stringify({ action: 'uploadack', reqid: this.httprequest.uploadFileid }))); // Ask for more data + return; + } + /* + // If this is a download, send more of the file + if (this.httprequest.downloadFile) { + var buf = new Buffer(4096); + var len = fs.readSync(this.httprequest.downloadFile, buf, 0, 4096, null); + this.httprequest.downloadFilePtr += len; + if (len > 0) { this.write(buf.slice(0, len)); } else { fs.closeSync(this.httprequest.downloadFile); this.httprequest.downloadFile = undefined; this.end(); } + return; + } + */ + + if (this.httprequest.state == 0) { + // Check if this is a relay connection + if ((data == 'c') || (data == 'cr')) { this.httprequest.state = 1; /*sendConsoleText("Tunnel #" + this.httprequest.index + " now active", this.httprequest.sessionid);*/ } + } else { + // Handle tunnel data + if (this.httprequest.protocol == 0) { // 1 = Terminal, 2 = Desktop, 5 = Files, 6 = PowerShell + // Take a look at the protocol + this.httprequest.protocol = parseInt(data); + if (typeof this.httprequest.protocol != 'number') { this.httprequest.protocol = 0; } + if ((this.httprequest.protocol == 1) || (this.httprequest.protocol == 6)) { + // Check user access rights for terminal + if (((this.httprequest.rights & MESHRIGHT_REMOTECONTROL) == 0) || ((this.httprequest.rights != 0xFFFFFFFF) && ((this.httprequest.rights & MESHRIGHT_NOTERMINAL) != 0))) { + // Disengage this tunnel, user does not have the rights to do this!! + this.httprequest.protocol = 999999; + this.httprequest.s.end(); + sendConsoleText('Error: No Terminal Control Rights.'); + return; + } + + this.end = function () { + if (process.platform == "win32") { + // Unpipe the web socket + this.unpipe(this.httprequest._term); + if (this.httprequest._term) { this.httprequest._term.unpipe(this); } + + // Unpipe the WebRTC channel if needed (This will also be done when the WebRTC channel ends). + if (this.rtcchannel) { + this.rtcchannel.unpipe(this.httprequest._term); + if (this.httprequest._term) { this.httprequest._term.unpipe(this.rtcchannel); } + } + + // Clean up + if (this.httprequest._term) { this.httprequest._term.end(); } + this.httprequest._term = null; + } else { + // TODO!! + } + }; + + // Remote terminal using native pipes + if (process.platform == "win32") { + try { + if ((this.httprequest.protocol == 6) && (require('win-terminal').PowerShellCapable() == true)) { + this.httprequest._term = require('win-terminal').StartPowerShell(80, 25); + } else { + this.httprequest._term = require('win-terminal').Start(80, 25); + } + } + catch (e) { + MeshServerLog('Failed to start remote terminal session, ' + e.toString() + ' (' + this.httprequest.remoteaddr + ')', this.httprequest); + this.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: e.toString() })); + this.end(); + return; + } + this.httprequest._term.pipe(this, { dataTypeSkip: 1 }); + this.pipe(this.httprequest._term, { dataTypeSkip: 1, end: false }); + this.prependListener('end', function () { this.httprequest._term.end(function () { console.log('Terminal was closed'); }); }); + } else { + if (fs.existsSync("/bin/bash")) { + this.httprequest.process = childProcess.execFile("/bin/bash", ["bash", "-i"], { type: childProcess.SpawnTypes.TERM }); + if (process.platform == 'linux') { this.httprequest.process.stdin.write("alias ls='ls --color=auto'\nclear\n"); } + } else { + this.httprequest.process = childProcess.execFile("/bin/sh", ["sh"], { type: childProcess.SpawnTypes.TERM }); + if (process.platform == 'linux') { this.httprequest.process.stdin.write("stty erase ^H\nalias ls='ls --color=auto'\nPS1='\\u@\\h:\\w\\$ '\nclear\n"); } + } + this.httprequest.process.tunnel = this; + this.httprequest.process.on('exit', function (ecode, sig) { this.tunnel.end(); }); + this.httprequest.process.stderr.on('data', function (chunk) { this.parent.tunnel.write(chunk); }); + this.httprequest.process.stdout.pipe(this, { dataTypeSkip: 1 }); // 0 = Binary, 1 = Text. + this.pipe(this.httprequest.process.stdin, { dataTypeSkip: 1, end: false }); // 0 = Binary, 1 = Text. + this.prependListener('end', function () { this.httprequest.process.kill(); }); + } + + // Perform notification if needed. Toast messages may not be supported on all platforms. + if (this.httprequest.consent && (this.httprequest.consent & 16)) { + // User Consent Prompt is required + // Send a console message back using the console channel, "\n" is supported. + this.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: 'Waiting for user to grant access...' })); + var pr = require('message-box').create('MeshCentral', this.httprequest.username + ' requesting Terminal Access. Grant access?', 30); + pr.ws = this; + this.pause(); + + pr.then( + function () { + // Success + MeshServerLog('Starting remote terminal after local user accepted (' + this.ws.httprequest.remoteaddr + ')', this.ws.httprequest); + this.ws.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: null })); + if (this.ws.httprequest.consent && (this.ws.httprequest.consent & 2)) { + // User Notifications is required + try { require('toaster').Toast('MeshCentral', this.ws.httprequest.username + ' started a remote terminal session.'); } catch (ex) { } + } + this.ws.resume(); + }, + function (e) { + // User Consent Denied/Failed + MeshServerLog('Failed to start remote terminal after local user rejected (' + this.ws.httprequest.remoteaddr + ')', this.ws.httprequest); + this.ws.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: e.toString() })); + this.ws.end(); + }); + } else { + // User Consent Prompt is not required + if (this.httprequest.consent && (this.httprequest.consent & 2)) { + // User Notifications is required + MeshServerLog('Started remote terminal with toast notification (' + this.httprequest.remoteaddr + ')', this.httprequest); + try { require('toaster').Toast('MeshCentral', this.httprequest.username + ' started a remote terminal session.'); } catch (ex) { } + } else { + MeshServerLog('Started remote terminal without notification (' + this.httprequest.remoteaddr + ')', this.httprequest); + } + this.resume(); + } + + this.removeAllListeners('data'); + this.on('data', onTunnelControlData); + //this.write('MeshCore Terminal Hello'); + } else if (this.httprequest.protocol == 2) { + // Check user access rights for desktop + if (((this.httprequest.rights & MESHRIGHT_REMOTECONTROL) == 0) && ((this.httprequest.rights & MESHRIGHT_REMOTEVIEW) == 0)) { + // Disengage this tunnel, user does not have the rights to do this!! + this.httprequest.protocol = 999999; + this.httprequest.s.end(); + sendConsoleText('Error: No Desktop Control Rights.'); + return; + } + + + // Remote desktop using native pipes + this.httprequest.desktop = { state: 0, kvm: mesh.getRemoteDesktopStream(), tunnel: this }; + this.httprequest.desktop.kvm.parent = this.httprequest.desktop; + this.desktop = this.httprequest.desktop; + + this.end = function () + { + --this.desktop.kvm.connectionCount; + + // Unpipe the web socket + this.unpipe(this.httprequest.desktop.kvm); + this.httprequest.desktop.kvm.unpipe(this); + + // Unpipe the WebRTC channel if needed (This will also be done when the WebRTC channel ends). + if (this.rtcchannel) { + this.rtcchannel.unpipe(this.httprequest.desktop.kvm); + this.httprequest.desktop.kvm.unpipe(this.rtcchannel); + } + + if (this.desktop.kvm.connectionCount == 0) + { + // Display a toast message. This may not be supported on all platforms. + // try { require('toaster').Toast('MeshCentral', 'Remote Desktop Control Ended.'); } catch (ex) { } + + this.httprequest.desktop.kvm.end(); + if(this.httprequest.desktop.kvm.connectionBar) + { + this.httprequest.desktop.kvm.connectionBar.removeAllListeners('close'); + this.httprequest.desktop.kvm.connectionBar.close(); + this.httprequest.desktop.kvm.connectionBar = null; + } + } + else + { + for(var i in this.httprequest.desktop.kvm.users) + { + if(this.httprequest.desktop.kvm.users[i] == this.httprequest.username) + { + this.httprequest.desktop.kvm.users.splice(i, 1); + this.httprequest.desktop.kvm.connectionBar.removeAllListeners('close'); + this.httprequest.desktop.kvm.connectionBar.close(); + + this.httprequest.desktop.kvm.connectionBar = require('notifybar-desktop')('Sharing desktop with: ' + this.httprequest.desktop.kvm.users.sort().join(', ')); + this.httprequest.desktop.kvm.connectionBar.httprequest = this.httprequest; + this.httprequest.desktop.kvm.connectionBar.on('close', function () + { + MeshServerLog('Remote Desktop Connection forcefully closed by local user (' + this.httprequest.remoteaddr + ')', this.httprequest); + for (var i in this.httprequest.desktop.kvm._pipedStreams) + { + this.httprequest.desktop.kvm._pipedStreams[i].end(); + } + this.httprequest.desktop.kvm.end(); + }); + break; + } + } + } + }; + if (this.httprequest.desktop.kvm.hasOwnProperty("connectionCount")) + { + this.httprequest.desktop.kvm.connectionCount++; + this.httprequest.desktop.kvm.users.push(this.httprequest.username); + } + else + { + this.httprequest.desktop.kvm.connectionCount = 1; + this.httprequest.desktop.kvm.users = [this.httprequest.username]; + } + + if ((this.httprequest.rights == 0xFFFFFFFF) || (((this.httprequest.rights & MESHRIGHT_REMOTECONTROL) != 0) && ((this.httprequest.rights & MESHRIGHT_REMOTEVIEW) == 0))) { + // If we have remote control rights, pipe the KVM input + this.pipe(this.httprequest.desktop.kvm, { dataTypeSkip: 1, end: false }); // 0 = Binary, 1 = Text. Pipe the Browser --> KVM input. + } else { + // We need to only pipe non-mouse & non-keyboard inputs. + //sendConsoleText('Warning: No Remote Desktop Input Rights.'); + // TODO!!! + } + + // Perform notification if needed. Toast messages may not be supported on all platforms. + if (this.httprequest.consent && (this.httprequest.consent & 8)) { + // User Consent Prompt is required + // Send a console message back using the console channel, "\n" is supported. + this.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: 'Waiting for user to grant access...' })); + var pr = require('message-box').create('MeshCentral', this.httprequest.username + ' requesting KVM Access. Grant access?', 30); + pr.ws = this; + this.pause(); + + pr.then( + function () { + // Success + MeshServerLog('Starting remote desktop after local user accepted (' + this.ws.httprequest.remoteaddr + ')', this.ws.httprequest); + this.ws.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: null })); + if (this.ws.httprequest.consent && (this.ws.httprequest.consent & 1)) + { + // User Notifications is required + try { require('toaster').Toast('MeshCentral', this.ws.httprequest.username + ' started a remote desktop session.'); } catch (ex) { } + } + if (this.ws.httprequest.consent && (this.ws.httprequest.consent & 0x40)) + { + // Connection Bar is required + MeshServerLog('Remote Desktop Connection Bar Activated/Updated (' + this.ws.httprequest.remoteaddr + ')', this.ws.httprequest); + if (this.ws.httprequest.desktop.kvm.connectionBar) + { + this.ws.httprequest.desktop.kvm.connectionBar.removeAllListeners('close'); + this.ws.httprequest.desktop.kvm.connectionBar.close(); + } + this.ws.httprequest.desktop.kvm.connectionBar = require('notifybar-desktop')('Sharing desktop with: ' + this.ws.httprequest.desktop.kvm.users.sort().join(', ')); + this.ws.httprequest.desktop.kvm.connectionBar.httprequest = this.ws.httprequest; + this.ws.httprequest.desktop.kvm.connectionBar.on('close', function () + { + MeshServerLog('Remote Desktop Connection forcefully closed by local user (' + this.httprequest.remoteaddr + ')', this.httprequest); + for (var i in this.httprequest.desktop.kvm._pipedStreams) + { + this.httprequest.desktop.kvm._pipedStreams[i].end(); + } + this.httprequest.desktop.kvm.end(); + }); + } + this.ws.httprequest.desktop.kvm.pipe(this.ws, { dataTypeSkip: 1 }); + this.ws.resume(); + }, + function (e) { + // User Consent Denied/Failed + MeshServerLog('Failed to start remote desktop after local user rejected (' + this.ws.httprequest.remoteaddr + ')', this.ws.httprequest); + this.ws.end(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: e.toString() })); + }); + } + else { + // User Consent Prompt is not required + if (this.httprequest.consent && (this.httprequest.consent & 1)) + { + // User Notifications is required + MeshServerLog('Started remote desktop with toast notification (' + this.httprequest.remoteaddr + ')', this.httprequest); + try { require('toaster').Toast('MeshCentral', this.httprequest.username + ' started a remote desktop session.'); } catch (ex) { } + } else + { + MeshServerLog('Started remote desktop without notification (' + this.httprequest.remoteaddr + ')', this.httprequest); + } + if (this.httprequest.consent && (this.httprequest.consent & 0x40)) + { + // Connection Bar is required + MeshServerLog('Remote Desktop Connection Bar Activated/Updated (' + this.httprequest.remoteaddr + ')', this.httprequest); + if(this.httprequest.desktop.kvm.connectionBar) + { + this.httprequest.desktop.kvm.connectionBar.removeAllListeners('close'); + this.httprequest.desktop.kvm.connectionBar.close(); + } + this.httprequest.desktop.kvm.connectionBar = require('notifybar-desktop')('Sharing desktop with: ' + this.httprequest.desktop.kvm.users.sort().join(', ')); + this.httprequest.desktop.kvm.connectionBar.httprequest = this.httprequest; + this.httprequest.desktop.kvm.connectionBar.on('close', function () + { + MeshServerLog('Remote Desktop Connection forcefully closed by local user (' + this.httprequest.remoteaddr + ')', this.httprequest); + for (var i in this.httprequest.desktop.kvm._pipedStreams) + { + this.httprequest.desktop.kvm._pipedStreams[i].end(); + } + this.httprequest.desktop.kvm.end(); + }); + } + this.httprequest.desktop.kvm.pipe(this, { dataTypeSkip: 1 }); + } + + this.removeAllListeners('data'); + this.on('data', onTunnelControlData); + //this.write('MeshCore KVM Hello!1'); + + } else if (this.httprequest.protocol == 5) { + + // Check user access rights for files + if (((this.httprequest.rights & MESHRIGHT_REMOTECONTROL) == 0) || ((this.httprequest.rights != 0xFFFFFFFF) && ((this.httprequest.rights & MESHRIGHT_NOFILES) != 0))) { + // Disengage this tunnel, user does not have the rights to do this!! + this.httprequest.protocol = 999999; + this.httprequest.s.end(); + sendConsoleText('Error: No files control rights.'); + return; + } + + // Perform notification if needed. Toast messages may not be supported on all platforms. + if (this.httprequest.consent && (this.httprequest.consent & 32)) { + // User Consent Prompt is required + // Send a console message back using the console channel, "\n" is supported. + this.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: 'Waiting for user to grant access...' })); + var pr = require('message-box').create('MeshCentral', this.httprequest.username + ' requesting remote file access. Grant access?', 30); + pr.ws = this; + this.pause(); + + pr.then( + function () { + // Success + MeshServerLog('Starting remote files after local user accepted (' + this.ws.httprequest.remoteaddr + ')', this.ws.httprequest); + this.ws.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: null })); + if (this.ws.httprequest.consent && (this.ws.httprequest.consent & 4)) { + // User Notifications is required + try { require('toaster').Toast('MeshCentral', this.ws.httprequest.username + ' started a remote file session.'); } catch (ex) { } + } + this.ws.resume(); + }, + function (e) { + // User Consent Denied/Failed + MeshServerLog('Failed to start remote files after local user rejected (' + this.ws.httprequest.remoteaddr + ')', this.ws.httprequest); + this.ws.end(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: e.toString() })); + }); + } else { + // User Consent Prompt is not required + if (this.httprequest.consent && (this.httprequest.consent & 4)) { + // User Notifications is required + MeshServerLog('Started remote files with toast notification (' + this.httprequest.remoteaddr + ')', this.httprequest); + try { require('toaster').Toast('MeshCentral', this.httprequest.username + ' started a remote file session.'); } catch (ex) { } + } else { + MeshServerLog('Started remote files without notification (' + this.httprequest.remoteaddr + ')', this.httprequest); + } + this.resume(); + } + + // Setup files + // NOP + } + } else if (this.httprequest.protocol == 1) { + // Send data into terminal stdin + //this.write(data); // Echo back the keys (Does not seem to be a good idea) + } else if (this.httprequest.protocol == 2) { + // Send data into remote desktop + if (this.httprequest.desktop.state == 0) { + this.write(new Buffer(String.fromCharCode(0x11, 0xFE, 0x00, 0x00, 0x4D, 0x45, 0x53, 0x48, 0x00, 0x00, 0x00, 0x00, 0x02))); + this.httprequest.desktop.state = 1; + } else { + this.httprequest.desktop.write(data); + } + } else if (this.httprequest.protocol == 5) { + // Process files commands + var cmd = null; + try { cmd = JSON.parse(data); } catch (e) { }; + if (cmd == null) { return; } + if ((cmd.ctrlChannel == '102938') || ((cmd.type == 'offer') && (cmd.sdp != null))) { onTunnelControlData(cmd, this); return; } // If this is control data, handle it now. + if (cmd.action == undefined) { return; } + //sendConsoleText('CMD: ' + JSON.stringify(cmd)); + + if ((cmd.path != null) && (process.platform != 'win32') && (cmd.path[0] != '/')) { cmd.path = '/' + cmd.path; } // Add '/' to paths on non-windows + //console.log(objToString(cmd, 0, ' ')); + switch (cmd.action) { + case 'ls': { + /* + // Close the watcher if required + var samepath = ((this.httprequest.watcher != undefined) && (cmd.path == this.httprequest.watcher.path)); + if ((this.httprequest.watcher != undefined) && (samepath == false)) { + //console.log('Closing watcher: ' + this.httprequest.watcher.path); + //this.httprequest.watcher.close(); // TODO: This line causes the agent to crash!!!! + delete this.httprequest.watcher; + } + */ + + // Send the folder content to the browser + var response = getDirectoryInfo(cmd.path); + if (cmd.reqid != undefined) { response.reqid = cmd.reqid; } + this.write(new Buffer(JSON.stringify(response))); + + /* + // Start the directory watcher + if ((cmd.path != '') && (samepath == false)) { + var watcher = fs.watch(cmd.path, onFileWatcher); + watcher.tunnel = this.httprequest; + watcher.path = cmd.path; + this.httprequest.watcher = watcher; + //console.log('Starting watcher: ' + this.httprequest.watcher.path); + } + */ + break; + } + case 'mkdir': { + // Create a new empty folder + fs.mkdirSync(cmd.path); + MeshServerLog('Create folder: \"' + cmd.path + '\"', this.httprequest); + break; + } + case 'rm': { + // Delete, possibly recursive delete + for (var i in cmd.delfiles) { + var p = obj.path.join(cmd.path, cmd.delfiles[i]), delcount = 0; + try { delcount = deleteFolderRecursive(p, cmd.rec); } catch (e) { } + if ((delcount == 1) && !cmd.rec) { + MeshServerLog('Delete: \"' + p + '\"', this.httprequest); + } else { + MeshServerLog((cmd.rec ? 'Delete recursive: \"' : 'Delete: \"') + p + '\", ' + delcount + ' element(s) removed', this.httprequest); + } + } + break; + } + case 'rename': { + // Rename a file or folder + var oldfullpath = obj.path.join(cmd.path, cmd.oldname); + var newfullpath = obj.path.join(cmd.path, cmd.newname); + MeshServerLog('Rename: \"' + oldfullpath + '\" to \"' + cmd.newname + '\"', this.httprequest); + try { fs.renameSync(oldfullpath, newfullpath); } catch (e) { console.log(e); } + break; + } + case 'download': { + // Download a file + var sendNextBlock = 0; + if (cmd.sub == 'start') { // Setup the download + MeshServerLog('Download: \"' + cmd.path + '\"', this.httprequest); + if (this.filedownload != null) { this.write({ action: 'download', sub: 'cancel', id: this.filedownload.id }); delete this.filedownload; } + this.filedownload = { id: cmd.id, path: cmd.path, ptr: 0 } + try { this.filedownload.f = fs.openSync(this.filedownload.path, 'rbN'); } catch (e) { this.write({ action: 'download', sub: 'cancel', id: this.filedownload.id }); delete this.filedownload; } + if (this.filedownload) { this.write({ action: 'download', sub: 'start', id: cmd.id }); } + } else if ((this.filedownload != null) && (cmd.id == this.filedownload.id)) { // Download commands + if (cmd.sub == 'startack') { sendNextBlock = 8; } else if (cmd.sub == 'stop') { delete this.filedownload; } else if (cmd.sub == 'ack') { sendNextBlock = 1; } + } + // Send the next download block(s) + while (sendNextBlock > 0) { + sendNextBlock--; + var buf = new Buffer(4096); + var len = fs.readSync(this.filedownload.f, buf, 4, 4092, null); + this.filedownload.ptr += len; + if (len < 4092) { buf.writeInt32BE(0x01000001, 0); fs.closeSync(this.filedownload.f); delete this.filedownload; sendNextBlock = 0; } else { buf.writeInt32BE(0x01000000, 0); } + this.write(buf.slice(0, len + 4)); // Write as binary + } + break; + } + /* + case 'download': { + // Packet download of a file, agent to browser + if (cmd.path == undefined) break; + var filepath = cmd.name ? obj.path.join(cmd.path, cmd.name) : cmd.path; + //console.log('Download: ' + filepath); + try { this.httprequest.downloadFile = fs.openSync(filepath, 'rbN'); } catch (e) { this.write(new Buffer(JSON.stringify({ action: 'downloaderror', reqid: cmd.reqid }))); break; } + this.httprequest.downloadFileId = cmd.reqid; + this.httprequest.downloadFilePtr = 0; + if (this.httprequest.downloadFile) { this.write(new Buffer(JSON.stringify({ action: 'downloadstart', reqid: this.httprequest.downloadFileId }))); } + break; + } + case 'download2': { + // Stream download of a file, agent to browser + if (cmd.path == undefined) break; + var filepath = cmd.name ? obj.path.join(cmd.path, cmd.name) : cmd.path; + try { this.httprequest.downloadFile = fs.createReadStream(filepath, { flags: 'rbN' }); } catch (e) { console.log(e); } + this.httprequest.downloadFile.pipe(this); + this.httprequest.downloadFile.end = function () { } + break; + } + */ + case 'upload': { + // Upload a file, browser to agent + if (this.httprequest.uploadFile != undefined) { fs.closeSync(this.httprequest.uploadFile); this.httprequest.uploadFile = undefined; } + if (cmd.path == undefined) break; + var filepath = cmd.name ? obj.path.join(cmd.path, cmd.name) : cmd.path; + MeshServerLog('Upload: \"' + filepath + '\"', this.httprequest); + try { this.httprequest.uploadFile = fs.openSync(filepath, 'wbN'); } catch (e) { this.write(new Buffer(JSON.stringify({ action: 'uploaderror', reqid: cmd.reqid }))); break; } + this.httprequest.uploadFileid = cmd.reqid; + if (this.httprequest.uploadFile) { this.write(new Buffer(JSON.stringify({ action: 'uploadstart', reqid: this.httprequest.uploadFileid }))); } + break; + } + case 'copy': { + // Copy a bunch of files from scpath to dspath + for (var i in cmd.names) { + var sc = obj.path.join(cmd.scpath, cmd.names[i]), ds = obj.path.join(cmd.dspath, cmd.names[i]); + MeshServerLog('Copy: \"' + sc + '\" to \"' + ds + '\"', this.httprequest); + if (sc != ds) { try { fs.copyFileSync(sc, ds); } catch (e) { } } + } + break; + } + case 'move': { + // Move a bunch of files from scpath to dspath + for (var i in cmd.names) { + var sc = obj.path.join(cmd.scpath, cmd.names[i]), ds = obj.path.join(cmd.dspath, cmd.names[i]); + MeshServerLog('Move: \"' + sc + '\" to \"' + ds + '\"', this.httprequest); + if (sc != ds) { try { fs.copyFileSync(sc, ds); fs.unlinkSync(sc); } catch (e) { } } + } + break; + } + default: + // Unknown action, ignore it. + break; + } + } else if (this.httprequest.protocol == 7) { // plugin data exchange + var cmd = null; + try { cmd = JSON.parse(data); } catch (e) { }; + if (cmd == null) { return; } + if ((cmd.ctrlChannel == '102938') || ((cmd.type == 'offer') && (cmd.sdp != null))) { onTunnelControlData(cmd, this); return; } // If this is control data, handle it now. + if (cmd.action == undefined) return; + + switch (cmd.action) { + case 'plugin': { + try { require(cmd.plugin).consoleaction(cmd, null, null, this); } catch (e) { throw e; } + break; + } + default: { + // probably shouldn't happen, but just in case this feature is expanded + } + } + + } + //sendConsoleText("Got tunnel #" + this.httprequest.index + " data: " + data, this.httprequest.sessionid); + } + } + + // Delete a directory with a files and directories within it + function deleteFolderRecursive(path, rec) { + var count = 0; + if (fs.existsSync(path)) { + if (rec == true) { + fs.readdirSync(obj.path.join(path, '*')).forEach(function (file, index) { + var curPath = obj.path.join(path, file); + if (fs.statSync(curPath).isDirectory()) { // recurse + count += deleteFolderRecursive(curPath, true); + } else { // delete file + fs.unlinkSync(curPath); + count++; + } + }); + } + fs.unlinkSync(path); + count++; + } + return count; + }; + + // Called when receiving control data on WebRTC + function onTunnelWebRTCControlData(data) { + if (typeof data != 'string') return; + var obj; + try { obj = JSON.parse(data); } catch (e) { sendConsoleText('Invalid control JSON on WebRTC: ' + data); return; } + if (obj.type == 'close') { + //sendConsoleText('Tunnel #' + this.xrtc.websocket.tunnel.index + ' WebRTC control close'); + try { this.close(); } catch (e) { } + try { this.xrtc.close(); } catch (e) { } + } + } + + // Called when receiving control data on websocket + function onTunnelControlData(data, ws) { + var obj; + if (ws == null) { ws = this; } + if (typeof data == 'string') { try { obj = JSON.parse(data); } catch (e) { sendConsoleText('Invalid control JSON: ' + data); return; } } + else if (typeof data == 'object') { obj = data; } else { return; } + //sendConsoleText('onTunnelControlData(' + ws.httprequest.protocol + '): ' + JSON.stringify(data)); + //console.log('onTunnelControlData: ' + JSON.stringify(data)); + + if (obj.action) { + switch (obj.action) { + case 'lock': { + // Lock the current user out of the desktop + try { + if (process.platform == 'win32') { + MeshServerLog('Locking remote user out of desktop', ws.httprequest); + var child = require('child_process'); + child.execFile(process.env['windir'] + '\\system32\\cmd.exe', ['/c', 'RunDll32.exe user32.dll,LockWorkStation'], { type: 1 }); + } + } catch (e) { } + break; + } + default: + // Unknown action, ignore it. + break; + } + return; + } + + if (obj.type == 'close') { + // We received the close on the websocket + //sendConsoleText('Tunnel #' + ws.tunnel.index + ' WebSocket control close'); + try { ws.close(); } catch (e) { } + } else if (obj.type == 'webrtc0') { // Browser indicates we can start WebRTC switch-over. + if (ws.httprequest.protocol == 1) { // Terminal + // This is a terminal data stream, unpipe the terminal now and indicate to the other side that terminal data will no longer be received over WebSocket + if (process.platform == 'win32') { + ws.httprequest._term.unpipe(ws); + } + else { + ws.httprequest.process.stdout.unpipe(ws); + ws.httprequest.process.stderr.unpipe(ws); + } + } else if (ws.httprequest.protocol == 2) { // Desktop + // This is a KVM data stream, unpipe the KVM now and indicate to the other side that KVM data will no longer be received over WebSocket + ws.httprequest.desktop.kvm.unpipe(ws); + } else { + // Switch things around so all WebRTC data goes to onTunnelData(). + ws.rtcchannel.httprequest = ws.httprequest; + ws.rtcchannel.removeAllListeners('data'); + ws.rtcchannel.on('data', onTunnelData); + } + ws.write("{\"ctrlChannel\":\"102938\",\"type\":\"webrtc1\"}"); // End of data marker + } else if (obj.type == 'webrtc1') { + if ((ws.httprequest.protocol == 1) || (ws.httprequest.protocol == 6)) { // Terminal + // Switch the user input from websocket to webrtc at this point. + if (process.platform == 'win32') { + ws.unpipe(ws.httprequest._term); + ws.rtcchannel.pipe(ws.httprequest._term, { dataTypeSkip: 1 }); // 0 = Binary, 1 = Text. + } + else { + ws.unpipe(ws.httprequest.process.stdin); + ws.rtcchannel.pipe(ws.httprequest.process.stdin, { dataTypeSkip: 1 }); // 0 = Binary, 1 = Text. + } + ws.resume(); // Resume the websocket to keep receiving control data + } else if (ws.httprequest.protocol == 2) { // Desktop + // Switch the user input from websocket to webrtc at this point. + ws.unpipe(ws.httprequest.desktop.kvm); + try { ws.webrtc.rtcchannel.pipe(ws.httprequest.desktop.kvm, { dataTypeSkip: 1, end: false }); } catch (e) { sendConsoleText('EX2'); } // 0 = Binary, 1 = Text. + ws.resume(); // Resume the websocket to keep receiving control data + } + ws.write("{\"ctrlChannel\":\"102938\",\"type\":\"webrtc2\"}"); // Indicates we will no longer get any data on websocket, switching to WebRTC at this point. + } else if (obj.type == 'webrtc2') { + // Other side received websocket end of data marker, start sending data on WebRTC channel + if ((ws.httprequest.protocol == 1) || (ws.httprequest.protocol == 6)) { // Terminal + if (process.platform == 'win32') { + ws.httprequest._term.pipe(ws.webrtc.rtcchannel, { dataTypeSkip: 1, end: false }); // 0 = Binary, 1 = Text. + } + else { + ws.httprequest.process.stdout.pipe(ws.webrtc.rtcchannel, { dataTypeSkip: 1, end: false }); // 0 = Binary, 1 = Text. + ws.httprequest.process.stderr.pipe(ws.webrtc.rtcchannel, { dataTypeSkip: 1, end: false }); // 0 = Binary, 1 = Text. + } + } else if (ws.httprequest.protocol == 2) { // Desktop + ws.httprequest.desktop.kvm.pipe(ws.webrtc.rtcchannel, { dataTypeSkip: 1 }); // 0 = Binary, 1 = Text. + } + } else if (obj.type == 'offer') { + // This is a WebRTC offer. + if ((ws.httprequest.protocol == 1) || (ws.httprequest.protocol == 6)) return; // TODO: Terminal is currently broken with WebRTC. Reject WebRTC upgrade for now. + ws.webrtc = rtc.createConnection(); + ws.webrtc.websocket = ws; + ws.webrtc.on('connected', function () { /*sendConsoleText('Tunnel #' + this.websocket.tunnel.index + ' WebRTC connected');*/ }); + ws.webrtc.on('disconnected', function () { /*sendConsoleText('Tunnel #' + this.websocket.tunnel.index + ' WebRTC disconnected');*/ }); + ws.webrtc.on('dataChannel', function (rtcchannel) { + //sendConsoleText('WebRTC Datachannel open, protocol: ' + this.websocket.httprequest.protocol); + rtcchannel.xrtc = this; + rtcchannel.websocket = this.websocket; + this.rtcchannel = rtcchannel; + this.websocket.rtcchannel = rtcchannel; + this.websocket.rtcchannel.on('data', onTunnelWebRTCControlData); + this.websocket.rtcchannel.on('end', function () { + // The WebRTC channel closed, unpipe the KVM now. This is also done when the web socket closes. + //sendConsoleText('Tunnel #' + this.websocket.tunnel.index + ' WebRTC data channel closed'); + if (this.websocket.desktop && this.websocket.desktop.kvm) { + this.unpipe(this.websocket.desktop.kvm); + this.websocket.httprequest.desktop.kvm.unpipe(this); + } + }); + this.websocket.write("{\"ctrlChannel\":\"102938\",\"type\":\"webrtc0\"}"); // Indicate we are ready for WebRTC switch-over. + }); + var sdp = null; + try { sdp = ws.webrtc.setOffer(obj.sdp); } catch (ex) { } + if (sdp != null) { ws.write({ type: 'answer', ctrlChannel: '102938', sdp: sdp }); } + } + } + + // Console state + var consoleWebSockets = {}; + var consoleHttpRequest = null; + + // Console HTTP response + function consoleHttpResponse(response) { + response.data = function (data) { sendConsoleText(rstr2hex(buf2rstr(data)), this.sessionid); consoleHttpRequest = null; } + response.close = function () { sendConsoleText('httprequest.response.close', this.sessionid); consoleHttpRequest = null; } + }; + + // Open a web browser to a specified URL on current user's desktop + function openUserDesktopUrl(url) { + var child = null; + try { + switch (process.platform) { + case 'win32': + var user = require('user-sessions').getUsername(require('user-sessions').consoleUid()); + child = require('child_process').execFile(process.env['windir'] + '\\system32\\cmd.exe', ['cmd']); + child.stderr.on('data', function () { }); + child.stdout.on('data', function () { }); + child.stdin.write('SCHTASKS /CREATE /F /TN MeshChatTask /SC ONCE /ST 00:00 /RU ' + user + ' /TR "' + process.env['windir'] + '\\system32\\cmd.exe /C START ' + url + '"\r\n'); + child.stdin.write('SCHTASKS /RUN /TN MeshChatTask\r\n'); + child.stdin.write('SCHTASKS /DELETE /F /TN MeshChatTask\r\n'); + child.stdin.write('exit\r\n'); + child.waitExit(); + break; + case 'linux': + child = require('child_process').execFile('/usr/bin/xdg-open', ['xdg-open', url], { uid: require('user-sessions').consoleUid() }); + break; + case 'darwin': + child = require('child_process').execFile('/usr/bin/open', ['open', url], { uid: require('user-sessions').consoleUid() }); + break; + default: + // Unknown platform, ignore this command. + break; + } + } catch (ex) { } + return child; + } + + // Process a mesh agent console command + function processConsoleCommand(cmd, args, rights, sessionid) { + try { + var response = null; + switch (cmd) { + case 'help': { // Displays available commands + var fin = '', f = '', availcommands = 'help,info,osinfo,args,print,type,dbkeys,dbget,dbset,dbcompact,eval,parseuri,httpget,nwslist,plugin,wsconnect,wssend,wsclose,notify,ls,ps,kill,amt,netinfo,location,power,wakeonlan,setdebug,smbios,rawsmbios,toast,lock,users,sendcaps,openurl,amtreset,amtccm,amtacm,amtdeactivate,amtpolicy,getscript,getclip,setclip,log,av,cpuinfo,sysinfo,apf,scanwifi,scanamt'; + availcommands = availcommands.split(',').sort(); + while (availcommands.length > 0) { + if (f.length > 100) { fin += (f + ',\r\n'); f = ''; } + f += (((f != '') ? ', ' : ' ') + availcommands.shift()); + } + if (f != '') { fin += f; } + response = 'Available commands: \r\n' + fin + '.'; + break; + } + /* + case 'border': + { + if ((args['_'].length == 1) && (args['_'][0] == 'on')) { + if (meshCoreObj.users.length > 0) { + obj.borderManager.Start(meshCoreObj.users[0]); + response = 'Border blinking is on.'; + } else { + response = 'Cannot turn on border blinking, no logged in users.'; + } + } else if ((args['_'].length == 1) && (args['_'][0] == 'off')) { + obj.borderManager.Stop(); + response = 'Border blinking is off.'; + } else { + response = 'Proper usage: border "on|off"'; // Display correct command usage + } + } + break; + */ + case 'av': + if (process.platform == 'win32') { + // Windows Command: "wmic /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct get /FORMAT:CSV" + response = JSON.stringify(require('win-info').av(), null, 1); + } else { + response = 'Not supported on the platform'; + } + break; + case 'log': + if (args['_'].length != 1) { response = 'Proper usage: log "sample text"'; } else { MeshServerLog(args['_'][0]); response = 'ok'; } + break; + case 'getclip': + if (require('MeshAgent').isService) { + require('clipboard').dispatchRead().then(function (str) { sendConsoleText(str, sessionid); }); + } else { + require("clipboard").read().then(function (str) { sendConsoleText(str, sessionid); }); + } + break; + case 'setclip': { + if (args['_'].length != 1) { + response = 'Proper usage: setclip "sample text"'; + } else { + if (require('MeshAgent').isService) { + require('clipboard').dispatchWrite(args['_'][0]); + response = 'Setting clipboard to: "' + args['_'][0] + '"'; + } + else { + require("clipboard")(args['_'][0]); response = 'Setting clipboard to: "' + args['_'][0] + '"'; + } + } + break; + } + case 'amtreset': { + if (amt != null) { amt.reset(); response = 'Done.'; } + break; + } + case 'amtlmsreset': { + if (amt != null) { amt.lmsreset(); response = 'Done.'; } + break; + } + case 'amtccm': { + if (amt == null) { response = 'Intel AMT not supported.'; } else { + if (args['_'].length != 1) { response = 'Proper usage: amtccm (adminPassword)'; } // Display usage + else { amt.setPolicy({ type: 0 }); amt.activeToCCM(args['_'][0]); } + } + break; + } + case 'amtacm': { + if (amt == null) { response = 'Intel AMT not supported.'; } else { + amt.setPolicy({ type: 0 }); + amt.getAmtInfo(function (meinfo) { amt.activeToACM(meinfo); }); + } + break; + } + case 'amtdeactivate': { + if (amt == null) { response = 'Intel AMT not supported.'; } else { amt.setPolicy({ type: 0 }); amt.deactivateCCM(); } + break; + } + case 'amtpolicy': { + if (amtPolicy == null) { + response = 'No Intel(R) AMT policy.'; + } else { + response = JSON.stringify(amtPolicy); + } + break; + } + case 'openurl': { + if (args['_'].length != 1) { response = 'Proper usage: openurl (url)'; } // Display usage + else { if (openUserDesktopUrl(args['_'][0]) == null) { response = 'Failed.'; } else { response = 'Success.'; } } + break; + } + case 'users': { + if (meshCoreObj.users == null) { response = 'Active users are unknown.'; } else { response = 'Active Users: ' + meshCoreObj.users.join(', ') + '.'; } + require('user-sessions').enumerateUsers().then(function (u) { for (var i in u) { sendConsoleText(u[i]); } }); + break; + } + case 'toast': { + if (args['_'].length < 1) { response = 'Proper usage: toast "message"'; } else { + require('toaster').Toast('MeshCentral', args['_'][0]).then(sendConsoleText, sendConsoleText); + } + break; + } + case 'setdebug': { + if (args['_'].length < 1) { response = 'Proper usage: setdebug (target), 0 = Disabled, 1 = StdOut, 2 = This Console, * = All Consoles, 4 = WebLog, 8 = Logfile'; } // Display usage + else { if (args['_'][0] == '*') { console.setDestination(2); } else { console.setDestination(parseInt(args['_'][0]), sessionid); } } + break; + } + case 'ps': { + processManager.getProcesses(function (plist) { + var x = ''; + for (var i in plist) { x += i + ', ' + plist[i].cmd + ((plist[i].user) ? (', ' + plist[i].user) : '') + '\r\n'; } + sendConsoleText(x, sessionid); + }); + break; + } + case 'kill': { + if ((args['_'].length < 1)) { + response = 'Proper usage: kill [pid]'; // Display correct command usage + } else { + process.kill(parseInt(args['_'][0])); + response = 'Killed process ' + args['_'][0] + '.'; + } + break; + } + case 'smbios': { + if (SMBiosTables == null) { response = 'SMBios tables not available.'; } else { response = objToString(SMBiosTables, 0, ' ', true); } + break; + } + case 'rawsmbios': { + if (SMBiosTablesRaw == null) { response = 'SMBios tables not available.'; } else { + response = ''; + for (var i in SMBiosTablesRaw) { + var header = false; + for (var j in SMBiosTablesRaw[i]) { + if (SMBiosTablesRaw[i][j].length > 0) { + if (header == false) { response += ('Table type #' + i + ((require('smbios').smTableTypes[i] == null) ? '' : (', ' + require('smbios').smTableTypes[i]))) + '\r\n'; header = true; } + response += (' ' + SMBiosTablesRaw[i][j].toString('hex')) + '\r\n'; + } + } + } + } + break; + } + case 'dump': + if (args['_'].length < 1) { + response = 'Proper usage: dump [on/off/status]'; // Display correct command usage + } + else { + switch (args['_'][0].toLowerCase()) { + case 'on': + process.coreDumpLocation = process.platform == 'win32' ? process.execPath.replace('.exe', '.dmp') : (process.execPath + '.dmp'); + response = 'enabled'; + break; + case 'off': + process.coreDumpLocation = null; + response = 'disabled'; + break; + case 'status': + if (process.coreDumpLocation) { + response = 'Core Dump: [ENABLED' + (require('fs').existsSync(process.coreDumpLocation) ? (', (DMP file exists)]') : (']')); + } + else { + response = 'Core Dump: [DISABLED]'; + } + break; + default: + response = 'Proper usage: dump [on/off/status]'; // Display correct command usage + break; + } + } + break; + case 'eval': { // Eval JavaScript + if (args['_'].length < 1) { + response = 'Proper usage: eval "JavaScript code"'; // Display correct command usage + } else { + response = JSON.stringify(mesh.eval(args['_'][0])); + } + break; + } + case 'uninstallagent': // Uninstall this agent + var agentName = process.platform == 'win32' ? 'Mesh Agent' : 'meshagent'; + if (!require('service-manager').manager.getService(agentName).isMe()) { + response = 'Uininstall failed, this instance is not the service instance'; + } else { + try { diagnosticAgent_uninstall(); } catch (x) { } + var js = "require('service-manager').manager.getService('" + agentName + "').stop(); require('service-manager').manager.uninstallService('" + agentName + "'); process.exit();"; + this.child = require('child_process').execFile(process.execPath, [process.platform == 'win32' ? (process.execPath.split('\\').pop()) : (process.execPath.split('/').pop()), '-b64exec', Buffer.from(js).toString('base64')], { type: 4, detached: true }); + } + break; + case 'notify': { // Send a notification message to the mesh + if (args['_'].length != 1) { + response = 'Proper usage: notify "message" [--session]'; // Display correct command usage + } else { + var notification = { "action": "msg", "type": "notify", "value": args['_'][0], "tag": "console" }; + if (args.session) { notification.sessionid = sessionid; } // If "--session" is specified, notify only this session, if not, the server will notify the mesh + mesh.SendCommand(notification); // no sessionid or userid specified, notification will go to the entire mesh + response = 'ok'; + } + break; + } + case 'cpuinfo': { // Return system information + // CPU & memory utilization + pr = require('sysinfo').cpuUtilization(); + pr.sessionid = sessionid; + pr.then(function (data) { + sendConsoleText(JSON.stringify({ cpu: data, memory: require('sysinfo').memUtilization() }, null, 1), this.sessionid); + }, function (e) { + sendConsoleText(e); + }); + break; + } + case 'sysinfo': { // Return system information + getSystemInformation(function (results, err) { + if (results == null) { sendConsoleText(err, this.sessionid); } else { + sendConsoleText(JSON.stringify(results, null, 1), this.sessionid); + } + }); + break; + } + case 'info': { // Return information about the agent and agent core module + response = 'Current Core: ' + meshCoreObj.value + '.\r\nAgent Time: ' + Date() + '.\r\nUser Rights: 0x' + rights.toString(16) + '.\r\nPlatform: ' + process.platform + '.\r\nCapabilities: ' + meshCoreObj.caps + '.\r\nServer URL: ' + mesh.ServerUrl + '.'; + if (amt != null) { response += '\r\nBuilt-in LMS: ' + ['Disabled', 'Connecting..', 'Connected'][amt.lmsstate] + '.'; } + if (meshCoreObj.osdesc) { response += '\r\nOS: ' + meshCoreObj.osdesc + '.'; } + response += '\r\nModules: ' + addedModules.join(', ') + '.'; + response += '\r\nServer Connection: ' + mesh.isControlChannelConnected + ', State: ' + meshServerConnectionState + '.'; + response += '\r\lastMeInfo: ' + lastMeInfo + '.'; + var oldNodeId = db.Get('OldNodeId'); + if (oldNodeId != null) { response += '\r\nOldNodeID: ' + oldNodeId + '.'; } + if (process.platform == 'linux' || process.platform == 'freebsd') { response += '\r\nX11 support: ' + require('monitor-info').kvm_x11_support + '.'; } + break; + } + case 'osinfo': { // Return the operating system information + var i = 1; + if (args['_'].length > 0) { i = parseInt(args['_'][0]); if (i > 8) { i = 8; } response = 'Calling ' + i + ' times.'; } + for (var j = 0; j < i; j++) { + var pr = require('os').name(); + pr.sessionid = sessionid; + pr.then(function (v) { sendConsoleText("OS: " + v, this.sessionid); }); + } + break; + } + case 'sendcaps': { // Send capability flags to the server + if (args['_'].length == 0) { + response = 'Proper usage: sendcaps (number)'; // Display correct command usage + } else { + meshCoreObj.caps = parseInt(args['_'][0]); + mesh.SendCommand(meshCoreObj); + response = JSON.stringify(meshCoreObj); + } + break; + } + case 'sendosdesc': { // Send OS description + if (args['_'].length > 0) { + meshCoreObj.osdesc = args['_'][0]; + mesh.SendCommand(meshCoreObj); + response = JSON.stringify(meshCoreObj); + } else { + response = 'Proper usage: sendosdesc [os description]'; // Display correct command usage + } + break; + } + case 'args': { // Displays parsed command arguments + response = 'args ' + objToString(args, 0, ' ', true); + break; + } + case 'print': { // Print a message on the mesh agent console, does nothing when running in the background + var r = []; + for (var i in args['_']) { r.push(args['_'][i]); } + console.log(r.join(' ')); + response = 'Message printed on agent console.'; + break; + } + case 'type': { // Returns the content of a file + if (args['_'].length == 0) { + response = 'Proper usage: type (filepath) [maxlength]'; // Display correct command usage + } else { + var max = 4096; + if ((args['_'].length > 1) && (typeof args['_'][1] == 'number')) { max = args['_'][1]; } + if (max > 4096) max = 4096; + var buf = Buffer.alloc(max), fd = fs.openSync(args['_'][0], "r"), r = fs.readSync(fd, buf, 0, max); // Read the file content + response = buf.toString(); + var i = response.indexOf('\n'); + if ((i > 0) && (response[i - 1] != '\r')) { response = response.split('\n').join('\r\n'); } + if (r == max) response += '...'; + fs.closeSync(fd); + } + break; + } + case 'dbkeys': { // Return all data store keys + response = JSON.stringify(db.Keys); + break; + } + case 'dbget': { // Return the data store value for a given key + if (db == null) { response = 'Database not accessible.'; break; } + if (args['_'].length != 1) { + response = 'Proper usage: dbget (key)'; // Display the value for a given database key + } else { + response = db.Get(args['_'][0]); + } + break; + } + case 'dbset': { // Set a data store key and value pair + if (db == null) { response = 'Database not accessible.'; break; } + if (args['_'].length != 2) { + response = 'Proper usage: dbset (key) (value)'; // Set a database key + } else { + var r = db.Put(args['_'][0], args['_'][1]); + response = 'Key set: ' + r; + } + break; + } + case 'dbcompact': { // Compact the data store + if (db == null) { response = 'Database not accessible.'; break; } + var r = db.Compact(); + response = 'Database compacted: ' + r; + break; + } + case 'httpget': { + if (consoleHttpRequest != null) { + response = 'HTTP operation already in progress.'; + } else { + if (args['_'].length != 1) { + response = 'Proper usage: httpget (url)'; + } else { + var options = http.parseUri(args['_'][0]); + options.method = 'GET'; + if (options == null) { + response = 'Invalid url.'; + } else { + try { consoleHttpRequest = http.request(options, consoleHttpResponse); } catch (e) { response = 'Invalid HTTP GET request'; } + consoleHttpRequest.sessionid = sessionid; + if (consoleHttpRequest != null) { + consoleHttpRequest.end(); + response = 'HTTPGET ' + options.protocol + '//' + options.host + ':' + options.port + options.path; + } + } + } + } + break; + } + case 'wslist': { // List all web sockets + response = ''; + for (var i in consoleWebSockets) { + var httprequest = consoleWebSockets[i]; + response += 'Websocket #' + i + ', ' + httprequest.url + '\r\n'; + } + if (response == '') { response = 'no websocket sessions.'; } + break; + } + case 'wsconnect': { // Setup a web socket + if (args['_'].length == 0) { + response = 'Proper usage: wsconnect (url)\r\nFor example: wsconnect wss://localhost:443/meshrelay.ashx?id=abc'; // Display correct command usage + } else { + var httprequest = null; + try { + var options = http.parseUri(args['_'][0]); + options.rejectUnauthorized = 0; + httprequest = http.request(options); + } catch (e) { response = 'Invalid HTTP websocket request'; } + if (httprequest != null) { + httprequest.upgrade = onWebSocketUpgrade; + httprequest.on('error', function (e) { sendConsoleText('ERROR: ' + JSON.stringify(e)); }); + + var index = 1; + while (consoleWebSockets[index]) { index++; } + httprequest.sessionid = sessionid; + httprequest.index = index; + httprequest.url = args['_'][0]; + consoleWebSockets[index] = httprequest; + response = 'New websocket session #' + index; + } + } + break; + } + case 'wssend': { // Send data on a web socket + if (args['_'].length == 0) { + response = 'Proper usage: wssend (socketnumber)\r\n'; // Display correct command usage + for (var i in consoleWebSockets) { + var httprequest = consoleWebSockets[i]; + response += 'Websocket #' + i + ', ' + httprequest.url + '\r\n'; + } + } else { + var i = parseInt(args['_'][0]); + var httprequest = consoleWebSockets[i]; + if (httprequest != undefined) { + httprequest.s.write(args['_'][1]); + response = 'ok'; + } else { + response = 'Invalid web socket number'; + } + } + break; + } + case 'wsclose': { // Close a websocket + if (args['_'].length == 0) { + response = 'Proper usage: wsclose (socketnumber)'; // Display correct command usage + } else { + var i = parseInt(args['_'][0]); + var httprequest = consoleWebSockets[i]; + if (httprequest != undefined) { + if (httprequest.s != null) { httprequest.s.end(); } else { httprequest.end(); } + response = 'ok'; + } else { + response = 'Invalid web socket number'; + } + } + break; + } + case 'tunnels': { // Show the list of current tunnels + response = ''; + for (var i in tunnels) { response += 'Tunnel #' + i + ', ' + tunnels[i].url + '\r\n'; } + if (response == '') { response = 'No websocket sessions.'; } + break; + } + case 'ls': { // Show list of files and folders + response = ''; + var xpath = '*'; + if (args['_'].length > 0) { xpath = obj.path.join(args['_'][0], '*'); } + response = 'List of ' + xpath + '\r\n'; + var results = fs.readdirSync(xpath); + for (var i = 0; i < results.length; ++i) { + var stat = null, p = obj.path.join(args['_'][0], results[i]); + try { stat = fs.statSync(p); } catch (e) { } + if ((stat == null) || (stat == undefined)) { + response += (results[i] + "\r\n"); + } else { + response += (results[i] + " " + ((stat.isDirectory()) ? "(Folder)" : "(File)") + "\r\n"); + } + } + break; + } + case 'lsx': { // Show list of files and folders + response = objToString(getDirectoryInfo(args['_'][0]), 0, ' ', true); + break; + } + case 'lock': { // Lock the current user out of the desktop + if (process.platform == 'win32') { var child = require('child_process'); child.execFile(process.env['windir'] + '\\system32\\cmd.exe', ['/c', 'RunDll32.exe user32.dll,LockWorkStation'], { type: 1 }); response = 'Ok'; } + else { response = 'Not supported on the platform'; } + break; + } + case 'amt': { // Show Intel AMT status + if (amt != null) { + amt.getAmtInfo(function (state) { + var resp = 'Intel AMT not detected.'; + if (state != null) { resp = objToString(state, 0, ' ', true); } + sendConsoleText(resp, sessionid); + }); + } else { + response = 'Intel AMT not detected.'; + } + break; + } + case 'netinfo': { // Show network interface information + //response = objToString(mesh.NetInfo, 0, ' '); + var interfaces = require('os').networkInterfaces(); + response = objToString(interfaces, 0, ' ', true); + break; + } + case 'netinfo2': { // Show network interface information + response = objToString(mesh.NetInfo, 0, ' ', true); + break; + } + case 'wakeonlan': { // Send wake-on-lan + if ((args['_'].length != 1) || (args['_'][0].length != 12)) { + response = 'Proper usage: wakeonlan [mac], for example "wakeonlan 010203040506".'; + } else { + var count = sendWakeOnLan(args['_'][0]); + response = 'Sent wake-on-lan on ' + count + ' interface(s).'; + } + break; + } + case 'sendall': { // Send a message to all consoles on this mesh + sendConsoleText(args['_'].join(' ')); + break; + } + case 'power': { // Execute a power action on this computer + if (mesh.ExecPowerState == undefined) { + response = 'Power command not supported on this agent.'; + } else { + if ((args['_'].length == 0) || (typeof args['_'][0] != 'number')) { + response = 'Proper usage: power (actionNumber), where actionNumber is:\r\n LOGOFF = 1\r\n SHUTDOWN = 2\r\n REBOOT = 3\r\n SLEEP = 4\r\n HIBERNATE = 5\r\n DISPLAYON = 6\r\n KEEPAWAKE = 7\r\n BEEP = 8\r\n CTRLALTDEL = 9\r\n VIBRATE = 13\r\n FLASH = 14'; // Display correct command usage + } else { + var r = mesh.ExecPowerState(args['_'][0], args['_'][1]); + response = 'Power action executed with return code: ' + r + '.'; + } + } + break; + } + case 'location': { + getIpLocationData(function (location) { + sendConsoleText(objToString({ "action": "iplocation", "type": "publicip", "value": location }, 0, ' ')); + }); + break; + } + case 'parseuri': { + response = JSON.stringify(http.parseUri(args['_'][0])); + break; + } + case 'scanwifi': { + if (wifiScanner != null) { + var wifiPresent = wifiScanner.hasWireless; + if (wifiPresent) { response = "Perfoming Wifi scan..."; wifiScanner.Scan(); } else { response = "Wifi absent."; } + } else { response = "Wifi module not present."; } + break; + } + case 'scanamt': { + if (amtscanner != null) { + if (args['_'].length != 1) { + response = 'Usage examples:\r\n scanamt 1.2.3.4\r\n scanamt 1.2.3.0-1.2.3.255\r\n scanamt 1.2.3.0/24\r\n'; // Display correct command usage + } else { + response = 'Scanning: ' + args['_'][0] + '...'; + amtscanner.scan(args['_'][0], 2000, function (data) { + if (data.length > 0) { + var r = '', pstates = ['NotActivated', 'InActivation', 'Activated']; + for (var i in data) { + var x = data[i]; + if (r != '') { r += '\r\n'; } + r += x.address + ' - Intel AMT v' + x.majorVersion + '.' + x.minorVersion; + if (x.provisioningState < 3) { r += (', ' + pstates[x.provisioningState]); } + if (x.provisioningState == 2) { r += (', ' + x.openPorts.join(', ')); } + r += '.'; + } + } else { + r = 'No Intel AMT found.'; + } + sendConsoleText(r); + }); + } + } else { response = "Intel AMT scanner module not present."; } + break; + } + case 'modules': { + response = JSON.stringify(addedModules); + break; + } + case 'listservices': { + var services = require('service-manager').manager.enumerateService(); + response = JSON.stringify(services, null, 1); + break; + } + case 'getscript': { + if (args['_'].length != 1) { + response = 'Proper usage: getscript [scriptNumber].'; + } else { + mesh.SendCommand({ "action": "getScript", "type": args['_'][0] }); + } + break; + } + case 'diagnostic': + { + if (!mesh.DAIPC.listening) { + response = 'Unable to bind to Diagnostic IPC, most likely because the path (' + process.cwd() + ') is not on a local file system'; + break; + } + var diag = diagnosticAgent_installCheck(); + if (diag) { + if (args['_'].length == 1 && args['_'][0] == 'uninstall') { + diagnosticAgent_uninstall(); + response = 'Diagnostic Agent uninstalled'; + } + else { + response = 'Diagnostic Agent installed at: ' + diag.appLocation(); + } + } + else { + if (args['_'].length == 1 && args['_'][0] == 'install') { + diag = diagnosticAgent_installCheck(true); + if (diag) { + response = 'Diagnostic agent was installed at: ' + diag.appLocation(); + } + else { + response = 'Diagnostic agent installation failed'; + } + } + else { + response = 'Diagnostic Agent Not installed. To install: diagnostic install'; + } + } + if (diag) { diag.close(); diag = null; } + break; + } + case 'apf': { + if (meshCoreObj.intelamt !== null) { + if (args['_'].length == 1) { + if (args['_'][0] == 'on') { + response = 'Starting APF tunnel' + var apfarg = { + mpsurl: mesh.ServerUrl.replace('agent.ashx', 'apf.ashx'), + mpsuser: Buffer.from(mesh.ServerInfo.MeshID, 'hex').toString('base64').substring(0, 16), + mpspass: Buffer.from(mesh.ServerInfo.MeshID, 'hex').toString('base64').substring(0, 16), + mpskeepalive: 60000, + clientname: require('os').hostname(), + clientaddress: '127.0.0.1', + clientuuid: meshCoreObj.intelamt.uuid + }; + var tobj = { debug: false }; // + apftunnel = require('apfclient')(tobj, apfarg); + try { + apftunnel.connect(); + response += "..success"; + } catch (e) { + response += JSON.stringify(e); + } + } else if (args['_'][0] == 'off') { + response = 'Stopping APF tunnel'; + try { + apftunnel.disconnect(); + response += "..success"; + } catch (e) { + response += JSON.stringify(e); + } + apftunnel = null; + } else { + response = 'Invalid command.\r\nCmd syntax: apf on|off'; + } + } else { + response = 'APF tunnel is ' + (apftunnel == null ? 'off' : 'on'); + } + + } else { + response = 'APF tunnel requires Intel AMT'; + } + break; + } + case 'plugin': { + if (typeof args['_'][0] == 'string') { + try { + // Pass off the action to the plugin + // for plugin creators, you'll want to have a plugindir/modules_meshcore/plugin.js + // to control the output / actions here. + response = require(args['_'][0]).consoleaction(args, rights, sessionid, mesh); + } catch (e) { + response = 'There was an error in the plugin (' + e + ')'; + } + } else { + response = 'Proper usage: plugin [pluginName] [args].'; + } + break; + } + default: { // This is an unknown command, return an error message + response = 'Unknown command \"' + cmd + '\", type \"help\" for list of avaialble commands.'; + break; + } + } + } catch (e) { response = 'Command returned an exception error: ' + e; console.log(e); } + if (response != null) { sendConsoleText(response, sessionid); } + } + + // Send a mesh agent console command + function sendConsoleText(text, sessionid) { + if (typeof text == 'object') { text = JSON.stringify(text); } + mesh.SendCommand({ "action": "msg", "type": "console", "value": text, "sessionid": sessionid }); + } + + // Called before the process exits + //process.exit = function (code) { console.log("Exit with code: " + code.toString()); } + + // Called when the server connection state changes + function handleServerConnection(state) { + meshServerConnectionState = state; + if (meshServerConnectionState == 0) { + // Server disconnected + if (selfInfoUpdateTimer != null) { clearInterval(selfInfoUpdateTimer); selfInfoUpdateTimer = null; } + lastSelfInfo = null; + } else { + // Server connected, send mesh core information + var oldNodeId = db.Get('OldNodeId'); + if (oldNodeId != null) { mesh.SendCommand({ action: 'mc1migration', oldnodeid: oldNodeId }); } + + // Update the server with basic info, logged in users and more. + mesh.SendCommand(meshCoreObj); + + // Send SMBios tables if present + if (SMBiosTablesRaw != null) { mesh.SendCommand({ "action": "smbios", "value": SMBiosTablesRaw }); } + + // Update the server on more advanced stuff, like Intel ME and Network Settings + meInfoStr = null; + sendPeriodicServerUpdate(); + if (selfInfoUpdateTimer == null) { selfInfoUpdateTimer = setInterval(sendPeriodicServerUpdate, 1200000); } // 20 minutes + } + } + + // Update the server with the latest network interface information + var sendNetworkUpdateNagleTimer = null; + function sendNetworkUpdateNagle() { if (sendNetworkUpdateNagleTimer != null) { clearTimeout(sendNetworkUpdateNagleTimer); sendNetworkUpdateNagleTimer = null; } sendNetworkUpdateNagleTimer = setTimeout(sendNetworkUpdate, 5000); } + function sendNetworkUpdate(force) { + sendNetworkUpdateNagleTimer = null; + + // Update the network interfaces information data + var netInfo = mesh.NetInfo; + if (netInfo) { + netInfo.action = 'netinfo'; + var netInfoStr = JSON.stringify(netInfo); + if ((force == true) || (clearGatewayMac(netInfoStr) != clearGatewayMac(lastNetworkInfo))) { mesh.SendCommand(netInfo); lastNetworkInfo = netInfoStr; } + } + } + + // Called periodically to check if we need to send updates to the server + function sendPeriodicServerUpdate(flags) { + if (meshServerConnectionState == 0) return; // Not connected to server, do nothing. + if (!flags) { flags = 0xFFFFFFFF; } + + if ((flags & 1) && (amt != null)) { + // If we have a connected MEI, get Intel ME information + amt.getAmtInfo(function (meinfo) { + try { + if (meinfo == null) return; + var intelamt = {}, p = false; + if ((meinfo.Versions != null) && (meinfo.Versions.AMT != null)) { intelamt.ver = meinfo.Versions.AMT; p = true; if (meinfo.Versions.Sku != null) { intelamt.sku = parseInt(meinfo.Versions.Sku); } } + if (meinfo.ProvisioningState != null) { intelamt.state = meinfo.ProvisioningState; p = true; } + if (meinfo.Flags != null) { intelamt.flags = meinfo.Flags; p = true; } + if (meinfo.OsHostname != null) { intelamt.host = meinfo.OsHostname; p = true; } + if (meinfo.UUID != null) { intelamt.uuid = meinfo.UUID; p = true; } + if ((meinfo.ProvisioningState == 0) && (meinfo.net0 != null) && (meinfo.net0.enabled == 1)) { // If not activated, look to see if we have wired net working. + // Not activated and we have wired ethernet, look for the trusted DNS + var dns = meinfo.DNS; + if (dns == null) { + // Trusted DNS not set, let's look for the OS network DNS suffix + var interfaces = require('os').networkInterfaces(); + for (var i in interfaces) { + for (var j in interfaces[i]) { + if ((interfaces[i][j].mac == mestate.net0.mac) && (interfaces[i][j].fqdn != null) && (interfaces[i][j].fqdn != '')) { dns = interfaces[i][j].fqdn; } + } + } + } + if (intelamt.dns != dns) { intelamt.dns = dns; p = true; } + } else { if (intelamt.dns != null) { delete intelamt.dns; p = true; } } + if (p == true) { + var meInfoStr = JSON.stringify(intelamt); + if (meInfoStr != lastMeInfo) { + meshCoreObj.intelamt = intelamt; + mesh.SendCommand(meshCoreObj); + lastMeInfo = meInfoStr; + } + } + } catch (ex) { } + }); + } + + if (flags & 2) { + // Update network information + sendNetworkUpdateNagle(false); + } + + if ((flags & 4) && (process.platform == 'win32')) { + // Update anti-virus information + // Windows Command: "wmic /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct get /FORMAT:CSV" + var av, pr; + try { av = require('win-info').av(); } catch (ex) { av = null; } // Antivirus + //if (process.platform == 'win32') { try { pr = require('win-info').pendingReboot(); } catch (ex) { pr = null; } } // Pending reboot + if ((meshCoreObj.av == null) || (JSON.stringify(meshCoreObj.av) != JSON.stringify(av))) { meshCoreObj.av = av; mesh.SendCommand(meshCoreObj); } + } + + // TODO: add plugin hook here + } + + + // Starting function + obj.start = function () { + // Setup the mesh agent event handlers + mesh.AddCommandHandler(handleServerCommand); + mesh.AddConnectHandler(handleServerConnection); + + // Parse input arguments + //var args = parseArgs(process.argv); + //console.log(args); + + //resetMicroLms(); + + // Setup logged in user monitoring (THIS IS BROKEN IN WIN7) + try { + var userSession = require('user-sessions'); + userSession.on('changed', function onUserSessionChanged() { + userSession.enumerateUsers().then(function (users) { + var u = [], a = users.Active; + for (var i = 0; i < a.length; i++) { + var un = a[i].Domain ? (a[i].Domain + '\\' + a[i].Username) : (a[i].Username); + if (u.indexOf(un) == -1) { u.push(un); } // Only push users in the list once. + } + meshCoreObj.users = u; + mesh.SendCommand(meshCoreObj); + }); + }); + userSession.emit('changed'); + //userSession.on('locked', function (user) { sendConsoleText('[' + (user.Domain ? user.Domain + '\\' : '') + user.Username + '] has LOCKED the desktop'); }); + //userSession.on('unlocked', function (user) { sendConsoleText('[' + (user.Domain ? user.Domain + '\\' : '') + user.Username + '] has UNLOCKED the desktop'); }); + } catch (ex) { } + } + + obj.stop = function () { + mesh.AddCommandHandler(null); + mesh.AddConnectHandler(null); + } + + function onWebSocketClosed() { sendConsoleText("WebSocket #" + this.httprequest.index + " closed.", this.httprequest.sessionid); delete consoleWebSockets[this.httprequest.index]; } + function onWebSocketData(data) { sendConsoleText("Got WebSocket #" + this.httprequest.index + " data: " + data, this.httprequest.sessionid); } + function onWebSocketSendOk() { sendConsoleText("WebSocket #" + this.index + " SendOK.", this.sessionid); } + + function onWebSocketUpgrade(response, s, head) { + sendConsoleText("WebSocket #" + this.index + " connected.", this.sessionid); + this.s = s; + s.httprequest = this; + s.end = onWebSocketClosed; + s.data = onWebSocketData; + } + + return obj; +} + +// +// Module startup +// + +try { + var xexports = null, mainMeshCore = null; + try { xexports = module.exports; } catch (e) { } + + if (xexports != null) { + // If we are running within NodeJS, export the core + module.exports.createMeshCore = createMeshCore; + } else { + // If we are not running in NodeJS, launch the core + mainMeshCore = createMeshCore(); + mainMeshCore.start(null); + } +} catch (ex) { + require('MeshAgent').SendCommand({ "action": "msg", "type": "console", "value": "uncaughtException2: " + ex }); +} \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt-ider.min.js b/agents/modules_meshcmd_min/amt-ider.min.js new file mode 100644 index 00000000..fe99b6e2 --- /dev/null +++ b/agents/modules_meshcmd_min/amt-ider.min.js @@ -0,0 +1 @@ +module.exports=function CreateAmtRemoteIder(){var B={};B.protocol=3;B.bytesToAmt=0;B.bytesFromAmt=0;B.rx_timeout=30000;B.tx_timeout=0;B.heartbeat=20000;B.version=1;B.acc=null;B.inSequence=0;B.outSequence=0;B.iderinfo=null;B.enabled=false;B.iderStart=0;B.floppy=null;B.cdrom=null;B.floppyReady=false;B.cdromReady=false;B.sectorStats=null;B.debug=false;var z=new Buffer([0,38,49,128,0,0,0,0,5,30,16,169,8,32,2,0,3,195,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,2,208,0,0]);var s=new Buffer([0,92,36,128,0,0,0,0,1,10,0,1,0,0,0,0,2,0,0,0,3,22,0,160,0,0,0,0,0,18,2,0,0,0,0,0,0,0,160,0,0,0,5,30,16,169,8,32,2,0,3,195,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,2,208,0,0,8,10,0,0,0,0,0,0,0,0,0,0,11,6,0,0,0,17,36,49]);var x=new Buffer([0,38,36,128,0,0,0,0,5,30,4,176,2,18,2,0,0,80,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,2,208,0,0]);var r=new Buffer([0,92,36,128,0,0,0,0,1,10,0,1,0,0,0,0,2,0,0,0,3,22,0,160,0,0,0,0,0,18,2,0,0,0,0,0,0,0,160,0,0,0,5,30,4,176,2,18,2,0,0,80,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,2,208,0,0,8,10,0,0,0,0,0,0,0,0,0,0,11,6,0,0,0,17,36,49]);var t=new Buffer([0,18,1,128,0,0,0,0,26,10,0,0,0,0,0,0,0,0,0,0]);var u=new Buffer([0,18,1,128,0,0,0,0,29,10,0,0,0,0,0,0,0,0,0,0]);var v=new Buffer([0,32,1,128,0,0,0,0,42,24,0,0,0,0,32,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0]);var q=new Buffer([0,40,1,128,0,0,0,0,1,6,0,255,0,0,0,0,42,24,0,0,0,0,2,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0]);var i=new Buffer([0,0,0,40,0,0,0,8]);var j=new Buffer([0,0,3,4,0,8,1,0]);var h=new Buffer([0,1,3,4,0,0,0,2]);var m=new Buffer([0,2,3,4,0,0,0,0]);var l=new Buffer([0,3,3,4,41,0,0,2]);var k=new Buffer([0,16,1,8,0,0,8,0,0,1,0,0]);var o=new Buffer([0,30,3,0]);var n=new Buffer([1,0,3,0]);var p=new Buffer([1,5,3,0]);var y=new Buffer([0,18,36,128,0,0,0,0,1,10,0,1,0,0,0,0,2,0,0,0]);var A=new Buffer([0,18,49,128,0,0,0,0,1,10,0,1,0,0,0,0,2,0,0,0]);var w=new Buffer([0,14,1,128,0,0,0,0,1,6,0,255,0,0,0,0]);B.xxStateChange=function(E){if(B.debug){console.log("IDER-StateChange",E)}if(E==0){B.Stop()}if(E==3){B.Start()}};B.Start=function(){if(B.debug){console.log("IDER-Start");console.log(B.floppy,B.cdrom)}B.bytesToAmt=0;B.bytesFromAmt=0;B.inSequence=0;B.outSequence=0;e=[];B.SendCommand(64,Buffer.concat([ShortToStrX(B.rx_timeout),ShortToStrX(B.tx_timeout),ShortToStrX(B.heartbeat),IntToStrX(B.version)]));if(B.sectorStats){B.sectorStats(0,0,B.floppy?(B.floppy.size>>9):0);B.sectorStats(0,1,B.cdrom?(B.cdrom.size>>11):0)}};B.Stop=function(){if(B.debug){console.log("IDER-Stop")}B.parent.Stop()};B.ProcessData=function(E){B.bytesFromAmt+=E.length;if(B.acc==null){B.acc=E}else{B.acc=Buffer.concat(B.acc,E)}if(B.debug){console.log("IDER-ProcessData",B.acc.length,B.acc.toString("hex"))}while(B.acc!=null){var F=B.ProcessDataEx();if(F==0){return}if(B.inSequence!=ReadIntX(B.acc,4)){if(B.debug){console.log("ERROR: Out of sequence",B.inSequence,ReadIntX(B.acc,4))}B.Stop();return}B.inSequence++;if(F==B.acc.length){B.acc=null}else{B.acc=B.acc.slice(F)}}};B.SendCommand=function(F,H,G,I){if(H==null){H=new Buffer(0)}var E=((F>50)&&(G==true))?2:0;if(I){E+=1}var J=Buffer.concat([Buffer([F,0,0,E]),IntToStrX(B.outSequence++),H]);B.parent.xxSend(J);B.bytesToAmt+=J.length};B.SendCommandEndResponse=function(H,I,G,E,F){if(H){B.SendCommand(81,new Buffer([0,0,0,0,0,0,0,0,0,0,0,0,197,0,3,0,0,0,G,80,0,0,0]),true)}else{B.SendCommand(81,new Buffer([0,0,0,0,0,0,0,0,0,0,0,0,135,(I<<4),3,0,0,0,G,81,I,E,F]),true)}};B.SendDataToHost=function(G,E,F,H){var I=(H)?0:F.length;if(E==true){B.SendCommand(84,Buffer.concat([new Buffer([0,(F.length&255),(F.length>>8),0,H?180:181,0,2,0,(I&255),(I>>8),G,88,133,0,3,0,0,0,G,80,0,0,0,0,0,0]),F]),E,H)}else{B.SendCommand(84,Buffer.concat([new Buffer([0,(F.length&255),(F.length>>8),0,H?180:181,0,2,0,(I&255),(I>>8),G,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),F]),E,H)}};B.SendGetDataFromHost=function(F,E){B.SendCommand(82,new Buffer([0,(E&255),(E>>8),0,181,0,0,0,(E&255),(E>>8),F,88,0,0,0,0,0,0,0,0,0,0,0]),false)};B.SendDisableEnableFeatures=function(F,E){if(E==null){E=""}B.SendCommand(72,Buffer.concat([new Buffer([F]),E]))};B.ProcessDataEx=function(){if(B.acc.length<8){return 0}switch(B.acc[0]){case 65:if(B.acc.length<30){return 0}var I=B.acc[29];if(B.acc.length<(30+I)){return 0}B.iderinfo={};B.iderinfo.major=B.acc[8];B.iderinfo.minor=B.acc[9];B.iderinfo.fwmajor=B.acc[10];B.iderinfo.fwminor=B.acc[11];B.iderinfo.readbfr=ReadShortX(B.acc,16);B.iderinfo.writebfr=ReadShortX(B.acc,18);B.iderinfo.proto=B.acc[21];B.iderinfo.iana=ReadIntX(B.acc,25);if(B.debug){console.log(B.iderinfo)}if(B.iderinfo.proto!=0){if(B.debug){console.log("Unknown proto",B.iderinfo.proto)}B.Stop()}if(B.iderinfo.readbfr>8192){if(B.debug){console.log("Illegal read buffer size",B.iderinfo.readbfr)}B.Stop()}if(B.iderinfo.writebfr>8192){if(B.debug){console.log("Illegal write buffer size",B.iderinfo.writebfr)}B.Stop()}if(B.iderStart==0){B.SendDisableEnableFeatures(3,IntToStrX(1+8))}else{if(B.iderStart==1){B.SendDisableEnableFeatures(3,IntToStrX(1+16))}else{if(B.iderStart==2){B.SendDisableEnableFeatures(3,IntToStrX(1+24))}}}return 30+I;case 67:if(B.debug){console.log("CLOSE")}B.Stop();return 8;case 68:B.SendCommand(69);return 8;case 69:if(B.debug){console.log("PONG")}return 8;case 70:if(B.acc.length<9){return 0}var J=B.acc[8];if(d===null){B.SendCommand(71);if(B.debug){console.log("RESETOCCURED1",J)}}else{f=true;if(B.debug){console.log("RESETOCCURED2",J)}}return 9;case 73:if(B.acc.length<13){return 0}var K=B.acc[8];var L=ReadIntX(B.acc,9);if(B.debug){console.log("STATUS_DATA",K,L)}switch(K){case 1:if(L&1){if(B.iderStart==0){B.SendDisableEnableFeatures(3,IntToStrX(1+8))}else{if(B.iderStart==1){B.SendDisableEnableFeatures(3,IntToStrX(1+16))}else{if(B.iderStart==2){B.SendDisableEnableFeatures(3,IntToStrX(1+24))}}}}break;case 2:B.enabled=(L&2)?true:false;if(B.debug){console.log("IDER Status: "+B.enabled)}break;case 3:if(L!=1){if(B.debug){console.log("Register toggle failure")}}break}return 13;case 74:if(B.acc.length<11){return 0}if(B.debug){console.log("IDER: ABORT",B.acc[8])}return 11;case 75:return 8;case 80:if(B.acc.length<28){return 0}var F=(B.acc[14]&16)?176:160;var G=B.acc[14];var E=B.acc.slice(16,28);var H=B.acc[9];if(B.debug){console.log("SCSI_CMD",F,E.toString("hex"),H,G)}g(F,E,H,G);return 28;case 83:if(B.acc.length<14){return 0}var I=ReadShortX(B.acc,9);if(B.acc.length<(14+I)){return 0}if(B.debug){console.log("SCSI_WRITE, len = "+(14+I))}B.SendCommand(81,new Buffer([0,0,0,0,0,0,0,0,0,0,0,0,135,112,3,0,0,0,160,81,7,39,0]),true);return 14+I;default:if(B.debug){console.log("Unknown IDER command",B.acc[0])}B.Stop();break}return 0};function g(I,H,K,J){var N;var O;switch(H[0]){case 0:if(B.debug){console.log("SCSI: TEST_UNIT_READY",I)}switch(I){case 160:if(B.floppy==null){B.SendCommandEndResponse(1,2,I,58,0);return -1}if(B.floppyReady==false){B.floppyReady=true;B.SendCommandEndResponse(1,6,I,40,0);return -1}break;case 176:if(B.cdrom==null){B.SendCommandEndResponse(1,2,I,58,0);return -1}if(B.cdromReady==false){B.cdromReady=true;B.SendCommandEndResponse(1,6,I,40,0);return -1}break;default:if(B.debug){console.log("SCSI Internal error 3",I)}return -1}B.SendCommandEndResponse(1,0,I,0,0);break;case 8:N=((H[1]&31)<<16)+(H[2]<<8)+H[3];O=H[4];if(O==0){O=256}if(B.debug){console.log("SCSI: READ_6",I,N,O)}C(I,N,O,K);break;case 10:N=((H[1]&31)<<16)+(H[2]<<8)+H[3];O=H[4];if(O==0){O=256}if(B.debug){console.log("SCSI: WRITE_6",I,N,O)}B.SendCommandEndResponse(1,2,I,58,0);return -1;case 26:if(B.debug){console.log("SCSI: MODE_SENSE_6",I)}if((H[2]==63)&&(H[3]==0)){var E=0,F=0;switch(I){case 160:if(B.floppy==null){B.SendCommandEndResponse(1,2,I,58,0);return -1}E=0;F=128;break;case 176:if(B.cdrom==null){B.SendCommandEndResponse(1,2,I,58,0);return -1}E=5;F=128;break;default:if(B.debug){console.log("SCSI Internal error 6",I)}return -1}B.SendDataToHost(I,true,new Buffer([0,E,F,0]),K&1);return}B.SendCommandEndResponse(1,5,I,36,0);break;case 27:B.SendCommandEndResponse(1,0,I);break;case 30:if(B.debug){console.log("SCSI: ALLOW_MEDIUM_REMOVAL",I)}if((I==160)&&(B.floppy==null)){B.SendCommandEndResponse(1,2,I,58,0);return -1}if((I==176)&&(B.cdrom==null)){B.SendCommandEndResponse(1,2,I,58,0);return -1}B.SendCommandEndResponse(1,0,I,0,0);break;case 35:if(B.debug){console.log("SCSI: READ_FORMAT_CAPACITIES",I)}var G=ReadShort(H,7);var Q=0,V;var P=G/8;switch(I){case 160:if((B.floppy==null)||(B.floppy.size==0)){B.SendCommandEndResponse(0,5,I,36,0);return -1}V=(B.floppy.size>>9)-1;break;case 176:if((B.cdrom==null)||(B.cdrom.size==0)){B.SendCommandEndResponse(0,5,I,36,0);return -1}V=(B.cdrom.size>>11)-1;break;default:if(B.debug){console.log("SCSI Internal error 4",I)}return -1}B.SendDataToHost(I,true,Buffer.concat([IntToStr(8),new Buffer([0,0,11,64,2,0,2,0])]),K&1);break;case 37:if(B.debug){console.log("SCSI: READ_CAPACITY",I)}var O=0;switch(I){case 160:if((B.floppy==null)||(B.floppy.size==0)){B.SendCommandEndResponse(0,2,I,58,0);return -1}if(B.floppy!=null){O=(B.floppy.size>>9)-1}if(B.debug){console.log("DEV_FLOPPY",O)}break;case 176:if((B.cdrom==null)||(B.cdrom.size==0)){B.SendCommandEndResponse(0,2,I,58,0);return -1}if(B.cdrom!=null){O=(B.cdrom.size>>11)-1}if(B.debug){console.log("DEV_CDDVD",O)}break;default:if(B.debug){console.log("SCSI Internal error 4",I)}return -1}if(B.debug){console.log("SCSI: READ_CAPACITY2",I,J)}B.SendDataToHost(J,true,Buffer.concat([IntToStr(O),new Buffer([0,0,((I==176)?8:2),0])]),K&1);break;case 40:N=ReadInt(H,2);O=ReadShort(H,7);if(B.debug){console.log("SCSI: READ_10",I,N,O)}C(I,N,O,K);break;case 42:case 46:N=ReadInt(H,2);O=ReadShort(H,7);if(B.debug){console.log("SCSI: WRITE_10",I,N,O)}B.SendGetDataFromHost(I,512*O);break;case 67:var G=ReadShort(H,7);var R=H[1]&2;var M=H[2]&7;if(M==0){M=H[9]>>6}if(B.debug){console.log("SCSI: READ_TOC, dev="+I+", buflen="+G+", msf="+R+", format="+M)}switch(I){case 160:B.SendCommandEndResponse(1,5,I,32,0);return -1;case 176:break;default:if(B.debug){console.log("SCSI Internal error 9",I)}return -1}if(M==1){B.SendDataToHost(I,true,new Buffer([0,10,1,1,0,20,1,0,0,0,0,0]),K&1)}else{if(M==0){if(R){B.SendDataToHost(I,true,new Buffer([0,18,1,1,0,20,1,0,0,0,2,0,0,20,170,0,0,0,52,19]),K&1)}else{B.SendDataToHost(I,true,new Buffer([0,18,1,1,0,20,1,0,0,0,0,0,0,20,170,0,0,0,0,0]),K&1)}}}break;case 70:var W=(H[1]!=2);var L=ReadShort(H,2);var G=ReadShort(H,7);if(B.debug){console.log("SCSI: GET_CONFIGURATION",I,W,L,G)}if(G==0){B.SendDataToHost(I,true,Buffer.concat([IntToStr(60),IntToStr(8)]),K&1);return -1}var T=null;if(L==0){T=j}if((L==1)||(W&&(L<1))){T=h}if((L==2)||(W&&(L<2))){T=m}if((L==3)||(W&&(L<3))){T=l}if((L==16)||(W&&(L<16))){T=k}if((L==30)||(W&&(L<30))){T=o}if((L==256)||(W&&(L<256))){T=n}if((L==261)||(W&&(L<261))){T=p}if(T==null){T=Buffer.concat([IntToStr(8),IntToStr(4)])}else{T=Buffer.concat([IntToStr(8),IntToStr(T.length+4),T])}if(T.length>G){T=T.slice(0,G)}B.SendDataToHost(I,true,T,K&1);return -1;case 74:if(B.debug){console.log("SCSI: GET_EVENT_STATUS_NOTIFICATION",I,H[1],H[4],H[9])}if((H[1]!=1)&&(H[4]!=16)){if(B.debug){console.log("SCSI ERROR")}B.SendCommandEndResponse(1,5,I,38,1);break}var S=0;if((I==160)&&(B.floppy!=null)){S=2}else{if((I==176)&&(B.cdrom!=null)){S=2}}B.SendDataToHost(I,true,new Buffer([0,S,128,0]),K&1);break;case 76:B.SendCommand(81,Buffer.concat([IntToStrX(0),IntToStrX(0),IntToStrX(0),new Buffer([135,80,3,0,0,0,176,81,5,32,0])]),true);break;case 81:if(B.debug){console.log("SCSI READ_DISC_INFO",I)}B.SendCommandEndResponse(0,5,I,32,0);return -1;case 85:if(B.debug){console.log("SCSI ERROR: MODE_SELECT_10",I)}B.SendCommandEndResponse(1,5,I,32,0);return -1;case 90:if(B.debug){console.log("SCSI: MODE_SENSE_10",I,H[2]&63)}var G=ReadShort(H,7);var T=null;if(G==0){B.SendDataToHost(I,true,Buffer.concat([IntToStr(60),IntToStr(8)]),K&1);return -1}var U=0;if(I==160){if(B.floppy!=null){U=(B.floppy.size>>9)}}else{if(B.cdrom!=null){U=(B.cdrom.size>>11)}}switch(H[2]&63){case 1:if(I==160){T=(U<=2880)?y:A}else{T=w}break;case 5:if(I==160){T=(U<=2880)?x:z}break;case 63:if(I==160){T=(U<=2880)?r:s}else{T=q}break;case 26:if(I==176){T=t}break;case 29:if(I==176){T=u}break;case 42:if(I==176){T=v}break}if(T==null){B.SendCommandEndResponse(0,5,I,32,0)}else{B.SendDataToHost(I,true,T,K&1)}break;default:if(B.debug){console.log("IDER: Unknown SCSI command",H[0])}B.SendCommandEndResponse(0,5,I,32,0);return -1}return 0}function C(E,G,H,F){var I=null;var J=0;if(E==160){I=B.floppy;if(B.floppy!=null){J=(B.floppy.size>>9)}}if(E==176){I=B.cdrom;if(B.cdrom!=null){J=(B.cdrom.size>>11)}}if((H<0)||(G+H>J)){B.SendCommandEndResponse(1,5,E,33,0);return 0}if(H==0){B.SendCommandEndResponse(1,0,E,0,0);return 0}if(I!=null){if(B.sectorStats){B.sectorStats(1,(E==160)?0:1,J,G,H)}if(E==160){G<<=9;H<<=9}else{G<<=11;H<<=11}if(d!==null){e.push({media:I,dev:E,lba:G,len:H,fr:F})}else{d=I;a=E;b=G;c=H;D(F)}}}var e=[];var f=false;var d=null;var a;var b;var c;function D(E){var G=c,F=b;if(c>B.iderinfo.readbfr){G=B.iderinfo.readbfr}c-=G;b+=G;var I=new Buffer(G);fs.readSync(d.file,I,0,G,F);B.SendDataToHost(a,(c==0),I,E&1);if((c>0)&&(f==false)){D(E)}else{d=null;if(f){B.SendCommand(71);e=[];f=false}else{if(e.length>0){var H=e.shift();d=H.media;a=H.dev;b=H.lba;c=H.len;D(H.fr)}}}}return B};function ShortToStr(a){return new Buffer([(a>>8)&255,a&255])}function ShortToStrX(a){return new Buffer([a&255,(a>>8)&255])}function IntToStr(a){return new Buffer([(a>>24)&255,(a>>16)&255,(a>>8)&255,a&255])}function IntToStrX(a){return new Buffer([a&255,(a>>8)&255,(a>>16)&255,(a>>24)&255])}function ReadShort(b,a){return(b[a]<<8)+b[a+1]}function ReadShortX(b,a){return(b[a+1]<<8)+b[a]}function ReadInt(b,a){return(b[a]*16777216)+(b[a+1]<<16)+(b[a+2]<<8)+b[a+3]}function ReadSInt(b,a){return(b[a]<<24)+(b[a+1]<<16)+(b[a+2]<<8)+b[a+3]}function ReadIntX(b,a){return(b[a+3]*16777216)+(b[a+2]<<16)+(b[a+1]<<8)+b[a]}; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt-lme.min.js b/agents/modules_meshcmd_min/amt-lme.min.js new file mode 100644 index 00000000..b8254355 --- /dev/null +++ b/agents/modules_meshcmd_min/amt-lme.min.js @@ -0,0 +1 @@ +var MemoryStream=require("MemoryStream");var lme_id=0;var lme_port_offset=0;var xmlParser=require("amt-xml");var APF_DISCONNECT=1;var APF_SERVICE_REQUEST=5;var APF_SERVICE_ACCEPT=6;var APF_USERAUTH_REQUEST=50;var APF_USERAUTH_FAILURE=51;var APF_USERAUTH_SUCCESS=52;var APF_GLOBAL_REQUEST=80;var APF_REQUEST_SUCCESS=81;var APF_REQUEST_FAILURE=82;var APF_CHANNEL_OPEN=90;var APF_CHANNEL_OPEN_CONFIRMATION=91;var APF_CHANNEL_OPEN_FAILURE=92;var APF_CHANNEL_WINDOW_ADJUST=93;var APF_CHANNEL_DATA=94;var APF_CHANNEL_CLOSE=97;var APF_PROTOCOLVERSION=192;function lme_object(){this.ourId=++lme_id;this.amtId=-1;this.LME_CHANNEL_STATUS="LME_CS_FREE";this.txWindow=0;this.rxWindow=0;this.localPort=0;this.errorCount=0}function stream_bufferedWrite(){var a=require("events").inherits(this);this.buffer=[];this._readCheckImmediate=undefined;this._ObjectID="bufferedWriteStream";a.createEvent("close");a.createEvent("drain");a.createEvent("error");a.createEvent("finish");a.createEvent("pipe");a.createEvent("unpipe");a.createEvent("readable");this.isEmpty=function(){return(this.buffer.length==0)};this.isWaiting=function(){return(this._readCheckImmediate==undefined)};this.write=function(c){for(var b in arguments){if(typeof(arguments[b])=="function"){this.once("drain",arguments[b]);break}}var d=Buffer.alloc(c.length);c.copy(d);this.buffer.push({offset:0,data:d});this.emit("readable");return(this.buffer.length==0?true:false)};this.read=function(){var f=arguments.length==0?undefined:arguments[0];var b=0;var d=[];while((f==undefined||b0){var c=this.buffer[0].data.length-this.buffer[0].offset;var e=this.buffer[0].offset;if(c>(f-b)){d.push(this.buffer[0].data.slice(e,e+f-b));this.buffer[0].offset+=(f-b);b+=(f-b)}else{d.push(this.buffer[0].data.slice(e));b+=c;this.buffer.shift()}}this._readCheckImmediate=setImmediate(function(g){g._readCheckImmediate=undefined;if(g.buffer.length==0){g.emit("drain")}else{g.emit("readable")}},this);return(Buffer.concat(d))}}function lme_heci(c){var a=require("events").inherits(this);a.createEvent("error");a.createEvent("connect");a.createEvent("notify");a.createEvent("bind");if((c!=null)&&(c.debug==true)){lme_port_offset=-100}var b=require("heci");this.INITIAL_RXWINDOW_SIZE=4096;this._ObjectID="lme";this._LME=b.create();this._LME._binded={};this._LME.LMS=this;this._LME.on("error",function(d){this.LMS.emit("error",d)});this._LME.on("connect",function(){this.on("data",function(k){var l=k.readUInt8(0);switch(l){default:console.log("Unhandled LME Command "+l+", "+k.length+" byte(s).");break;case APF_SERVICE_REQUEST:var A=k.readUInt32BE(1);var z=k.slice(5,A+5);if(z=="pfwd@amt.intel.com"||z=="auth@amt.intel.com"){var G=Buffer.alloc(5+A);G.writeUInt8(6,0);G.writeUInt32BE(A,1);G.write(z.toString(),5);this.write(G)}else{}break;case APF_GLOBAL_REQUEST:var A=k.readUInt32BE(1);var z=k.slice(5,A+5).toString();switch(z){case"tcpip-forward":var w=k.readUInt32BE(A+6);var H=k.readUInt32BE(A+10+w);if(this[z]==undefined){this[z]={}}if(this[z][H]!=null){for(var t in this.sockets){var h=this.sockets[t];if(h.localPort==H){this.sockets[t].end();delete this.sockets[t]}}}if(this[z][H]==null){try{this[z][H]=require("net").createServer();this[z][H].HECI=this;if(lme_port_offset==0){this[z][H].listen({port:H,host:"127.0.0.1"})}else{this[z][H].listen({port:(H+lme_port_offset)})}this[z][H].on("connection",function(e){this.HECI.LMS.bindDuplexStream(e,e.remoteFamily,e.localPort-lme_port_offset)});this._binded[H]=true;this.LMS.emit("bind",this._binded)}catch(p){console.log(p,"Port "+H)}}var G=Buffer.alloc(5);G.writeUInt8(81,0);G.writeUInt32BE(H,1);this.write(G);break;case"cancel-tcpip-forward":var G=Buffer.alloc(1);G.writeUInt8(APF_REQUEST_SUCCESS,0);this.write(G);break;case"udp-send-to@amt.intel.com":var G=Buffer.alloc(1);G.writeUInt8(APF_REQUEST_FAILURE,0);this.write(G);break;default:break}break;case APF_CHANNEL_OPEN_CONFIRMATION:var J=k.readUInt32BE(1);var N=k.readUInt32BE(5);var O=k.readUInt32BE(9);if(this.sockets[J]!=undefined){this.sockets[J].lme.amtId=N;this.sockets[J].lme.rxWindow=O;this.sockets[J].lme.txWindow=O;this.sockets[J].lme.LME_CHANNEL_STATUS="LME_CS_CONNECTED";this.sockets[J].bufferedStream=new stream_bufferedWrite();this.sockets[J].bufferedStream.socket=this.sockets[J];this.sockets[J].bufferedStream.on("readable",function(){if(this.socket.lme.txWindow>0){var e=this.read(this.socket.lme.txWindow);var i=Buffer.alloc(9+e.length);i.writeUInt8(APF_CHANNEL_DATA,0);i.writeUInt32BE(this.socket.lme.amtId,1);i.writeUInt32BE(e.length,5);e.copy(i,9);this.socket.lme.txWindow-=e.length;this.socket.HECI.write(i)}});this.sockets[J].bufferedStream.on("drain",function(){this.socket.resume()});this.sockets[J].on("data",function(e){if(!this.bufferedStream.write(e)){this.pause()}});this.sockets[J].on("end",function(){var e=Buffer.alloc(5);e.writeUInt8(APF_CHANNEL_CLOSE,0);e.writeUInt32BE(this.lme.amtId,1);this.HECI.write(e)});this.sockets[J].resume()}break;case APF_PROTOCOLVERSION:var x=k.readUInt32BE(1);var y=k.readUInt32BE(5);var L=k.readUInt32BE(9);var G=Buffer.alloc(93);G.writeUInt8(192,0);G.writeUInt32BE(1,1);G.writeUInt32BE(0,5);G.writeUInt32BE(L,9);this.write(G);break;case APF_CHANNEL_WINDOW_ADJUST:var K=k.readUInt32BE(1);var g=k.readUInt32BE(5);if(this.sockets[K]!=undefined){this.sockets[K].lme.txWindow+=g;if(!this.sockets[K].bufferedStream.isEmpty()&&this.sockets[K].bufferedStream.isWaiting()){this.sockets[K].bufferedStream.emit("readable")}}else{console.log("Unknown Recipient ID/"+K+" for APF_CHANNEL_WINDOW_ADJUST")}break;case APF_CHANNEL_DATA:var K=k.readUInt32BE(1);var n=k.readUInt32BE(5);var m=k.slice(9,9+n);if((this.sockets!=null)&&(this.sockets[K]!=undefined)){this.sockets[K].pendingBytes.push(m.length);this.sockets[K].write(m,function(){var i=this.pendingBytes.shift();var e=Buffer.alloc(9);e.writeUInt8(APF_CHANNEL_WINDOW_ADJUST,0);e.writeUInt32BE(this.lme.amtId,1);e.writeUInt32BE(i,5);this.HECI.write(e)})}else{if((this.insockets!=null)&&(this.insockets[K]!=undefined)){var h=this.insockets[K];if(h.data==null){h.data=m.toString()}else{h.data+=m.toString()}h.rxWindow+=n;var s=parseHttp(h.data);if((s!=null)||(h.data.length>=8000)){var B=null;try{B=xmlParser.ParseWsman(s)}catch(o){}if(B!=null){this.LMS.emit("notify",B,h.options,_lmsNotifyToString(B),_lmsNotifyToCode(B))}var f=Buffer.alloc(5);f.writeUInt8(APF_CHANNEL_CLOSE,0);f.writeUInt32BE(d,1);this.write(f)}else{if(h.rxWindow>6000){var f=Buffer.alloc(9);f.writeUInt8(APF_CHANNEL_WINDOW_ADJUST,0);f.writeUInt32BE(h.amtId,1);f.writeUInt32BE(h.rxWindow,5);this.write(f);h.rxWindow=0}}}else{console.log("Unknown Recipient ID/"+K+" for APF_CHANNEL_DATA")}}break;case APF_CHANNEL_OPEN_FAILURE:var K=k.readUInt32BE(1);var M=k.readUInt32BE(5);if((this.sockets!=null)&&(this.sockets[K]!=undefined)){this.sockets[K].end();delete this.sockets[K]}else{if((this.insockets!=null)&&(this.insockets[K]!=undefined)){delete this.insockets[K]}else{console.log("Unknown Recipient ID/"+K+" for APF_CHANNEL_OPEN_FAILURE")}}break;case APF_CHANNEL_CLOSE:var K=k.readUInt32BE(1);if((this.sockets!=null)&&(this.sockets[K]!=undefined)){this.sockets[K].end();var d=this.sockets[K].lme.amtId;var f=Buffer.alloc(5);delete this.sockets[K];f.writeUInt8(APF_CHANNEL_CLOSE,0);f.writeUInt32BE(d,1);this.write(f)}else{if((this.insockets!=null)&&(this.insockets[K]!=undefined)){delete this.insockets[K]}else{console.log("Unknown Recipient ID/"+K+" for APF_CHANNEL_CLOSE")}}break;case APF_CHANNEL_OPEN:var A=k.readUInt32BE(1);var z=k.slice(5,A+5).toString();var j=k.readUInt32BE(A+5);var u=k.readUInt32BE(A+9);var r=k.readUInt32BE(A+17);var q=k.slice(A+21,A+21+r).toString();var I=k.readUInt32BE(A+21+r);var D=k.readUInt32BE(A+25+r);var C=k.slice(A+29+r,A+29+r+D).toString();var E=k.readUInt32BE(A+29+r+D);if(this.insockets==null){this.insockets={}}var F=++lme_id;var v=new lme_object();v.ourId=F;v.amtId=j;v.txWindow=u;v.rxWindow=0;v.options={target:q,targetPort:I,source:C,sourcePort:E};this.insockets[F]=v;var f=Buffer.alloc(17);f.writeUInt8(APF_CHANNEL_OPEN_CONFIRMATION,0);f.writeUInt32BE(j,1);f.writeUInt32BE(F,5);f.writeUInt32BE(4000,9);f.writeUInt32BE(4294967295,13);this.write(f);break}});this.LMS.emit("connect");this.resume()});this.bindDuplexStream=function(e,h,g){var j=e;j.pendingBytes=[];j.HECI=this._LME;j.LMS=this;j.lme=new lme_object();j.lme.Socket=j;j.localPort=g;var d=new MemoryStream();d.writeUInt8(90);d.writeUInt32BE(15);d.write("forwarded-tcpip");d.writeUInt32BE(j.lme.ourId);d.writeUInt32BE(this.INITIAL_RXWINDOW_SIZE);d.writeUInt32BE(4294967295);for(var f=0;f<2;++f){if(h=="IPv6"){d.writeUInt32BE(3);d.write("::1")}else{d.writeUInt32BE(9);d.write("127.0.0.1")}d.writeUInt32BE(g)}this._LME.write(d.buffer);if(this._LME.sockets==undefined){this._LME.sockets={}}this._LME.sockets[j.lme.ourId]=j;j.pause()};this._LME.connect(b.GUIDS.LME,{noPipeline:0})}function parseHttp(c){var d=c.indexOf("\r\n\r\n");if((d==-1)||(c.length<(d+2))){return null}var b=require("http-headers")(c.substring(0,d),true);var a=parseInt(b["content-length"]);if(c.length>=a+d+4){return c.substring(d+4,d+4+a)}return null}function _lmsNotifyToCode(c){if((c==null)||(c.Body==null)||(c.Body.MessageID==null)){return null}var b=c.Body.MessageID;try{b+="-"+c.Body.MessageArguments[0]}catch(a){}return b}function _lmsNotifyToString(c){if((c==null)||(c.Body==null)||(c.Body.MessageID==null)){return null}var b=c.Body.MessageID;try{b+="-"+c.Body.MessageArguments[0]}catch(a){}if(lmsEvents[b]){return lmsEvents[b]}return null}var lmsEvents={iAMT0001:"System Defense Policy %1s triggered.",iAMT0002:"Agent Presence Agent %1s not started.",iAMT0003:"Agent Presence Agent %1s stopped.",iAMT0004:"Agent Presence Agent %1s running.",iAMT0005:"Agent Presence Agent %1s expired.",iAMT0006:"Agent Presence Agent %1s suspended.",iAMT0007:"Host software attempt to disable AMT Network link detected.",iAMT0008:"Host software attempt to disable AMT Network link detected -- Host Network link blocked.",iAMT0009:"AMT clock or FLASH wear-out protection disabled.",iAMT0010:"Intel(R) AMT Network Interface %1s heuristics defense slow threshold trespassed.",iAMT0011:"Intel(R) AMT Network Interface %1s heuristics defense fast threshold trespassed.",iAMT0012:"Intel(R) AMT Network Interface %1s heuristics defense factory defined threshold trespassed.",iAMT0013:"Intel(R) AMT Network Interface %1s heuristics defense Encounter timeout expired.",iAMT0014:"General certificate error.",iAMT0015:"Certificate expired.",iAMT0016:"No trusted root certificate.",iAMT0017:"Not configured to work with server certificate.",iAMT0018:"Certificate revoked.",iAMT0019:"RSA exponent too large.",iAMT0020:"RSA modulus too large.",iAMT0021:"Unsupported digest.",iAMT0022:"Distinguished name too long.",iAMT0023:"Key usage missing.",iAMT0024:"General SSL handshake error.",iAMT0025:"General 802.1x error.",iAMT0026:"AMT Diagnostic AlertEAC error - General NAC error.",iAMT0027:"AMT Diagnostic AlertEAC error - attempt to get a NAC posture while AMT NAC is disabled.",iAMT0028:"AMT Diagnostic AlertEAC error - attempt to get a posture of an unsupported type.",iAMT0029:"Audit log storage is 50% full.",iAMT0030:"Audit log storage is 75% full.",iAMT0031:"Audit log storage is 85% full.",iAMT0032:"Audit log storage is 95% full.",iAMT0033:"Audit log storage is full.",iAMT0034:"Firmware Update Event - Partial.",iAMT0035:"Firmware Update Event - Failure.",iAMT0036:"Remote connectivity initiated.",iAMT0037:"ME Presence event.","iAMT0038-0":"AMT is being unprovisioned using BIOS command.","iAMT0038-1":"AMT is being unprovisioned using Local MEI command.","iAMT0038-2":"AMT is being unprovisioned using Local WS-MAN/SOAP command.","iAMT0038-3":"AMT is being unprovisioned using Remote WS-MAN/SOAP command.",iAMT0039:"HW Asset Error.",iAMT0050:"User Notification Alert - General Notification.","iAMT0050-16":"User Notification Alert - Circuit Breaker notification (CB Drop TX filter hit.).","iAMT0050-17":"User Notification Alert - Circuit Breaker notification (CB Rate Limit TX filter hit.).","iAMT0050-18":"User Notification Alert - Circuit Breaker notification (CB Drop RX filter hit.).","iAMT0050-19":"User Notification Alert - Circuit Breaker notification (CB Rate Limit RX filter hit.).","iAMT0050-32":"User Notification Alert - EAC notification.","iAMT0050-48":"User Notification Alert - Remote diagnostics - (Remote Redirection session started - SOL).","iAMT0050-49":"User Notification Alert - Remote diagnostics - (Remote Redirection session stopped - SOL).","iAMT0050-50":"User Notification Alert - Remote diagnostics. (Remote Redirection session started - IDE-R).","iAMT0050-51":"User Notification Alert - Remote diagnostics. (Remote Redirection session stopped - IDE-R).","iAMT0050-66":"User Notification Alert - WLAN notification (Host profile mismatch - Management Interface ignored).","iAMT0050-67":"User Notification Alert - WLAN notification (Management device overrides host radio).","iAMT0050-68":"User Notification Alert - WLAN notification (Host profile security mismatch).","iAMT0050-69":"User Notification Alert - WLAN notification (Management device relinquishes control over host Radio).",iAMT0051:"User Notification Alert - SecIo event.","iAMT0051-0":"User Notification Alert - SecIo event semaphore at host.","iAMT0051-1":"User Notification Alert - semaphore at ME.","iAMT0051-2":"User Notification Alert - SecIo event - semaphore timeout.",iAMT0052:"User Notification Alert - KVM session event.","iAMT0052-0":"User Notification Alert - KVM session requested.","iAMT0052-1":"User Notification Alert - KVM session started.","iAMT0052-2":"User Notification Alert - KVM session stopped.","iAMT0052-3":"User Notification Alert - KVM data channel.",iAMT0053:"User Notification Alert - RCS notification.","iAMT0053-50":"User Notification Alert - RCS notification (HW button pressed. Connection initiated automatically).","iAMT0053-52":"User Notification Alert - RCS notification (HW button pressed. Connection wasn't initiated automatically).","iAMT0053-53":"User Notification Alert - RCS notification (Contracts updated).",iAMT0054:"User Notification Alert - WLAN notification. Wireless Profile sync enablement state changed.",iAMT0055:"User Notification Alert - Provisioning state change notification.","iAMT0055-0":"User Notification Alert - Provisioning state change notification - Pre-configuration.","iAMT0055-1":"User Notification Alert - Provisioning state change notification - In configuration.","iAMT0055-2":"User Notification Alert - Provisioning state change notification - Post-configuration.","iAMT0055-3":"User Notification Alert - Provisioning state change notification - Unprovision process has started.",iAMT0056:"User Notification Alert - System Defense change notification.",iAMT0057:"User Notification Alert - Network State change notification.",iAMT0058:"User Notification Alert - Remote Access change notification.","iAMT0058-1":"User Notification Alert - Remote Access change notification - tunnel is closed.",iAMT0059:"User Notification Alert - KVM enabled event.","iAMT0059-0":"User Notification Alert - KVM enabled event - KVM disabled.","iAMT0059-1":"User Notification Alert - KVM enabled event - KVM enabled (both from MEBx and PTNI).",iAMT0060:"User Notification Alert - SecIO configuration event.",iAMT0061:"ME FW reset occurred.",iAMT0062:"User Notification Alert - IpSyncEnabled event.","iAMT0062-0":"User Notification Alert - IpSyncEnabled event - IpSync disabled.","iAMT0062-1":"User Notification Alert - IpSyncEnabled event - IpSync enabled.",iAMT0063:"User Notification Alert - HTTP Proxy sync enabled event.","iAMT0063-0":"User Notification Alert - HTTP Proxy sync enabled event - HTTP Proxy Sync disabled.","iAMT0063-1":"User Notification Alert - HTTP Proxy sync enabled event - HTTP Proxy Sync enabled.",iAMT0064:"User Notification Alert - User Consent event.","iAMT0064-1":"User Notification Alert - User Consent event - User Consent granted.","iAMT0064-2":"User Notification Alert - User Consent event - User Consent ended.","iAMT0067-0":"Graceful Remote Control Operation - Shutdown.","iAMT0067-1":"Graceful Remote Control Operation - Reset.","iAMT0067-2":"Graceful Remote Control Operation - Hibernate.","iAMT0068-0":"Link Protection Notification - No link protection.","iAMT0068-1":"Link Protection Notification - Passive link protection.","iAMT0068-2":"Link Protection Notification - High link protection.","iAMT0069-0":"Local Time Sync Enablement Notification - Local Time Sync Disabled.","iAMT0069-1":"Local Time Sync Enablement Notification - Local Time Sync Enabled.",iAMT0070:"Host Reset Triggered by WD Expiration Notification.",PLAT0004:"The chassis %1s was opened.",PLAT0005:"The chassis %1s was closed.",PLAT0006:"The drive bay %1s was opened.",PLAT0007:"The drive bay %1s was closed.",PLAT0008:"The I/O card area %1s was opened.",PLAT0009:"The I/O card area %1s was closed.",PLAT0010:"The processor area %1s was opened.",PLAT0011:"The processor area %1s was closed.",PLAT0012:"The LAN %1s has been disconnected.",PLAT0013:"The LAN %1s has been connected.",PLAT0016:"The permission to insert package %1s has been granted.",PLAT0017:"The permission to insert package %1s has been removed.",PLAT0018:"The fan card area %1s is open.",PLAT0019:"The fan card area %1s is closed.",PLAT0022:"The computer system %1s has detected a secure mode violation.",PLAT0024:"The computer system %1s has detected a pre-boot user password violation.",PLAT0026:"The computer system %1s has detected a pre-boot setup password violation.",PLAT0028:"The computer system %1s has detected a network boot password violation.",PLAT0030:"The computer system %1s has detected a password violation.",PLAT0032:"The management controller %1s has detected an out-of-band password violation.",PLAT0034:"The processor %1s has been added.",PLAT0035:"The processor %1s has been removed.",PLAT0036:"An over-temperature condition has been detected on the processor %1s.",PLAT0037:"An over-temperature condition has been removed on the processor %1s.",PLAT0038:"The processor %1s is operating in a degraded State.",PLAT0039:"The processor %1s is no longer operating in a degraded State.",PLAT0040:"The processor %1s has failed.",PLAT0042:"The processor %1s has failed.",PLAT0044:"The processor %1s has failed.",PLAT0046:"The processor %1s has failed.",PLAT0048:"The processor %1s has failed.",PLAT0060:"The processor %1s has been enabled.",PLAT0061:"The processor %1s has been disabled.",PLAT0062:"The processor %1s has a configuration mismatch.",PLAT0064:"A terminator has been detected on the processor %1s.",PLAT0084:"The Power Supply %1s has been added.",PLAT0085:"The Power Supply %1s has been removed.",PLAT0086:"The Power Supply %1s has failed.",PLAT0088:"Failure predicted on power supply %1s.",PLAT0096:"The input to power supply %1s has been lost or fallen out of range.",PLAT0098:"The power supply %1s is operating in an input state that is out of range.",PLAT0099:"The power supply %1s has returned to a normal input state.",PLAT0100:"The power supply %1s has lost input.",PLAT0104:"The power supply %1s has a configuration mismatch.",PLAT0106:"Power supply %1s has been disabled.",PLAT0107:"Power supply %1s has been enabled.",PLAT0108:"Power supply %1s has been power cycled.",PLAT0110:"Power supply %1s has encountered an error during power down.",PLAT0112:"Power supply %1s has lost power.",PLAT0114:"Soft power control has failed for power supply %1s.",PLAT0116:"Power supply %1s has failed.",PLAT0118:"Failure predicted on power supply %1s.",PLAT0120:"Memory subsystem failure.",PLAT0122:"DIMM missing.",PLAT0124:"Memory error detected & corrected for DIMM %1s.",PLAT0128:"Memory DIMM %1s added.",PLAT0129:"Memory DIMM %1s removed.",PLAT0130:"Memory DIMM %1s enabled.",PLAT0131:"Memory DIMM %1s disabled.",PLAT0134:"Memory parity error for DIMM %1s.",PLAT0136:"Memory scrub failure for DIMM %1s.",PLAT0138:"Memory uncorrectable error detected for DIMM %1s.",PLAT0140:"Memory sparing initiated for DIMM %1s.",PLAT0141:"Memory sparing concluded for DIMM %1s.",PLAT0142:"Memory DIMM %1s Throttled.",PLAT0144:"Memory logging limit reached for DIMM %1s.",PLAT0145:"Memory logging limit removed for DIMM %1s.",PLAT0146:"An over-temperature condition has been detected on the Memory DIMM %1s.",PLAT0147:"An over-temperature condition has been removed on the Memory DIMM %1s.",PLAT0162:"The drive %1s has been added.",PLAT0163:"The drive %1s has been removed.",PLAT0164:"The drive %1s has been disabled due to a detected fault.",PLAT0167:"The drive %1s has been enabled.",PLAT0168:"Failure predicted on drive %1s.",PLAT0170:"Hot spare enabled for %1s.",PLAT0171:"Hot spare disabled for %1s.",PLAT0172:"Consistency check has begun for %1s.",PLAT0173:"Consistency check completed for %1s.",PLAT0174:"Array %1s is in critical condition.",PLAT0176:"Array %1s has failed.",PLAT0177:"Array %1s has been restored.",PLAT0178:"Rebuild in progress for array %1s.",PLAT0179:"Rebuild completed for array %1s.",PLAT0180:"Rebuild Aborted for array %1s.",PLAT0184:"The system %1s encountered a POST error.",PLAT0186:"The system %1s encountered a firmware hang.",PLAT0188:"The system %1s encountered firmware progress.",PLAT0192:"The log %1s has been disabled.",PLAT0193:"The log %1s has been enabled.",PLAT0194:"The log %1s has been disabled.",PLAT0195:"The log %1s has been enabled.",PLAT0196:"The log %1s has been disabled.",PLAT0198:"The log %1s has been enabled.",PLAT0200:"The log %1s has been cleared.",PLAT0202:"The log %1s is full.",PLAT0203:"The log %1s is no longer full.",PLAT0204:"The log %1s is almost full.",PLAT0208:"The log %1s has a configuration error.",PLAT0210:"The system %1s has been reconfigured.",PLAT0212:"The system %1s has encountered an OEM system boot event.",PLAT0214:"The system %1s has encountered an unknown system hardware fault.",PLAT0216:"The system %1s has generated an auxiliary log entry.",PLAT0218:"The system %1s has executed a PEF action.",PLAT0220:"The system %1s has synchronized the system clock.",PLAT0222:"A diagnostic interrupt has occurred on system %1s.",PLAT0224:"A bus timeout has occurred on system %1s.",PLAT0226:"An I/O channel check NMI has occurred on system %1s.",PLAT0228:"A software NMI has occurred on system %1s.",PLAT0230:"System %1s has recovered from an NMI.",PLAT0232:"A PCI PERR has occurred on system %1s.",PLAT0234:"A PCI SERR has occurred on system %1s.",PLAT0236:"An EISA fail safe timeout occurred on system %1s.",PLAT0238:"A correctable bus error has occurred on system %1s.",PLAT0240:"An uncorrectable bus error has occurred on system %1s.",PLAT0242:"A fatal NMI error has occurred on system %1s.",PLAT0244:"A fatal bus error has occurred on system %1s.",PLAT0246:"A bus on system %1s is operating in a degraded state.",PLAT0247:"A bus on system %1s is no longer operating in a degraded state.",PLAT0248:"The power button %1s has been pressed.",PLAT0249:"The power button %1s has been released.",PLAT0250:"The sleep button %1s has been pressed.",PLAT0251:"The sleep button %1s has been released.",PLAT0252:"The reset button %1s has been pressed.",PLAT0253:"The reset button %1s has been released.",PLAT0254:"The latch to %1s has been opened.",PLAT0255:"The latch to %1s has been closed.",PLAT0256:"The service request %1s has been enabled.",PLAT0257:"The service request %1s has been completed.",PLAT0258:"Power control of system %1s has failed.",PLAT0262:"The network port %1s has been connected.",PLAT0263:"The network port %1s has been disconnected.",PLAT0266:"The connector %1s has encountered a configuration error.",PLAT0267:"The connector %1s configuration error has been repaired.",PLAT0272:"Power on for system %1s.",PLAT0274:"Power cycle hard requested for system %1s.",PLAT0276:"Power cycle soft requested for system %1s.",PLAT0278:"PXE boot requested for system %1s.",PLAT0280:"Diagnostics boot requested for system %1s.",PLAT0282:"System restart requested for system %1s.",PLAT0284:"System restart begun for system %1s.",PLAT0286:"No bootable media available for system %1s.",PLAT0288:"Non-bootable media selected for system %1s.",PLAT0290:"PXE server not found for system %1s.",PLAT0292:"User timeout on boot for system %1s.",PLAT0296:"System %1s boot from floppy initiated.",PLAT0298:"System %1s boot from local drive initiated.",PLAT0300:"System %1s boot from PXE on network port initiated.",PLAT0302:"System %1s boot diagnostics initiated.",PLAT0304:"System %1s boot from CD initiated.",PLAT0306:"System %1s boot from ROM initiated.",PLAT0312:"System %1s boot initiated.",PLAT0320:"Critical stop during OS load on system %1s.",PLAT0322:"Run-time critical stop on system %1s.",PLAT0324:"OS graceful stop on system %1s.",PLAT0326:"OS graceful shutdown begun on system %1s.",PLAT0327:"OS graceful shutdown completed on system %1s.",PLAT0328:"Agent not responding on system %1s.",PLAT0329:"Agent has begun responding on system %1s.",PLAT0330:"Fault in slot on system %1s.",PLAT0331:"Fault condition removed on system %1s.",PLAT0332:"Identifying slot on system %1s.",PLAT0333:"Identify stopped on slot for system %1s.",PLAT0334:"Package installed in slot for system %1s.",PLAT0336:"Slot empty system %1s.",PLAT0338:"Slot in system %1s is ready for installation.",PLAT0340:"Slot in system %1s is ready for removal.",PLAT0342:"Power is off on slot of system %1s.",PLAT0344:"Power is on for slot of system %1s.",PLAT0346:"Removal requested for slot of system %1s.",PLAT0348:"Interlock activated on slot of system %1s.",PLAT0349:"Interlock de-asserted on slot of system %1s.",PLAT0350:"Slot disabled on system %1s.",PLAT0351:"Slot enabled on system %1s.",PLAT0352:"Slot of system %1s holds spare.",PLAT0353:"Slot of system %1s no longer holds spare.",PLAT0354:"Computer system %1s enabled.",PLAT0356:"Computer system %1s is in sleep - light mode.",PLAT0358:"Computer system %1s is in hibernate.",PLAT0360:"Computer system %1s is in standby.",PLAT0362:"Computer system %1s is in soft off mode.",PLAT0364:"Computer system %1s is in hard off mode.",PLAT0366:"Computer system %1s is sleeping.",PLAT0368:"Watchdog timer expired for %1s.",PLAT0370:"Reboot of system initiated by watchdog %1s.",PLAT0372:"Powering off system initiated by watchdog %1s.",PLAT0374:"Power cycle of system initiated by watchdog %1s.",PLAT0376:"Watchdog timer interrupt occurred for %1s.",PLAT0378:"A page alert has been generated for system %1s.",PLAT0380:"A LAN alert has been generated for system %1s.",PLAT0382:"An event trap has been generated for system %1s.",PLAT0384:"An SNMP trap has been generated for system %1s.",PLAT0390:"%1s detected as present.",PLAT0392:"%1s detected as absent.",PLAT0394:"%1s has been disabled.",PLAT0395:"%1s has been enabled.",PLAT0396:"Heartbeat lost for LAN %1s.",PLAT0397:"Heartbeat detected for LAN %1s.",PLAT0398:"Sensor %1s is unavailable or degraded on management system.",PLAT0399:"Sensor %1s has returned to normal on management system.",PLAT0400:"Controller %1s is unavailable or degraded on management system.",PLAT0401:"Controller %1s has returned to normal on management system.",PLAT0402:"Management system %1s is off-line.",PLAT0404:"Management system %1s is disabled.",PLAT0405:"Management system %1s is enabled.",PLAT0406:"Sensor %1s has failed on management system.",PLAT0408:"FRU %1s has failed on management system.",PLAT0424:"The battery %1s is critically low.",PLAT0427:"The battery %1s is no longer critically low.",PLAT0430:"The battery %1s has been removed from unit.",PLAT0431:"The battery %1s has been added.",PLAT0432:"The battery %1s has failed.",PLAT0434:"Session audit is deactivated on system %1s.",PLAT0435:"Session audit is activated on system %1s.",PLAT0436:"A hardware change occurred on system %1s.",PLAT0438:"A firmware or software change occurred on system %1s.",PLAT0440:"A hardware incompatibility was detected on system %1s.",PLAT0442:"A firmware or software incompatibility was detected on system %1s.",PLAT0444:"Invalid or unsupported hardware was detected on system %1s.",PLAT0446:"Invalid or unsupported firmware or software was detected on system %1s.",PLAT0448:"A successful hardware change was detected on system %1s.",PLAT0450:"A successful software or firmware change was detected on system %1s.",PLAT0464:"FRU %1s not installed on system.",PLAT0465:"FRU %1s installed on system.",PLAT0466:"Activation requested for FRU %1s on system.",PLAT0467:"FRU %1s on system is active.",PLAT0468:"Activation in progress for FRU %1s on system.",PLAT0470:"Deactivation request for FRU %1s on system.",PLAT0471:'FRU %1s on system is in standby or "hot spare" state.',PLAT0472:"Deactivation in progress for FRU %1s on system.",PLAT0474:"Communication lost with FRU %1s on system.",PLAT0476:"Numeric sensor %1s going low (lower non-critical).",PLAT0478:"Numeric sensor %1s going high (lower non-critical).",PLAT0480:"Numeric sensor %1s going low (lower critical).",PLAT0482:"Numeric sensor %1s going high (lower critical).",PLAT0484:"Numeric sensor %1s going low (lower non-recoverable).",PLAT0486:"Numeric sensor %1s going high (lower non-critical).",PLAT0488:"Numeric sensor %1s going low (upper non-critical).",PLAT0490:"Numeric sensor %1s going high (upper non-critical).",PLAT0492:"Numeric sensor %1s going low (upper critical).",PLAT0494:"Numeric sensor %1s going high (upper critical).",PLAT0496:"Numeric sensor %1s going low (upper non-recoverable).",PLAT0498:"Numeric sensor %1s going high (upper non-recoverable).",PLAT0500:"Sensor %1s has transitioned to idle.",PLAT0502:"Sensor %1s has transitioned to active.",PLAT0504:"Sensor %1s has transitioned to busy.",PLAT0508:"Sensor %1s has asserted.",PLAT0509:"Sensor %1s has de-asserted.",PLAT0510:"Sensor %1s is asserting predictive failure.",PLAT0511:"Sensor %1s is de-asserting predictive failure.",PLAT0512:"Sensor %1s has indicated limit exceeded.",PLAT0513:"Sensor %1s has indicated limit no longer exceeded.",PLAT0514:"Sensor %1s has indicated performance met.",PLAT0516:"Sensor %1s has indicated performance lags.",PLAT0518:"Sensor %1s has transitioned to normal state.",PLAT0520:"Sensor %1s has transitioned from normal to non-critical state.",PLAT0522:"Sensor %1s has transitioned to critical from a less severe state.",PLAT0524:"Sensor %1s has transitioned to non-recoverable from a less severe state.",PLAT0526:"Sensor %1s has transitioned to non-critical from a more severe state.",PLAT0528:"Sensor %1s has transitioned to critical from a non-recoverable state.",PLAT0530:"Sensor %1s has transitioned to non-recoverable.",PLAT0532:"Sensor %1s indicates a monitor state.",PLAT0534:"Sensor %1s has an informational state.",PLAT0536:"Device %1s has been added.",PLAT0537:"Device %1s has been removed from unit.",PLAT0538:"Device %1s has been enabled.",PLAT0539:"Device %1s has been disabled.",PLAT0540:"Sensor %1s has indicated a running state.",PLAT0544:"Sensor %1s has indicated a power off state.",PLAT0546:"Sensor %1s has indicated an on-line state.",PLAT0548:"Sensor %1s has indicated an off-line state.",PLAT0550:"Sensor %1s has indicated an off-duty state.",PLAT0552:"Sensor %1s has indicated a degraded state.",PLAT0554:"Sensor %1s has indicated a power save state.",PLAT0556:"Sensor %1s has indicated an install error.",PLAT0558:"Redundancy %1s has been lost.",PLAT0560:"Redundancy %1s has been reduced.",PLAT0561:"Redundancy %1s has been restored.",PLAT0562:"%1s has transitioned to a D0 power state.",PLAT0564:"%1s has transitioned to a D1 power state.",PLAT0566:"%1s has transitioned to a D2 power state.",PLAT0568:"%1s has transitioned to a D3 power state.",PLAT0720:"The System %1s encountered firmware progress - memory initialization entry.",PLAT0721:"The System %1s encountered firmware progress - memory initialization exit.",PLAT0722:"The System %1s encountered firmware progress - hard drive initialization entry.",PLAT0723:"The System %1s encountered firmware progress - hard drive initialization exit.",PLAT0724:"The System %1s encountered firmware progress - user authentication.",PLAT0728:"The System %1s encountered firmware progress - USR resource configuration entry.",PLAT0729:"The System %1s encountered firmware progress - USR resource configuration exit.",PLAT0730:"The System %1s encountered firmware progress - PCI recource configuration entry.",PLAT0731:"The System %1s encountered firmware progress - PCI recource configuration exit.",PLAT0732:"The System %1s encountered firmware progress - Option ROM initialization entry.",PLAT0733:"The System %1s encountered firmware progress - Option ROM initialization entry exit.",PLAT0734:"The System %1s encountered firmware progress -video initialization entry entry.",PLAT0735:"The System %1s encountered firmware progress - video initialization entry exit.",PLAT0736:"The System %1s encountered firmware progress - cache initialization entry.",PLAT0737:"The System %1s encountered firmware progress - cache initialization exit.",PLAT0738:"The System %1s encountered firmware progress - keyboard controller initialization entry.",PLAT0739:"The System %1s encountered firmware progress - keyboard controller initialization exit.",PLAT0740:"The System %1s encountered firmware progress - motherboard initialization entry.",PLAT0741:"The System %1s encountered firmware progress - motherboard initialization exit.",PLAT0742:"The System %1s encountered firmware progress - floppy disk initialization entry.",PLAT0743:"The System %1s encountered firmware progress - floppy disk initialization exit.",PLAT0744:"The System %1s encountered firmware progress - keyboard test entry.",PLAT0745:"The System %1s encountered firmware progress - keyboard test exit.",PLAT0746:"The System %1s encountered firmware progress - pointing device test entry.",PLAT0747:"The System %1s encountered firmware progress - pointing device test exit.",PLAT0750:"The System %1s encountered firmware progress - dock enable entry.",PLAT0751:"The System %1s encountered firmware progress - dock enable exit.",PLAT0752:"The System %1s encountered firmware progress - dock disable entry.",PLAT0753:"The System %1s encountered firmware progress - dock disable exit.",PLAT0760:"The System %1s encountered firmware progress - start OS boot process.",PLAT0762:"The System %1s encountered firmware progress - call OS wake vector.",PLAT0764:"The System %1s encountered firmware progress - unrecoverable keyboard failure.",PLAT0766:"The System %1s encountered firmware progress - no video device detected.",PLAT0768:"The System %1s encountered firmware progress - SMART alert detected on drive.",PLAT0770:"The System %1s encountered firmware progress - unrecoverable boot device failure.",PLAT0789:"Corrupt BIOS detected.",PLAT0790:"The System %1s encountered PCI configuration failure.",PLAT0791:"The System %1s encountered a video subsystem failure.",PLAT0792:"The System %1s encountered a storage subsystem failure.",PLAT0793:"The System %1s encountered a USB subsystem failure.",PLAT0794:"The System %1s has detected no memory in the system.",PLAT0795:"The System %1s encountered a motherboard failure.",PLAT0796:"The System %1s encountered a memory Regulator Voltage Bad.",PLAT0797:"%1s PCI reset is not deasserting.",PLAT0798:"%1s Non-Motherboard Regulator Failure.",PLAT0799:"%1s Power Supply Cable failure.",PLAT0800:"%1s Motherboard regulator failure.",PLAT0801:"%1s System component compatibility mismatch."};module.exports=lme_heci; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt-mei.min.js b/agents/modules_meshcmd_min/amt-mei.min.js new file mode 100644 index 00000000..840cb662 --- /dev/null +++ b/agents/modules_meshcmd_min/amt-mei.min.js @@ -0,0 +1 @@ +var Q=require("queue");function amt_heci(){var d=require("events").inherits(this);d.createEvent("error");var u=require("heci");var y=function(F){try{require("MeshAgent").SendCommand({action:"msg",type:"console",value:F})}catch(E){}};this._ObjectID="pthi";this._rq=new Q();this._setupPTHI=function b(){this._amt=u.create();this._amt.BiosVersionLen=65;this._amt.UnicodeStringLen=20;this._amt.Parent=this;this._amt.on("error",function F(H){if(this.Parent._rq.isEmpty()){this.Parent.emit("error",H)}else{var J=this.Parent._rq.deQueue();var I=J.optional;var G=J.func;I.unshift({Status:-1});G.apply(this.Parent,I);if(!this.Parent._rq.isEmpty()){this.connect(u.GUIDS.AMT,{noPipeline:1})}}});this._amt.on("connect",function E(){this.on("data",function G(I){var J=this.Parent.getCommand(I);var L=this.Parent._rq.deQueue();var K=L.optional;var H=L.func;K.unshift(J);H.apply(this.Parent,K);if(this.Parent._rq.isEmpty()){this.Parent._amt.disconnect();this.Parent._amt=null}else{this.write(this.Parent._rq.peekQueue().send)}});this.write(this.Parent._rq.peekQueue().send)})};function B(E){var F=E.indexOf("\0");if(F>=0){return E.substring(0,F)}else{return E}}this.getCommand=function g(E){var F=E.length==0?(this._rq.peekQueue().cmd|8388608):E.readUInt32LE(4);var G={IsResponse:(F&8388608)==8388608?true:false,Command:(F&8388607),Status:E.length!=0?E.readUInt32LE(12):-1,Data:E.length!=0?E.slice(16):null};return(G)};this.sendCommand=function x(){if(arguments.length<3||typeof(arguments[0])!="number"||typeof(arguments[1])!="object"||typeof(arguments[2])!="function"){throw ("invalid parameters")}var E=[];for(var G=3;G0){N.BiosVersion=N.BiosVersion.substring(0,N.BiosVersion.indexOf("\0"))}L.unshift(N)}else{L.unshift(null)}I.apply(this,L)},E,G)};function D(G,F){if((F==null)&&(typeof(F)!="number")){return null}if(G==null){G=""}var H="";for(var E=0;E0){J.unshift(I.Data.slice(2,2+K).toString())}else{J.unshift(null)}}else{J.unshift(null)}H.apply(this,J)},E,G)};this.getHashHandles=function k(E){var G=[];for(var F=1;F0){this.getCertHashEntry(G.shift(),this._getHashEntrySink,F,H,E,G)}else{H.unshift(E);F.apply(this,H)}};this.getLocalSystemAccount=function m(E){var G=[];for(var F=1;F>24)&255)+"."+((K>>16)&255)+"."+((K>>8)&255)+"."+(K&255);O.unshift(N);L.apply(this,O)}else{O.unshift(null);L.apply(this,O)}},E,J)};this.unprovision=function C(H,E){var I=[];for(var G=2;G=0){b.xxSend(String.fromCharCode(19,0,0,0,4)+IntToStrX(b.user.length+b.authuri.length+8)+String.fromCharCode(b.user.length)+b.user+String.fromCharCode(0,0)+String.fromCharCode(b.authuri.length)+b.authuri+String.fromCharCode(0,0,0,0))}else{if(d.indexOf(3)>=0){b.xxSend(String.fromCharCode(19,0,0,0,3)+IntToStrX(b.user.length+b.authuri.length+7)+String.fromCharCode(b.user.length)+b.user+String.fromCharCode(0,0)+String.fromCharCode(b.authuri.length)+b.authuri+String.fromCharCode(0,0,0))}else{if(d.indexOf(1)>=0){b.xxSend(String.fromCharCode(19,0,0,0,1)+IntToStrX(b.user.length+b.pass.length+2)+String.fromCharCode(b.user.length)+b.user+String.fromCharCode(b.pass.length)+b.pass)}else{b.Stop()}}}}else{if((g==3||g==4)&&y==1){var m=0;var w=e[m];var v=e.slice(m+1,m+1+w).toString();m+=(w+1);if(b.digestRealmMatch&&(b.digestRealmMatch!=v)){b.Stop();return}var r=e[m];var q=e.slice(m+1,m+1+r).toString();m+=(r+1);var u=0;var t=null;var k=b.xxRandomValueHex(32);var x="00000002";var p="";if(g==4){u=e[m];t=e.slice(m+1,m+1+u).toString();m+=(u+1);p=x+":"+k+":"+t+":"}var o=hex_md5(hex_md5(b.user+":"+v+":"+b.pass)+":"+q+":"+p+hex_md5("POST:"+b.authuri));var A=b.user.length+v.length+q.length+b.authuri.length+k.length+x.length+o.length+7;if(g==4){A+=(t.length+1)}var h=Buffer.concat([new Buffer([19,0,0,0,g]),new Buffer([A&255,(A>>8)&255,0,0]),new Buffer([b.user.length]),new Buffer(b.user),new Buffer([v.length]),new Buffer(v),new Buffer([q.length]),new Buffer(q),new Buffer([b.authuri.length]),new Buffer(b.authuri),new Buffer([k.length]),new Buffer(k),new Buffer([x.length]),new Buffer(x),new Buffer([o.length]),new Buffer(o)]);if(g==4){h=Buffer.concat([h,new Buffer([t.length]),new Buffer(t)])}b.xxSend(h)}else{if(y==0){if(b.protocol==1){}if(b.protocol==2){b.xxSend(new Buffer([64,0,0,0,0,0,0,0]))}if(b.protocol==3){b.connectstate=1;b.xxStateChange(3)}}else{b.Stop()}}}break;case 33:if(b.amtaccumulator.length<23){break}j=23;b.xxSend(String.fromCharCode(39,0,0,0)+ToIntStr(b.amtsequence++)+String.fromCharCode(0,0,27,0,0,0));if(b.protocol==1){b.amtkeepalivetimer=setInterval(b.xxSendAmtKeepAlive,2000)}b.connectstate=1;b.xxStateChange(3);break;case 41:if(b.amtaccumulator.length<10){break}j=10;break;case 42:if(b.amtaccumulator.length<10){break}var l=(10+((b.amtaccumulator[9]&255)<<8)+(b.amtaccumulator[8]&255));if(b.amtaccumulator.length8){b.m.ProcessData(b.amtaccumulator.substring(8))}j=b.amtaccumulator.length;break;default:console.log("Unknown Intel AMT command: "+b.amtaccumulator[0]+" acclen="+b.amtaccumulator.length);b.Stop();return}if(j==0){return}if(j==b.amtaccumulator.length){b.amtaccumulator=null}else{b.amtaccumulator=b.amtaccumulator.slice(j)}}};b.xxSend=function(d){if(c&&c.redirtrace){console.log("REDIR-SEND("+d.length+"): "+rstr2hex(d))}if(typeof d=="string"){b.socket.write(new Buffer(d,"binary"))}else{b.socket.write(d)}};b.Send=function(d){if(b.socket==null||b.connectstate!=1){return}if(b.protocol==1){b.xxSend(String.fromCharCode(40,0,0,0)+ToIntStr(b.amtsequence++)+ToShortStr(d.length)+d)}else{b.xxSend(d)}};b.xxSendAmtKeepAlive=function(){if(b.socket==null){return}b.xxSend(String.fromCharCode(43,0,0,0)+ToIntStr(b.amtsequence++))};b.xxRandomValueHex=function(f){var g=[],e=Math.floor(f/2);for(var d=0;d>8)&255),((a>>16)&255),((a>>24)&255))}function ToShortStr(a){return String.fromCharCode((a&255),((a>>8)&255))}function ShortToStr(a){return String.fromCharCode((a>>8)&255,a&255)}function ShortToStrX(a){return String.fromCharCode(a&255,(a>>8)&255)}function IntToStr(a){return String.fromCharCode((a>>24)&255,(a>>16)&255,(a>>8)&255,a&255)}function IntToStrX(a){return String.fromCharCode(a&255,(a>>8)&255,(a>>16)&255,(a>>24)&255)}var md5hasher=require("MD5Stream").create();function hex_md5(b){return md5hasher.syncHash(b).toString("hex").toLowerCase()}; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt-scanner.min.js b/agents/modules_meshcmd_min/amt-scanner.min.js new file mode 100644 index 00000000..0de77528 --- /dev/null +++ b/agents/modules_meshcmd_min/amt-scanner.min.js @@ -0,0 +1 @@ +function AMTScanner(){var a=require("events").inherits(this);a.createEvent("found");this.dgram=require("dgram");this.buildRmcpPing=function(c){var b=Buffer.from("06000006000011BE80000000","hex");b[9]=c;return b};this.parseRmcpPacket=function(h,b,g,d){if(b==null||b.length<20){return}var f={};if(((b[12]==0)||(b[13]!=0)||(b[14]!=1)||(b[15]!=87))&&(b[21]&32)){f.servertag=b[9];f.minorVersion=b[18]&15;f.majorVersion=(b[18]>>4)&15;f.provisioningState=b[19]&3;var e=(b[16]*256)+b[17];var c=((b[19]&4)!=0)?true:false;f.openPorts=[e];f.address=g.address;if(c==true){f.openPorts=[16992,16993]}if(d!==undefined){d(h,f)}}};this.parseIPv4Range=function(f){if(f==undefined||f==null){return null}var g=f.split("-");if(g.length==2){return{min:this.parseIpv4Addr(g[0]),max:this.parseIpv4Addr(g[1])}}g=f.split("/");if(g.length==2){var c=this.parseIpv4Addr(g[0]),e=parseInt(g[1]),d=0;if(e<=16||e>32){return null}e=32-e;for(var b=0;b>24)&255)+"."+((b>>16)&255)+"."+((b>>8)&255)+"."+(b&255)};this.scan=function(e,h,b){var d=this.parseIPv4Range(e);var f=this.buildRmcpPing(0);var g=this.dgram.createSocket({type:"udp4"});g.parent=this;g.scanResults=[];g.on("error",function(j){console.log("Error:"+j)});g.on("message",function(j,k){if(k.size>4){this.parent.parseRmcpPacket(this,j,k,function(m,l){m.scanResults.push(l)})}});g.on("listening",function(){for(var j=d.min;j<=d.max;j++){g.send(f,623,g.parent.IPv4NumToStr(j))}});g.bind({address:"0.0.0.0",port:0,exclusive:true});var i=setTimeout(function c(){g.close();if(b){b(g.scanResults)}g.parent.emit("found",g.scanResults);delete g},h)}}module.exports=AMTScanner; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt-script.min.js b/agents/modules_meshcmd_min/amt-script.min.js new file mode 100644 index 00000000..62a1a11e --- /dev/null +++ b/agents/modules_meshcmd_min/amt-script.min.js @@ -0,0 +1 @@ +script_functionTable1=["nop","jump","set","print","dialog","getitem","substr","indexof","split","join","length","jsonparse","jsonstr","add","substract","parseint","wsbatchenum","wsput","wscreate","wsdelete","wsexec","scriptspeed","wssubscribe","wsunsubscribe","readchar","signwithdummyca"];script_functionTable2=["encodeuri","decodeuri","passwordcheck","atob","btoa","hex2str","str2hex","random","md5","maketoarray","readshort","readshortx","readint","readsint","readintx","shorttostr","shorttostrx","inttostr","inttostrx"];script_functionTableX2=[encodeURI,decodeURI,passwordcheck,atob,btoa,hex2rstr,rstr2hex,random,rstr_md5,MakeToArray,ReadShort,ReadShortX,ReadInt,ReadSInt,ReadIntX,ShortToStr,ShortToStrX,IntToStr,IntToStrX];function MakeToArray(a){if(!a||a==null||typeof a=="object"){return a}return[a]}function ReadShort(b,a){return(b[a]<<8)+b[a+1]}function ReadShortX(b,a){return(b[a+1]<<8)+b[a]}function ReadInt(b,a){return(b[a]*16777216)+(b[a+1]<<16)+(b[a+2]<<8)+b[a+3]}function ReadSInt(b,a){return(b[a]<<24)+(b[a+1]<<16)+(b[a+2]<<8)+b[a+3]}function ReadIntX(b,a){return(b[a+3]*16777216)+(b[a+2]<<16)+(b[a+1]<<8)+b[a]}function ShortToStr(a){return String.fromCharCode((a>>8)&255,a&255)}function ShortToStrX(a){return String.fromCharCode(a&255,(a>>8)&255)}function IntToStr(a){return String.fromCharCode((a>>24)&255,(a>>16)&255,(a>>8)&255,a&255)}function IntToStrX(a){return String.fromCharCode(a&255,(a>>8)&255,(a>>16)&255,(a>>24)&255)}function btoa(a){return Buffer.from(a).toString("base64")}function atob(b){var c=null;try{c=Buffer.from(b,"base64").toString()}catch(a){console.log(a)}return c}function passwordcheck(g){if(g.length<8){return false}var h=0,d=0,f=0,e=0;for(var b in g){var a=g.charCodeAt(b);if((a>64)&&(a<91)){h=1}else{if((a>96)&&(a<123)){d=1}else{if((a>47)&&(a<58)){f=1}else{e=1}}}}return((h+d+f+e)==4)}function hex2rstr(a){Buffer.from(a,"hex").toString()}function rstr2hex(a){Buffer.from(a).toString("hex")}function random(){return Math.floor(Math.random()*max)}function rstr_md5(a){return hex2rstr(hex_md5(a))}function getItem(b,c,d){for(var a in b){if(b[a][c]==d){return b[a]}}return null}var httpErrorTable={200:"OK",401:"Authentication Error",408:"Timeout Error",601:"WSMAN Parsing Error",602:"Unable to parse HTTP response header",603:"Unexpected HTTP enum response",604:"Unexpected HTTP pull response",998:"Invalid TLS certificate"};module.exports.setup=function(a,c){var b={startvars:c,onCompleted:null};if(a.length<6){console.error("Invalid script length");return null}if(ReadInt(a,0)!=612182341){console.error("Invalid binary script");return null}if(ReadShort(a,4)>1){console.error("Unsupported script version");return null}b.script=a.slice(6);b.reset=function(d){b.stop();b.ip=0;b.variables=c;b.state=1};b.start=function(d){b.stop();if(d==null){b.stepspeed=10}else{b.stepspeed=d}if(b.stepspeed>0){b.timer=setInterval(function(){b.step()},b.stepspeed)}};b.stop=function(){if(b.timer!=null){clearInterval(b.timer)}b.timer=null;b.stepspeed=0};b.getVar=function(d){if(d==undefined){return undefined}return b.getVarEx(d.split("."),b.variables)};b.getVarEx=function(f,g){try{if(f==undefined){return undefined}if(f.length==0){return g}return b.getVarEx(f.slice(1),g[f[0]])}catch(d){return null}};b.setVar=function(d,e){b.setVarEx(d.split("."),b.variables,e)};b.setVarEx=function(d,f,e){if(d.length==1){f[d[0]]=e}else{b.setVarEx(d.slice(1),f[d[0]],e)}};b.step=function(){if(b.state!=1){return}if(b.ip1){var r=l.split("{").pop().split("}").shift();l=l.replace("{"+r+"}",b.getVar(r))}}if(k==1){b.variables["__"+p]=decodeURI(l);l="__"+p}h.push(l)}if(k==2||k==3){b.variables["__"+p]=ReadSInt(l,0);h.push("__"+p)}g+=(2+f)}b.ip+=n;var j=[];for(var p=0;p<10;p++){j.push(b.getVar(h[p]))}var q;try{if(m<10000){switch(m){case 0:break;case 1:if(j[2]){if((j[2]=="<"&&j[1]="&&j[1]>=j[3])||(j[2]==">"&&j[1]>j[3])){b.ip=j[0]}}else{b.ip=j[0]}break;case 2:if(h[1]==undefined){delete b.variables[h[0]]}else{b.setVar(h[0],j[1])}break;case 3:var s=b.toString(j[0]);if(s.indexOf("INFO: ")==0){s=s.substring(6)}if(s.indexOf("SUCCESS: ")==0){s=s.substring(9)}if(b.onConsole){b.onConsole(s,b)}else{console.log(s)}break;case 4:b.state=2;b.dialog=true;setDialogMode(11,j[0],j[2],b.xxStepDialogOk,j[1],b);break;case 5:for(var p in j[1]){if(j[1][p][j[2]]==j[3]){q=p}}break;case 6:q=j[1].substr(j[2],j[3]);break;case 7:q=j[1].indexOf(j[2]);break;case 8:q=j[1].split(j[2]);break;case 9:q=j[1].join(j[2]);break;case 10:if(j[1]==null){q=0}else{q=j[1].length}break;case 11:q=JSON.parse(j[1]);break;case 12:q=JSON.stringify(j[1]);break;case 13:q=(j[1]+j[2]);break;case 14:q=(j[1]-j[2]);break;case 15:q=parseInt(j[1]);break;case 16:b.state=2;b.amtstack.BatchEnum(j[0],j[1],b.xxWsmanReturn,b);break;case 17:b.state=2;b.amtstack.Put(j[0],j[1],b.xxWsmanReturn,b);break;case 18:b.state=2;b.amtstack.Create(j[0],j[1],b.xxWsmanReturn,b);break;case 19:b.state=2;b.amtstack.Delete(j[0],j[1],b.xxWsmanReturn,b);break;case 20:b.state=2;b.amtstack.Exec(j[0],j[1],j[2],b.xxWsmanReturn,b,0,j[3]);break;case 21:b.stepspeed=j[0];if(b.timer!=null){clearInterval(b.timer);b.timer=setInterval(function(){b.step()},b.stepspeed)}break;case 22:b.state=2;b.amtstack.Subscribe(j[0],j[1],j[2],b.xxWsmanReturn,b,0,j[3],j[4],j[5],j[6]);break;case 23:b.state=2;b.amtstack.UnSubscribe(j[0],b.xxWsmanReturn,b,0,j[1]);break;case 24:console.log(j[1],j[2],j[1].charCodeAt(j[2]));q=j[1].charCodeAt(j[2]);break;case 25:break;default:b.state=9;console.error("Script Error, unknown command: "+m)}}else{if(m<20000){q=script_functionTableX2[m-10000](j[1],j[2],j[3],j[4],j[5],j[6])}else{}}if(q!=undefined){b.setVar(h[0],q)}}catch(o){if(typeof o=="object"){o=o.message}b.setVar("_exception",o)}}if(b.state==1&&b.ip>=b.script.length){b.state=0;b.stop();if(b.onCompleted){b.onCompleted()}}if(b.onStep){b.onStep(b)}return b};b.xxStepDialogOk=function(d){b.variables.DialogSelect=d;b.state=1;b.dialog=false;if(b.onStep){b.onStep(b)}};b.xxWsmanReturn=function(f,d,e,g){b.setVar(d,e);b.setVar("wsman_result",g);b.setVar("wsman_result_str",((httpErrorTable[g])?(httpErrorTable[g]):("Error #"+g)));b.state=1;if(b.onStep){b.onStep(b)}};b.toString=function(d){if(typeof d=="object"){return JSON.stringify(d)}return d};b.reset();return b};module.exports.compile=function(o,l){var n="",q=o.split("\n"),h={},k=[],s=[];for(var d in q){var p=q[d];if(p.startsWith("##SWAP ")){var u=p.split(" ");if(u.length==3){s[u[1]]=u[2]}}if(p[0]=="#"||p.length==0){continue}for(var u in s){p=p.split(u).join(s[u])}var f=p.match(/"[^"]*"|[^\s"]+/g);if(f.length==0){continue}if(p[0]==":"){h[f[0].toUpperCase()]=n.length;continue}var c=script_functionTable1.indexOf(f[0].toLowerCase());if(c==-1){c=script_functionTable2.indexOf(f[0].toLowerCase());if(c>=0){c+=10000}}if(c==-1){if(l){l("Unabled to compile, unknown command: "+f[0])}return""}var b=ShortToStr(f.length-1);for(var e in f){if(e==0){continue}if(f[e][0]==":"){k.push([f[e],n.length+b.length+7]);b+=ShortToStr(5)+String.fromCharCode(3)+IntToStr(4294967295)}else{var a=parseInt(f[e]);if(a==f[e]){b+=ShortToStr(5)+String.fromCharCode(2)+IntToStr(a)}else{if(f[e][0]=='"'&&f[e][f[e].length-1]=='"'){b+=ShortToStr(f[e].length-1)+String.fromCharCode(1)+f[e].substring(1,f[e].length-1)}else{b+=ShortToStr(f[e].length+1)+String.fromCharCode(0)+f[e]}}}}b=ShortToStr(c)+ShortToStr(b.length+4)+b;n+=b}for(d in k){var g=k[d][0].toUpperCase(),m=k[d][1],t=h[g];if(t==undefined){if(l){l("Unabled to compile, unknown label: "+g)}return""}n=n.substr(0,m)+IntToStr(t)+n.substr(m+4)}return IntToStr(612182341)+ShortToStr(1)+n};module.exports.decompile=function(g,q){var t="",s=6,m=0,n={};if(q>=0){s=q}else{if(g.length<6){return"# Invalid script length"}var p=ReadInt(g,0);var w=ReadShort(g,4);if(p!=612182341){return"# Invalid binary script: "+p}if(w!=1){return"# Invalid script version"}}while(s=0)){t+=":label"+(s-6)+"\n"}for(var k=0;k=10000)&&(h<10000)){t+=script_functionTable2[h-10000]+d+"\n"}}s+=j;if(q>=0){return t}}var u=t.split("\n");t="";for(var k in u){var o=u[k];if(o[0]!=":"){t+=o+"\n"}else{if(n[o]){t+=o+"\n"}}}return t}; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt-wsman-duk.min.js b/agents/modules_meshcmd_min/amt-wsman-duk.min.js new file mode 100644 index 00000000..d83115f4 --- /dev/null +++ b/agents/modules_meshcmd_min/amt-wsman-duk.min.js @@ -0,0 +1 @@ +function CreateWsmanComm(){var a={};a.PendingAjax=[];a.ActiveAjaxCount=0;a.MaxActiveAjaxCount=1;a.FailAllError=0;a.digest=null;a.RequestCount=0;if(arguments.length==1&&typeof(arguments[0]=="object")){a.host=arguments[0].host;a.port=arguments[0].port;a.authToken=arguments[0].authToken;a.tls=arguments[0].tls}else{a.host=arguments[0];a.port=arguments[1];a.user=arguments[2];a.pass=arguments[3];a.tls=arguments[4]}a.PerformAjax=function(d,c,f,e,g,b){if((a.ActiveAjaxCount==0||((a.ActiveAjaxCount=a.MaxActiveAjaxCount||a.PendingAjax.length==0){return}var b=a.PendingAjax.shift();a.PerformAjaxEx(b[0],b[1],b[2],b[3],b[4]);a.PerformNextAjax()};a.PerformAjaxEx=function(d,c,g,h,b){if(a.FailAllError!=0){if(a.FailAllError!=999){a.gotNextMessagesError({status:a.FailAllError},"error",null,[d,c,g])}return}if(!d){d=""}if(globalDebugFlags&1){console.log("SEND: "+d+"\r\n\r\n")}if(a.digest==null){if(a.authToken){a.digest=require("http-digest").create({authToken:a.authToken})}else{a.digest=require("http-digest").create(a.user,a.pass)}a.digest.http=require("http")}var f={protocol:(a.tls==1?"https:":"http:"),method:"POST",host:a.host,path:"/wsman",port:a.port,rejectUnauthorized:false,checkServerIdentity:function(i){console.log("checkServerIdentity",JSON.stringify(i))}};var e=a.digest.request(f);e.on("error",function(i){a.gotNextMessagesError({status:600},"error",null,[d,c,g])});e.on("response",function(i){if(globalDebugFlags&1){console.log("Response: "+i.statusCode)}if(i.statusCode!=200){if(globalDebugFlags&1){console.log("ERR:"+JSON.stringify(i))}a.gotNextMessagesError({status:i.statusCode},"error",null,[d,c,g])}else{i.acc="";i.on("data",function(j){this.acc+=j});i.on("end",function(){a.gotNextMessages(i.acc,"success",{status:i.statusCode},[d,c,g])})}});e.end(d);a.ActiveAjaxCount++;return e};a.pendingAjaxCall=[];a.gotNextMessages=function(c,e,d,b){a.ActiveAjaxCount--;if(a.FailAllError==999){return}if(globalDebugFlags&1){console.log("RECV: "+c+"\r\n\r\n")}if(a.FailAllError!=0){b[1](null,a.FailAllError,b[2]);return}if(d.status!=200){b[1](null,d.status,b[2]);return}b[1](c,200,b[2]);a.PerformNextAjax()};a.gotNextMessagesError=function(d,e,c,b){a.ActiveAjaxCount--;if(a.FailAllError==999){return}if(a.FailAllError!=0){b[1](null,a.FailAllError,b[2]);return}if(a.FailAllError!=999){b[1]({Header:{HttpError:d.status}},d.status,b[2])}a.PerformNextAjax()};a.CancelAllQueries=function(b){while(a.PendingAjax.length>0){var c=a.PendingAjax.shift();c[1](null,b,c[2])}};return a}module.exports=CreateWsmanComm; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt-wsman.min.js b/agents/modules_meshcmd_min/amt-wsman.min.js new file mode 100644 index 00000000..e8afb796 --- /dev/null +++ b/agents/modules_meshcmd_min/amt-wsman.min.js @@ -0,0 +1 @@ +function WsmanStackCreateService(){var p={_ObjectID:"WSMAN"};p.NextMessageId=1;p.Address="/wsman";p.xmlParser=require("amt-xml");if(arguments.length==1&&typeof(arguments[0]=="object")){var e=arguments[0].transport;if(e){p.comm=new e(arguments[0])}}else{var e=arguments[0];if(e){p.comm=new e(arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6])}}p.PerformAjax=function q(t,r,v,u,s){if(s==null){s=""}p.comm.PerformAjax('
"+t,function(w,x,y){if(x!=200){r(p,null,{Header:{HttpError:x}},x,y);return}var z=p.xmlParser.ParseWsman(w);if(!z||z==null){r(p,null,{Header:{HttpError:x}},601,y)}else{r(p,z.Header.ResourceURI,z,200,y)}},v,u)};p.CancelAllQueries=function d(r){p.comm.CancelAllQueries(r)};p.GetNameFromUrl=function(r){var s=r.lastIndexOf("/");return(s==-1)?r:r.substring(s+1)};p.ExecSubscribe=function n(z,t,C,r,B,y,A,w,D,x){var u="",v="",w="";if(D!=null&&x!=null){u='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken'+D+''+x+"";v=''}if(w!=null){w=""+w+""}if(t=="PushWithAck"){t="dmtf.org/wbem/wsman/1/wsman/PushWithAck"}else{if(t=="Push"){t="xmlsoap.org/ws/2004/08/eventing/DeliveryModes/Push"}}var s="http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe"+p.Address+""+z+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"+c(A)+u+'
'+C+""+w+""+v+"";p.PerformAjax(s+"
",r,B,y,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:m="http://x.com"')};p.ExecUnSubscribe=function o(u,r,w,t,v){var s="http://schemas.xmlsoap.org/ws/2004/08/eventing/Unsubscribe"+p.Address+""+u+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"+c(v)+"";p.PerformAjax(s+"",r,w,t,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing"')};p.ExecPut=function m(v,u,r,x,t,w){var s="http://schemas.xmlsoap.org/ws/2004/09/transfer/Put"+p.Address+""+v+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60.000S"+c(w)+""+b(v,u);p.PerformAjax(s+"",r,x,t)};p.ExecCreate=function f(x,w,r,z,v,y){var u=p.GetNameFromUrl(x);var s="http://schemas.xmlsoap.org/ws/2004/09/transfer/Create"+p.Address+""+x+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+c(y)+"';for(var t in w){s+=""+w[t]+""}p.PerformAjax(s+"",r,z,v)};p.ExecDelete=function g(v,u,r,w,t){var s="http://schemas.xmlsoap.org/ws/2004/09/transfer/Delete"+p.Address+""+v+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+c(u)+"";p.PerformAjax(s,r,w,t)};p.ExecGet=function i(t,r,u,s){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/transfer/Get"+p.Address+""+t+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S",r,u,s)};p.ExecMethod=function j(y,v,r,t,A,w,z){var s="";for(var u in r){if(r[u]!=null){if(Array.isArray(r[u])){for(var B in r[u]){s+=""+r[u][B]+""}}else{s+=""+r[u]+""}}}p.ExecMethodXml(y,v,s,t,A,w,z)};p.ExecMethodXml=function k(v,t,r,s,x,u,w){p.PerformAjax(v+"/"+t+""+p.Address+""+v+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+c(w)+"'+r+"",s,x,u)};p.ExecEnum=function h(t,r,u,s){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Enumerate"+p.Address+""+t+""+(p.NextMessageId++)+'http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S',r,u,s)};p.ExecPull=function l(u,s,r,v,t){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Pull"+p.Address+""+u+""+(p.NextMessageId++)+'http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S'+s+"99999999",r,v,t)};function b(w,u){if(!w||u==null){return""}var s=p.GetNameFromUrl(w);var v="';for(var t in u){if(!u.hasOwnProperty(t)||t.indexOf("__")===0||t.indexOf("@")===0){continue}if(u[t]==null||typeof u[t]==="function"){continue}if(typeof u[t]==="object"&&u[t]["ReferenceParameters"]){v+=""+u[t].Address+""+u[t]["ReferenceParameters"]["ResourceURI"]+"";var x=u[t]["ReferenceParameters"]["SelectorSet"]["Selector"];if(Array.isArray(x)){for(var r=0;r"+x[r]["Value"]+""}}else{v+=""+x.Value+""}v+=""}else{if(Array.isArray(u[t])){for(var r=0;r"+u[t][r].toString()+""}}else{v+=""+u[t].toString()+""}}}v+="";return v}function a(r){if(!r){return""}var t=" ";for(var s in r){if(!r.hasOwnProperty(s)||s.indexOf("@")!==0){continue}t+=s.substring(1)+'="'+r[s]+'" '}return t}function c(v){if((v==null)||(v=="null")){return""}if(typeof v=="string"){return v}if(v.InstanceID){return''+v.InstanceID+""}var t="";for(var s in v){if(!v.hasOwnProperty(s)){continue}t+='';if(v[s]["ReferenceParameters"]){t+="";t+=""+v[s]["Address"]+""+v[s]["ReferenceParameters"]["ResourceURI"]+"";var u=v[s]["ReferenceParameters"]["SelectorSet"]["Selector"];if(Array.isArray(u)){for(var r=0;r"+u[r]["Value"]+""}}else{t+=""+u.Value+""}t+=""}else{t+=v[s]}t+=""}t+="";return t}return p}module.exports=WsmanStackCreateService; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt-xml.min.js b/agents/modules_meshcmd_min/amt-xml.min.js new file mode 100644 index 00000000..4b2308ed --- /dev/null +++ b/agents/modules_meshcmd_min/amt-xml.min.js @@ -0,0 +1 @@ +try{Object.defineProperty(Array.prototype,"peek",{value:function(){return(this.length>0?this[this.length-1]:undefined)}})}catch(e){}module.exports.ParseWsman=function(j){try{if(!j.childNodes){j=_turnToXml(j)}var g={Header:{}},d=j.getElementsByTagName("Header")[0],h;if(!d){d=j.getElementsByTagName("a:Header")[0]}if(!d){return null}for(var f=0;f0){h=a.childNodes[0].localName;if(h.indexOf("_OUTPUT")==h.length-7){h=h.substring(0,h.length-7)}g.Header.Method=h;g.Body=_ParseWsmanRec(a.childNodes[0])}return g}catch(c){console.error("Unable to parse XML: "+j,c);return null}};function _ParseWsmanRec(g){var c,h={};for(var d=0;d0)){b={Value:c};for(var f=0;f';for(var c in d){if(!d.hasOwnProperty(c)||c.indexOf("__")===0||c.indexOf("@")===0){continue}if(d[c]==null||typeof d[c]==="function"){continue}if(typeof d[c]==="object"&&d[c]["ReferenceParameters"]){f+=""+d[c].Address+""+d[c]["ReferenceParameters"]["ResourceURI"]+"";var h=d[c]["ReferenceParameters"]["SelectorSet"]["Selector"];if(Array.isArray(h)){for(var a=0;a"+h[a]["Value"]+""}}else{f+=""+h.Value+""}f+=""}else{if(Array.isArray(d[c])){for(var a=0;a"+d[c][a].toString()+""}}else{f+=""+d[c].toString()+""}}}f+="";return f}function _treeBuilder(){this.tree=[];this.push=function(a){this.tree.push(a)};this.pop=function(){var a=this.tree.pop();if(this.tree.length>0){var b=this.tree.peek();b.childNodes.push(a);b.childElementCount=b.childNodes.length}return(a)};this.peek=function(){return(this.tree.peek())};this.addNamespace=function(g,d){this.tree.peek().nsTable[g]=d;if(this.tree.peek().attributes.length>0){for(var c=0;c=0;--a){if(this.tree[a].nsTable[b]!=null){return(this.tree[a].nsTable[b])}}return null}}function _turnToXml(a){if(a==null){return null}return({childNodes:[_turnToXmlRec(a)],getElementsByTagName:_getElementsByTagName,getChildElementsByTagName:_getChildElementsByTagName,getElementsByTagNameNS:_getElementsByTagNameNS})}function _getElementsByTagNameNS(b,a){var c=[];_xmlTraverseAllRec(this.childNodes,function(d){if(d.localName==a&&(d.namespace==b||b=="*")){c.push(d)}});return c}function _getElementsByTagName(a){var b=[];_xmlTraverseAllRec(this.childNodes,function(c){if(c.localName==a){b.push(c)}});return b}function _getChildElementsByTagName(a){var c=[];if(this.childNodes!=null){for(var b in this.childNodes){if(this.childNodes[b].localName==a){c.push(this.childNodes[b])}}}return(c)}function _getChildElementsByTagNameNS(c,a){var d=[];if(this.childNodes!=null){for(var b in this.childNodes){if(this.childNodes[b].localName==a&&(c=="*"||this.childNodes[b].namespace==c)){d.push(this.childNodes[b])}}}return(d)}function _xmlTraverseAllRec(c,a){for(var b in c){a(c[b]);if(c[b].childNodes){_xmlTraverseAllRec(c[b].childNodes,a)}}}function _turnToXmlRec(w){try{if(w==null){return null}var m=new _treeBuilder(),r=null,z=w.split("<"),u=[],h=null,g=null;for(var o in z){var A=z[o].split(">"),B=A[0].split(" "),l=B[0];if((l.length>0)&&(l[0]!="?")){if(l[0]!="/"){var a=[],s,t=l.split(" ")[0].split(":"),s=(t.length>1)?t[1]:t[0];Object.defineProperty(a,"get",{value:function(){if(arguments.length==1){for(var i in this){if(this[i].name==arguments[0]){return(this[i])}}}else{if(arguments.length==2){for(var i in this){if(this[i].name==arguments[1]&&(arguments[0]=="*"||this[i].namespace==arguments[0])){return(this[i])}}}else{throw ("attributes.get(): Invalid number of parameters")}}}});m.push({name:l,localName:s,getChildElementsByTagName:_getChildElementsByTagName,getElementsByTagNameNS:_getElementsByTagNameNS,getChildElementsByTagNameNS:_getChildElementsByTagNameNS,attributes:a,childNodes:[],nsTable:{}});if(B.length>0){var v=false;for(var p in B){if(B[p]=="/"){m.peek().namespace=m.peek().name==m.peek().localName?m.getNamespace("*"):m.getNamespace(m.peek().name.substring(0,m.peek().name.indexOf(":")));m.peek().textContent="";r=m.pop();v=true;break}var q=B[p].indexOf("=");if(q>0){var b=B[p].substring(0,q);var d=B[p].substring(q+2,B[p].length-1);var c=m.getNamespace("*");if(b=="xmlns"){m.addNamespace("*",d);c=d}else{if(b.startsWith("xmlns:")){m.addNamespace(b.substring(6),d)}else{var f=b.split(":");if(f.length==2){b=f[1];c=m.getNamespace(f[0])}}}var y={name:b,value:d};if(c!=null){y.namespace=c}m.peek().attributes.push(y)}}if(v){continue}}m.peek().namespace=m.peek().name==m.peek().localName?m.getNamespace("*"):m.getNamespace(m.peek().name.substring(0,m.peek().name.indexOf(":")));if(A[1]){m.peek().textContent=A[1]}}else{r=m.pop()}}}}catch(n){return null}return r}; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/amt.min.js b/agents/modules_meshcmd_min/amt.min.js new file mode 100644 index 00000000..6984729b --- /dev/null +++ b/agents/modules_meshcmd_min/amt.min.js @@ -0,0 +1 @@ +function AmtStackCreateService(R){var J=new Object();J._ObjectID="AMT";J.wsman=R;J.pfx=["http://intel.com/wbem/wscim/1/amt-schema/1/","http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/","http://intel.com/wbem/wscim/1/ips-schema/1/"];J.PendingEnums=[];J.PendingBatchOperations=0;J.ActiveEnumsCount=0;J.MaxActiveEnumsCount=1;J.onProcessChanged=null;var n=0;var m=0;J.GetPendingActions=function(){return(J.PendingEnums.length*2)+(J.ActiveEnumsCount)+J.wsman.comm.PendingAjax.length+J.wsman.comm.ActiveAjaxCount+J.PendingBatchOperations};function r(){var S=J.GetPendingActions();if(n=J.MaxActiveEnumsCount||J.PendingEnums.length==0){return}var T=J.PendingEnums.shift();J.Enum(T[0],T[1],T[2]);d(0)}J.BatchEnum=function(S,V,T,X,U,W){J.PendingBatchOperations+=(V.length*2);b(S,x(V),T,X,{},U,W);r()};function x(S){return JSON.parse(JSON.stringify(S))}function b(S,X,T,aa,Z,U,Y){J.PendingBatchOperations-=2;var W=X.shift(),V=J.Enum;if(W[0]=="*"){V=J.Get;W=W.substring(1)}V(W,function(ad,ab,ac,ae,af){af[2][ab]={response:(ac==null?null:ac.Body),responses:ac,status:ae};if(af[1].length==0||ae==401||(U!=true&&ae!=200&&ae!=400)){J.PendingBatchOperations-=(X.length*2);r();T.call(J,J,S,af[2],ae,aa)}else{r();b(S,X,T,aa,af[2],Y)}},[S,X,Z],Y);r()}J.BatchGet=function(S,U,T,W,V){h({name:S,names:U,callback:T,current:0,responses:{},tag:W,pri:V});r()};function h(S){if(S.names.length<=S.current){S.callback.call(J,J,S.name,S.responses,200,S.tag)}else{J.wsman.ExecGet(J.CompleteName(S.names[S.current]),function(V,U,T,W){g(S,T,W)},S.pri);S.current++}r()}function g(S,T,U){if(T==null||U!=200){S.callback.call(J,J,S.name,null,U,S.tag)}else{S.responses[T.Header.Method]=T;h(S)}}J.CompleteName=function(S){if(S.indexOf("AMT_")==0){return J.pfx[0]+S}if(S.indexOf("CIM_")==0){return J.pfx[1]+S}if(S.indexOf("IPS_")==0){return J.pfx[2]+S}};J.CompleteExecResponse=function(S){if(S&&S!=null&&S.Body&&(S.Body.ReturnValue!=undefined)){S.Body.ReturnValueStr=J.AmtStatusToStr(S.Body.ReturnValue)}return S};J.RequestPowerStateChange=function(T,S){J.CIM_PowerManagementService_RequestPowerStateChange(T,'
http://schemas.xmlsoap.org/ws/2004/08/addressing
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ComputerSystemCIM_ComputerSystemManagedSystem',null,null,S)};J.SetBootConfigRole=function(T,S){J.CIM_BootService_SetBootConfigRole('
http://schemas.xmlsoap.org/ws/2004/08/addressing
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_BootConfigSettingIntel(r) AMT: Boot Configuration 0',T,S)};J.CancelAllQueries=function(S){J.wsman.CancelAllQueries(S)};J.AMT_AgentPresenceWatchdog_RegisterAgent=function(S,V,T,U){J.Exec("AMT_AgentPresenceWatchdog","RegisterAgent",{},S,V,T,U)};J.AMT_AgentPresenceWatchdog_AssertPresence=function(V,S,W,T,U){J.Exec("AMT_AgentPresenceWatchdog","AssertPresence",{SequenceNumber:V},S,W,T,U)};J.AMT_AgentPresenceWatchdog_AssertShutdown=function(V,S,W,T,U){J.Exec("AMT_AgentPresenceWatchdog","AssertShutdown",{SequenceNumber:V},S,W,T,U)};J.AMT_AgentPresenceWatchdog_AddAction=function(X,W,V,T,S,U,aa,Y,Z){J.Exec("AMT_AgentPresenceWatchdog","AddAction",{OldState:X,NewState:W,EventOnTransition:V,ActionSd:T,ActionEac:S},U,aa,Y,Z)};J.AMT_AgentPresenceWatchdog_DeleteAllActions=function(S,V,T,U){J.Exec("AMT_AgentPresenceWatchdog","DeleteAllActions",{},S,V,T,U)};J.AMT_AgentPresenceWatchdogAction_GetActionEac=function(S){J.Exec("AMT_AgentPresenceWatchdogAction","GetActionEac",{},S)};J.AMT_AgentPresenceWatchdogVA_RegisterAgent=function(S){J.Exec("AMT_AgentPresenceWatchdogVA","RegisterAgent",{},S)};J.AMT_AgentPresenceWatchdogVA_AssertPresence=function(T,S){J.Exec("AMT_AgentPresenceWatchdogVA","AssertPresence",{SequenceNumber:T},S)};J.AMT_AgentPresenceWatchdogVA_AssertShutdown=function(T,S){J.Exec("AMT_AgentPresenceWatchdogVA","AssertShutdown",{SequenceNumber:T},S)};J.AMT_AgentPresenceWatchdogVA_AddAction=function(X,W,V,T,S,U){J.Exec("AMT_AgentPresenceWatchdogVA","AddAction",{OldState:X,NewState:W,EventOnTransition:V,ActionSd:T,ActionEac:S},U)};J.AMT_AgentPresenceWatchdogVA_DeleteAllActions=function(S,T){J.Exec("AMT_AgentPresenceWatchdogVA","DeleteAllActions",{_method_dummy:S},T)};J.AMT_AlarmClockService_AddAlarm=function s(S,T){var V=S.InstanceID;var X=S.ElementName;var Y=S.StartTime.Datetime;var W=S.Interval?S.Interval.Datetime:undefined;var U=S.DeleteOnCompletion;var Z=''+V+""+X+''+Y+""+((W!=undefined)?(''+W+""):"")+""+U+"";J.wsman.ExecMethodXml(J.CompleteName("AMT_AlarmClockService"),"AddAlarm",Z,T)};J.AMT_AuditLog_ClearLog=function(S){J.Exec("AMT_AuditLog","ClearLog",{},S)};J.AMT_AuditLog_RequestStateChange=function(T,U,S){J.Exec("AMT_AuditLog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AMT_AuditLog_ReadRecords=function(T,S,U){J.Exec("AMT_AuditLog","ReadRecords",{StartIndex:T},S,U)};J.AMT_AuditLog_SetAuditLock=function(V,T,U,S){J.Exec("AMT_AuditLog","SetAuditLock",{LockTimeoutInSeconds:V,Flag:T,Handle:U},S)};J.AMT_AuditLog_ExportAuditLogSignature=function(T,S){J.Exec("AMT_AuditLog","ExportAuditLogSignature",{SigningMechanism:T},S)};J.AMT_AuditLog_SetSigningKeyMaterial=function(W,V,U,T,S){J.Exec("AMT_AuditLog","SetSigningKeyMaterial",{SigningMechanismType:W,SigningKey:V,LengthOfCertificates:U,Certificates:T},S)};J.AMT_AuditPolicyRule_SetAuditPolicy=function(U,S,V,W,T){J.Exec("AMT_AuditPolicyRule","SetAuditPolicy",{Enable:U,AuditedAppID:S,EventID:V,PolicyType:W},T)};J.AMT_AuditPolicyRule_SetAuditPolicyBulk=function(U,S,V,W,T){J.Exec("AMT_AuditPolicyRule","SetAuditPolicyBulk",{Enable:U,AuditedAppID:S,EventID:V,PolicyType:W},T)};J.AMT_AuthorizationService_AddUserAclEntryEx=function(V,U,W,S,X,T){J.Exec("AMT_AuthorizationService","AddUserAclEntryEx",{DigestUsername:V,DigestPassword:U,KerberosUserSid:W,AccessPermission:S,Realms:X},T)};J.AMT_AuthorizationService_EnumerateUserAclEntries=function(T,S){J.Exec("AMT_AuthorizationService","EnumerateUserAclEntries",{StartIndex:T},S)};J.AMT_AuthorizationService_GetUserAclEntryEx=function(T,S,U){J.Exec("AMT_AuthorizationService","GetUserAclEntryEx",{Handle:T},S,U)};J.AMT_AuthorizationService_UpdateUserAclEntryEx=function(W,V,U,X,S,Y,T){J.Exec("AMT_AuthorizationService","UpdateUserAclEntryEx",{Handle:W,DigestUsername:V,DigestPassword:U,KerberosUserSid:X,AccessPermission:S,Realms:Y},T)};J.AMT_AuthorizationService_RemoveUserAclEntry=function(T,S){J.Exec("AMT_AuthorizationService","RemoveUserAclEntry",{Handle:T},S)};J.AMT_AuthorizationService_SetAdminAclEntryEx=function(U,T,S){J.Exec("AMT_AuthorizationService","SetAdminAclEntryEx",{Username:U,DigestPassword:T},S)};J.AMT_AuthorizationService_GetAdminAclEntry=function(S){J.Exec("AMT_AuthorizationService","GetAdminAclEntry",{},S)};J.AMT_AuthorizationService_GetAdminAclEntryStatus=function(S){J.Exec("AMT_AuthorizationService","GetAdminAclEntryStatus",{},S)};J.AMT_AuthorizationService_GetAdminNetAclEntryStatus=function(S){J.Exec("AMT_AuthorizationService","GetAdminNetAclEntryStatus",{},S)};J.AMT_AuthorizationService_SetAclEnabledState=function(U,T,S,V){J.Exec("AMT_AuthorizationService","SetAclEnabledState",{Handle:U,Enabled:T},S,V)};J.AMT_AuthorizationService_GetAclEnabledState=function(T,S,U){J.Exec("AMT_AuthorizationService","GetAclEnabledState",{Handle:T},S,U)};J.AMT_EndpointAccessControlService_RequestStateChange=function(T,U,S){J.Exec("AMT_EndpointAccessControlService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AMT_EndpointAccessControlService_GetPosture=function(T,S){J.Exec("AMT_EndpointAccessControlService","GetPosture",{PostureType:T},S)};J.AMT_EndpointAccessControlService_GetPostureHash=function(T,S){J.Exec("AMT_EndpointAccessControlService","GetPostureHash",{PostureType:T},S)};J.AMT_EndpointAccessControlService_UpdatePostureState=function(T,S){J.Exec("AMT_EndpointAccessControlService","UpdatePostureState",{UpdateType:T},S)};J.AMT_EndpointAccessControlService_GetEacOptions=function(S){J.Exec("AMT_EndpointAccessControlService","GetEacOptions",{},S)};J.AMT_EndpointAccessControlService_SetEacOptions=function(T,U,S){J.Exec("AMT_EndpointAccessControlService","SetEacOptions",{EacVendors:T,PostureHashAlgorithm:U},S)};J.AMT_EnvironmentDetectionSettingData_SetSystemDefensePolicy=function(T,S){J.Exec("AMT_EnvironmentDetectionSettingData","SetSystemDefensePolicy",{Policy:T},S)};J.AMT_EnvironmentDetectionSettingData_EnableVpnRouting=function(T,S){J.Exec("AMT_EnvironmentDetectionSettingData","EnableVpnRouting",{Enable:T},S)};J.AMT_EthernetPortSettings_SetLinkPreference=function(T,U,S){J.Exec("AMT_EthernetPortSettings","SetLinkPreference",{LinkPreference:T,Timeout:U},S)};J.AMT_HeuristicPacketFilterStatistics_ResetSelectedStats=function(T,S){J.Exec("AMT_HeuristicPacketFilterStatistics","ResetSelectedStats",{SelectedStatistics:T},S)};J.AMT_KerberosSettingData_GetCredentialCacheState=function(S){J.Exec("AMT_KerberosSettingData","GetCredentialCacheState",{},S)};J.AMT_KerberosSettingData_SetCredentialCacheState=function(T,S){J.Exec("AMT_KerberosSettingData","SetCredentialCacheState",{Enable:T},S)};J.AMT_MessageLog_CancelIteration=function(T,S){J.Exec("AMT_MessageLog","CancelIteration",{IterationIdentifier:T},S)};J.AMT_MessageLog_RequestStateChange=function(T,U,S){J.Exec("AMT_MessageLog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AMT_MessageLog_ClearLog=function(S){J.Exec("AMT_MessageLog","ClearLog",{},S)};J.AMT_MessageLog_GetRecords=function(T,U,S,V){J.Exec("AMT_MessageLog","GetRecords",{IterationIdentifier:T,MaxReadRecords:U},S,V)};J.AMT_MessageLog_GetRecord=function(T,U,S){J.Exec("AMT_MessageLog","GetRecord",{IterationIdentifier:T,PositionToNext:U},S)};J.AMT_MessageLog_PositionAtRecord=function(T,U,V,S){J.Exec("AMT_MessageLog","PositionAtRecord",{IterationIdentifier:T,MoveAbsolute:U,RecordNumber:V},S)};J.AMT_MessageLog_PositionToFirstRecord=function(S,T){J.Exec("AMT_MessageLog","PositionToFirstRecord",{},S,T)};J.AMT_MessageLog_FreezeLog=function(T,S){J.Exec("AMT_MessageLog","FreezeLog",{Freeze:T},S)};J.AMT_PublicKeyManagementService_AddCRL=function(U,T,S){J.Exec("AMT_PublicKeyManagementService","AddCRL",{Url:U,SerialNumbers:T},S)};J.AMT_PublicKeyManagementService_ResetCRLList=function(S,T){J.Exec("AMT_PublicKeyManagementService","ResetCRLList",{_method_dummy:S},T)};J.AMT_PublicKeyManagementService_AddCertificate=function(T,S,U){J.Exec("AMT_PublicKeyManagementService","AddCertificate",{CertificateBlob:T},S,U)};J.AMT_PublicKeyManagementService_AddTrustedRootCertificate=function(T,S){J.Exec("AMT_PublicKeyManagementService","AddTrustedRootCertificate",{CertificateBlob:T},S)};J.AMT_PublicKeyManagementService_AddKey=function(T,S){J.Exec("AMT_PublicKeyManagementService","AddKey",{KeyBlob:T},S)};J.AMT_PublicKeyManagementService_GeneratePKCS10Request=function(U,T,V,S){J.Exec("AMT_PublicKeyManagementService","GeneratePKCS10Request",{KeyPair:U,DNName:T,Usage:V},S)};J.AMT_PublicKeyManagementService_GeneratePKCS10RequestEx=function(T,V,U,S){J.Exec("AMT_PublicKeyManagementService","GeneratePKCS10RequestEx",{KeyPair:T,SigningAlgorithm:V,NullSignedCertificateRequest:U},S)};J.AMT_PublicKeyManagementService_GenerateKeyPair=function(T,U,S){J.Exec("AMT_PublicKeyManagementService","GenerateKeyPair",{KeyAlgorithm:T,KeyLength:U},S)};J.AMT_RedirectionService_RequestStateChange=function(T,S){J.Exec("AMT_RedirectionService","RequestStateChange",{RequestedState:T},S)};J.AMT_RedirectionService_TerminateSession=function(T,S){J.Exec("AMT_RedirectionService","TerminateSession",{SessionType:T},S)};J.AMT_RemoteAccessService_AddMpServer=function(S,X,Z,T,V,aa,Y,W,U){J.Exec("AMT_RemoteAccessService","AddMpServer",{AccessInfo:S,InfoFormat:X,Port:Z,AuthMethod:T,Certificate:V,Username:aa,Password:Y,CN:W},U)};J.AMT_RemoteAccessService_AddRemoteAccessPolicyRule=function(V,W,T,U,S){J.Exec("AMT_RemoteAccessService","AddRemoteAccessPolicyRule",{Trigger:V,TunnelLifeTime:W,ExtendedData:T,MpServer:U},S)};J.AMT_RemoteAccessService_CloseRemoteAccessConnection=function(S,T){J.Exec("AMT_RemoteAccessService","CloseRemoteAccessConnection",{_method_dummy:S},T)};J.AMT_SetupAndConfigurationService_CommitChanges=function(S,T,U){J.Exec("AMT_SetupAndConfigurationService","CommitChanges",{_method_dummy:S},T,U)};J.AMT_SetupAndConfigurationService_Unprovision=function(T,S){J.Exec("AMT_SetupAndConfigurationService","Unprovision",{ProvisioningMode:T},S)};J.AMT_SetupAndConfigurationService_PartialUnprovision=function(S,T){J.Exec("AMT_SetupAndConfigurationService","PartialUnprovision",{_method_dummy:S},T)};J.AMT_SetupAndConfigurationService_ResetFlashWearOutProtection=function(S,T){J.Exec("AMT_SetupAndConfigurationService","ResetFlashWearOutProtection",{_method_dummy:S},T)};J.AMT_SetupAndConfigurationService_ExtendProvisioningPeriod=function(T,S){J.Exec("AMT_SetupAndConfigurationService","ExtendProvisioningPeriod",{Duration:T},S)};J.AMT_SetupAndConfigurationService_SetMEBxPassword=function(T,S){J.Exec("AMT_SetupAndConfigurationService","SetMEBxPassword",{Password:T},S)};J.AMT_SetupAndConfigurationService_SetTLSPSK=function(T,U,S){J.Exec("AMT_SetupAndConfigurationService","SetTLSPSK",{PID:T,PPS:U},S)};J.AMT_SetupAndConfigurationService_GetProvisioningAuditRecord=function(S){J.Exec("AMT_SetupAndConfigurationService","GetProvisioningAuditRecord",{},S)};J.AMT_SetupAndConfigurationService_GetUuid=function(S){J.Exec("AMT_SetupAndConfigurationService","GetUuid",{},S)};J.AMT_SetupAndConfigurationService_GetUnprovisionBlockingComponents=function(S){J.Exec("AMT_SetupAndConfigurationService","GetUnprovisionBlockingComponents",{},S)};J.AMT_SetupAndConfigurationService_GetProvisioningAuditRecordV2=function(S){J.Exec("AMT_SetupAndConfigurationService","GetProvisioningAuditRecordV2",{},S)};J.AMT_SystemDefensePolicy_GetTimeout=function(S){J.Exec("AMT_SystemDefensePolicy","GetTimeout",{},S)};J.AMT_SystemDefensePolicy_SetTimeout=function(T,S){J.Exec("AMT_SystemDefensePolicy","SetTimeout",{Timeout:T},S)};J.AMT_SystemDefensePolicy_UpdateStatistics=function(T,V,S,X,U,W){J.Exec("AMT_SystemDefensePolicy","UpdateStatistics",{NetworkInterface:T,ResetOnRead:V},S,X,U,W)};J.AMT_SystemPowerScheme_SetPowerScheme=function(S,T,U){J.Exec("AMT_SystemPowerScheme","SetPowerScheme",{},S,U,0,{InstanceID:T})};J.AMT_TimeSynchronizationService_GetLowAccuracyTimeSynch=function(S,T){J.Exec("AMT_TimeSynchronizationService","GetLowAccuracyTimeSynch",{},S,T)};J.AMT_TimeSynchronizationService_SetHighAccuracyTimeSynch=function(T,V,W,S,U){J.Exec("AMT_TimeSynchronizationService","SetHighAccuracyTimeSynch",{Ta0:T,Tm1:V,Tm2:W},S,U)};J.AMT_TLSCredentialContext_Create=function t(T,U,S,V){J.Create("AMT_TLSCredentialContext",{ElementInContext:T,ElementProvidingContext:U},S,V)};J.AMT_UserInitiatedConnectionService_RequestStateChange=function(T,U,S){J.Exec("AMT_UserInitiatedConnectionService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AMT_WebUIService_RequestStateChange=function(T,V,S,U){J.Exec("AMT_WebUIService","RequestStateChange",{RequestedState:T,TimeoutPeriod:V},S,U)};J.AMT_WiFiPortConfigurationService_AddWiFiSettings=function(W,X,V,U,S,T){J.ExecWithXml("AMT_WiFiPortConfigurationService","AddWiFiSettings",{WiFiEndpoint:W,WiFiEndpointSettingsInput:X,IEEE8021xSettingsInput:V,ClientCredential:U,CACredential:S},T)};J.AMT_WiFiPortConfigurationService_UpdateWiFiSettings=function(W,X,V,U,S,T){J.ExecWithXml("AMT_WiFiPortConfigurationService","UpdateWiFiSettings",{WiFiEndpointSettings:W,WiFiEndpointSettingsInput:X,IEEE8021xSettingsInput:V,ClientCredential:U,CACredential:S},T)};J.AMT_WiFiPortConfigurationService_DeleteAllITProfiles=function(S,T){J.Exec("AMT_WiFiPortConfigurationService","DeleteAllITProfiles",{_method_dummy:S},T)};J.AMT_WiFiPortConfigurationService_DeleteAllUserProfiles=function(S,T){J.Exec("AMT_WiFiPortConfigurationService","DeleteAllUserProfiles",{_method_dummy:S},T)};J.CIM_Account_RequestStateChange=function(T,U,S){J.Exec("CIM_Account","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_AccountManagementService_CreateAccount=function(U,S,T){J.Exec("CIM_AccountManagementService","CreateAccount",{System:U,AccountTemplate:S},T)};J.CIM_BootConfigSetting_ChangeBootOrder=function(T,S){J.Exec("CIM_BootConfigSetting","ChangeBootOrder",{Source:T},S)};J.CIM_BootService_SetBootConfigRole=function(S,U,T){J.Exec("CIM_BootService","SetBootConfigRole",{BootConfigSetting:S,Role:U},T,0,1)};J.CIM_Card_ConnectorPower=function(T,U,S){J.Exec("CIM_Card","ConnectorPower",{Connector:T,PoweredOn:U},S)};J.CIM_Card_IsCompatible=function(T,S){J.Exec("CIM_Card","IsCompatible",{ElementToCheck:T},S)};J.CIM_Chassis_IsCompatible=function(T,S){J.Exec("CIM_Chassis","IsCompatible",{ElementToCheck:T},S)};J.CIM_Fan_SetSpeed=function(T,S){J.Exec("CIM_Fan","SetSpeed",{DesiredSpeed:T},S)};J.CIM_KVMRedirectionSAP_RequestStateChange=function(T,U,S){J.Exec("CIM_KVMRedirectionSAP","RequestStateChange",{RequestedState:T},S)};J.CIM_MediaAccessDevice_LockMedia=function(T,S){J.Exec("CIM_MediaAccessDevice","LockMedia",{Lock:T},S)};J.CIM_MediaAccessDevice_SetPowerState=function(T,U,S){J.Exec("CIM_MediaAccessDevice","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_MediaAccessDevice_Reset=function(S){J.Exec("CIM_MediaAccessDevice","Reset",{},S)};J.CIM_MediaAccessDevice_EnableDevice=function(T,S){J.Exec("CIM_MediaAccessDevice","EnableDevice",{Enabled:T},S)};J.CIM_MediaAccessDevice_OnlineDevice=function(T,S){J.Exec("CIM_MediaAccessDevice","OnlineDevice",{Online:T},S)};J.CIM_MediaAccessDevice_QuiesceDevice=function(T,S){J.Exec("CIM_MediaAccessDevice","QuiesceDevice",{Quiesce:T},S)};J.CIM_MediaAccessDevice_SaveProperties=function(S){J.Exec("CIM_MediaAccessDevice","SaveProperties",{},S)};J.CIM_MediaAccessDevice_RestoreProperties=function(S){J.Exec("CIM_MediaAccessDevice","RestoreProperties",{},S)};J.CIM_MediaAccessDevice_RequestStateChange=function(T,U,S){J.Exec("CIM_MediaAccessDevice","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_PhysicalFrame_IsCompatible=function(T,S){J.Exec("CIM_PhysicalFrame","IsCompatible",{ElementToCheck:T},S)};J.CIM_PhysicalPackage_IsCompatible=function(T,S){J.Exec("CIM_PhysicalPackage","IsCompatible",{ElementToCheck:T},S)};J.CIM_PowerManagementService_RequestPowerStateChange=function(U,T,V,W,S){J.Exec("CIM_PowerManagementService","RequestPowerStateChange",{PowerState:U,ManagedElement:T,Time:V,TimeoutPeriod:W},S,0,1)};J.CIM_PowerSupply_SetPowerState=function(T,U,S){J.Exec("CIM_PowerSupply","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_PowerSupply_Reset=function(S){J.Exec("CIM_PowerSupply","Reset",{},S)};J.CIM_PowerSupply_EnableDevice=function(T,S){J.Exec("CIM_PowerSupply","EnableDevice",{Enabled:T},S)};J.CIM_PowerSupply_OnlineDevice=function(T,S){J.Exec("CIM_PowerSupply","OnlineDevice",{Online:T},S)};J.CIM_PowerSupply_QuiesceDevice=function(T,S){J.Exec("CIM_PowerSupply","QuiesceDevice",{Quiesce:T},S)};J.CIM_PowerSupply_SaveProperties=function(S){J.Exec("CIM_PowerSupply","SaveProperties",{},S)};J.CIM_PowerSupply_RestoreProperties=function(S){J.Exec("CIM_PowerSupply","RestoreProperties",{},S)};J.CIM_PowerSupply_RequestStateChange=function(T,U,S){J.Exec("CIM_PowerSupply","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_Processor_SetPowerState=function(T,U,S){J.Exec("CIM_Processor","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_Processor_Reset=function(S){J.Exec("CIM_Processor","Reset",{},S)};J.CIM_Processor_EnableDevice=function(T,S){J.Exec("CIM_Processor","EnableDevice",{Enabled:T},S)};J.CIM_Processor_OnlineDevice=function(T,S){J.Exec("CIM_Processor","OnlineDevice",{Online:T},S)};J.CIM_Processor_QuiesceDevice=function(T,S){J.Exec("CIM_Processor","QuiesceDevice",{Quiesce:T},S)};J.CIM_Processor_SaveProperties=function(S){J.Exec("CIM_Processor","SaveProperties",{},S)};J.CIM_Processor_RestoreProperties=function(S){J.Exec("CIM_Processor","RestoreProperties",{},S)};J.CIM_Processor_RequestStateChange=function(T,U,S){J.Exec("CIM_Processor","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_RecordLog_ClearLog=function(S){J.Exec("CIM_RecordLog","ClearLog",{},S)};J.CIM_RecordLog_RequestStateChange=function(T,U,S){J.Exec("CIM_RecordLog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_RedirectionService_RequestStateChange=function(T,U,S){J.Exec("CIM_RedirectionService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_Sensor_SetPowerState=function(T,U,S){J.Exec("CIM_Sensor","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_Sensor_Reset=function(S){J.Exec("CIM_Sensor","Reset",{},S)};J.CIM_Sensor_EnableDevice=function(T,S){J.Exec("CIM_Sensor","EnableDevice",{Enabled:T},S)};J.CIM_Sensor_OnlineDevice=function(T,S){J.Exec("CIM_Sensor","OnlineDevice",{Online:T},S)};J.CIM_Sensor_QuiesceDevice=function(T,S){J.Exec("CIM_Sensor","QuiesceDevice",{Quiesce:T},S)};J.CIM_Sensor_SaveProperties=function(S){J.Exec("CIM_Sensor","SaveProperties",{},S)};J.CIM_Sensor_RestoreProperties=function(S){J.Exec("CIM_Sensor","RestoreProperties",{},S)};J.CIM_Sensor_RequestStateChange=function(T,U,S){J.Exec("CIM_Sensor","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_StatisticalData_ResetSelectedStats=function(T,S){J.Exec("CIM_StatisticalData","ResetSelectedStats",{SelectedStatistics:T},S)};J.CIM_Watchdog_KeepAlive=function(S){J.Exec("CIM_Watchdog","KeepAlive",{},S)};J.CIM_Watchdog_SetPowerState=function(T,U,S){J.Exec("CIM_Watchdog","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_Watchdog_Reset=function(S){J.Exec("CIM_Watchdog","Reset",{},S)};J.CIM_Watchdog_EnableDevice=function(T,S){J.Exec("CIM_Watchdog","EnableDevice",{Enabled:T},S)};J.CIM_Watchdog_OnlineDevice=function(T,S){J.Exec("CIM_Watchdog","OnlineDevice",{Online:T},S)};J.CIM_Watchdog_QuiesceDevice=function(T,S){J.Exec("CIM_Watchdog","QuiesceDevice",{Quiesce:T},S)};J.CIM_Watchdog_SaveProperties=function(S){J.Exec("CIM_Watchdog","SaveProperties",{},S)};J.CIM_Watchdog_RestoreProperties=function(S){J.Exec("CIM_Watchdog","RestoreProperties",{},S)};J.CIM_Watchdog_RequestStateChange=function(T,U,S){J.Exec("CIM_Watchdog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_WiFiPort_SetPowerState=function(T,U,S){J.Exec("CIM_WiFiPort","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_WiFiPort_Reset=function(S){J.Exec("CIM_WiFiPort","Reset",{},S)};J.CIM_WiFiPort_EnableDevice=function(T,S){J.Exec("CIM_WiFiPort","EnableDevice",{Enabled:T},S)};J.CIM_WiFiPort_OnlineDevice=function(T,S){J.Exec("CIM_WiFiPort","OnlineDevice",{Online:T},S)};J.CIM_WiFiPort_QuiesceDevice=function(T,S){J.Exec("CIM_WiFiPort","QuiesceDevice",{Quiesce:T},S)};J.CIM_WiFiPort_SaveProperties=function(S){J.Exec("CIM_WiFiPort","SaveProperties",{},S)};J.CIM_WiFiPort_RestoreProperties=function(S){J.Exec("CIM_WiFiPort","RestoreProperties",{},S)};J.CIM_WiFiPort_RequestStateChange=function(T,U,S){J.Exec("CIM_WiFiPort","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.IPS_HostBasedSetupService_Setup=function(W,X,V,T,Y,U,S){J.Exec("IPS_HostBasedSetupService","Setup",{NetAdminPassEncryptionType:W,NetworkAdminPassword:X,McNonce:V,Certificate:T,SigningAlgorithm:Y,DigitalSignature:U},S)};J.IPS_HostBasedSetupService_AddNextCertInChain=function(V,T,U,S){J.Exec("IPS_HostBasedSetupService","AddNextCertInChain",{NextCertificate:V,IsLeafCertificate:T,IsRootCertificate:U},S)};J.IPS_HostBasedSetupService_AdminSetup=function(V,W,U,X,T,S){J.Exec("IPS_HostBasedSetupService","AdminSetup",{NetAdminPassEncryptionType:V,NetworkAdminPassword:W,McNonce:U,SigningAlgorithm:X,DigitalSignature:T},S)};J.IPS_HostBasedSetupService_UpgradeClientToAdmin=function(U,V,T,S){J.Exec("IPS_HostBasedSetupService","UpgradeClientToAdmin",{McNonce:U,SigningAlgorithm:V,DigitalSignature:T},S)};J.IPS_HostBasedSetupService_DisableClientControlMode=function(S,T){J.Exec("IPS_HostBasedSetupService","DisableClientControlMode",{_method_dummy:S},T)};J.IPS_KVMRedirectionSettingData_TerminateSession=function(S){J.Exec("IPS_KVMRedirectionSettingData","TerminateSession",{},S)};J.IPS_KVMRedirectionSettingData_DataChannelRead=function(S){J.Exec("IPS_KVMRedirectionSettingData","DataChannelRead",{},S)};J.IPS_KVMRedirectionSettingData_DataChannelWrite=function(T,S){J.Exec("IPS_KVMRedirectionSettingData","DataChannelWrite",{DataMessage:T},S)};J.IPS_OptInService_StartOptIn=function(S){J.Exec("IPS_OptInService","StartOptIn",{},S)};J.IPS_OptInService_CancelOptIn=function(S){J.Exec("IPS_OptInService","CancelOptIn",{},S)};J.IPS_OptInService_SendOptInCode=function(T,S){J.Exec("IPS_OptInService","SendOptInCode",{OptInCode:T},S)};J.IPS_OptInService_StartService=function(S){J.Exec("IPS_OptInService","StartService",{},S)};J.IPS_OptInService_StopService=function(S){J.Exec("IPS_OptInService","StopService",{},S)};J.IPS_OptInService_RequestStateChange=function(T,U,S){J.Exec("IPS_OptInService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.IPS_ProvisioningRecordLog_RequestStateChange=function(T,U,S){J.Exec("IPS_ProvisioningRecordLog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.IPS_ProvisioningRecordLog_ClearLog=function(S,T){J.Exec("IPS_ProvisioningRecordLog","ClearLog",{_method_dummy:S},T)};J.IPS_SecIOService_RequestStateChange=function(T,U,S){J.Exec("IPS_SecIOService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AmtStatusToStr=function(S){if(J.AmtStatusCodes[S]){return J.AmtStatusCodes[S]}else{return"UNKNOWN_ERROR"}};J.AmtStatusCodes={0:"SUCCESS",1:"INTERNAL_ERROR",2:"NOT_READY",3:"INVALID_PT_MODE",4:"INVALID_MESSAGE_LENGTH",5:"TABLE_FINGERPRINT_NOT_AVAILABLE",6:"INTEGRITY_CHECK_FAILED",7:"UNSUPPORTED_ISVS_VERSION",8:"APPLICATION_NOT_REGISTERED",9:"INVALID_REGISTRATION_DATA",10:"APPLICATION_DOES_NOT_EXIST",11:"NOT_ENOUGH_STORAGE",12:"INVALID_NAME",13:"BLOCK_DOES_NOT_EXIST",14:"INVALID_BYTE_OFFSET",15:"INVALID_BYTE_COUNT",16:"NOT_PERMITTED",17:"NOT_OWNER",18:"BLOCK_LOCKED_BY_OTHER",19:"BLOCK_NOT_LOCKED",20:"INVALID_GROUP_PERMISSIONS",21:"GROUP_DOES_NOT_EXIST",22:"INVALID_MEMBER_COUNT",23:"MAX_LIMIT_REACHED",24:"INVALID_AUTH_TYPE",25:"AUTHENTICATION_FAILED",26:"INVALID_DHCP_MODE",27:"INVALID_IP_ADDRESS",28:"INVALID_DOMAIN_NAME",29:"UNSUPPORTED_VERSION",30:"REQUEST_UNEXPECTED",31:"INVALID_TABLE_TYPE",32:"INVALID_PROVISIONING_STATE",33:"UNSUPPORTED_OBJECT",34:"INVALID_TIME",35:"INVALID_INDEX",36:"INVALID_PARAMETER",37:"INVALID_NETMASK",38:"FLASH_WRITE_LIMIT_EXCEEDED",39:"INVALID_IMAGE_LENGTH",40:"INVALID_IMAGE_SIGNATURE",41:"PROPOSE_ANOTHER_VERSION",42:"INVALID_PID_FORMAT",43:"INVALID_PPS_FORMAT",44:"BIST_COMMAND_BLOCKED",45:"CONNECTION_FAILED",46:"CONNECTION_TOO_MANY",47:"RNG_GENERATION_IN_PROGRESS",48:"RNG_NOT_READY",49:"CERTIFICATE_NOT_READY",1024:"DISABLED_BY_POLICY",2048:"NETWORK_IF_ERROR_BASE",2049:"UNSUPPORTED_OEM_NUMBER",2050:"UNSUPPORTED_BOOT_OPTION",2051:"INVALID_COMMAND",2052:"INVALID_SPECIAL_COMMAND",2053:"INVALID_HANDLE",2054:"INVALID_PASSWORD",2055:"INVALID_REALM",2056:"STORAGE_ACL_ENTRY_IN_USE",2057:"DATA_MISSING",2058:"DUPLICATE",2059:"EVENTLOG_FROZEN",2060:"PKI_MISSING_KEYS",2061:"PKI_GENERATING_KEYS",2062:"INVALID_KEY",2063:"INVALID_CERT",2064:"CERT_KEY_NOT_MATCH",2065:"MAX_KERB_DOMAIN_REACHED",2066:"UNSUPPORTED",2067:"INVALID_PRIORITY",2068:"NOT_FOUND",2069:"INVALID_CREDENTIALS",2070:"INVALID_PASSPHRASE",2072:"NO_ASSOCIATION",2075:"AUDIT_FAIL",2076:"BLOCKING_COMPONENT",2081:"USER_CONSENT_REQUIRED",4096:"APP_INTERNAL_ERROR",4097:"NOT_INITIALIZED",4098:"LIB_VERSION_UNSUPPORTED",4099:"INVALID_PARAM",4100:"RESOURCES",4101:"HARDWARE_ACCESS_ERROR",4102:"REQUESTOR_NOT_REGISTERED",4103:"NETWORK_ERROR",4104:"PARAM_BUFFER_TOO_SHORT",4105:"COM_NOT_INITIALIZED_IN_THREAD",4106:"URL_REQUIRED"};J.GetMessageLog=function(S,T){J.AMT_MessageLog_PositionToFirstRecord(k,[S,T,[]])};function k(U,S,T,V,W){if(V!=200||T.Body.ReturnValue!="0"){W[0](J,null,W[2],V);return}J.AMT_MessageLog_GetRecords(T.Body.IterationIdentifier,390,l,W)}function l(Z,W,Y,aa,ac){if(aa!=200||Y.Body.ReturnValue!="0"){ac[0](J,null,ac[2],aa);return}var U,V,ae,T,S=ac[2],ab=new Date(),ad,X=Y.Body.RecordArray;if(typeof X==="string"){Y.Body.RecordArray=[Y.Body.RecordArray]}for(U in X){T=Buffer.from(X[U],"base64");if(T!=null){ad=M(T,0);if((ad>0)&&(ad<4294967295)){ae={DeviceAddress:T[4],EventSensorType:T[5],EventType:T[6],EventOffset:T[7],EventSourceType:T[8],EventSeverity:T[9],SensorNumber:T[10],Entity:T[11],EntityInstance:T[12],EventData:[],Time:new Date((ad+(ab.getTimezoneOffset()*60))*1000)};for(V=13;V<21;V++){ae.EventData.push(T[V])}ae.EntityStr=o[ae.Entity];ae.Desc=j(ae.EventSensorType,ae.EventOffset,ae.EventData,ae.Entity);if(!ae.EntityStr){ae.EntityStr="Unknown"}S.push(ae)}}}if(Y.Body.NoMoreRecords!=true){J.AMT_MessageLog_GetRecords(Y.Body.IterationIdentifier,390,l,[ac[0],S,ac[2]])}else{ac[0](J,S,ac[2])}}var f="Platform firmware (e.g. BIOS)|SMI handler|ISV system management software|Alert ASIC|IPMI|BIOS vendor|System board set vendor|System integrator|Third party add-in|OSV|NIC|System management card".split("|");var p="Unspecified.|No system memory is physically installed in the system.|No usable system memory, all installed memory has experienced an unrecoverable failure.|Unrecoverable hard-disk/ATAPI/IDE device failure.|Unrecoverable system-board failure.|Unrecoverable diskette subsystem failure.|Unrecoverable hard-disk controller failure.|Unrecoverable PS/2 or USB keyboard failure.|Removable boot media not found.|Unrecoverable video controller failure.|No video device detected.|Firmware (BIOS) ROM corruption detected.|CPU voltage mismatch (processors that share same supply have mismatched voltage requirements)|CPU speed matching failure".split("|");var q="Unspecified.|Memory initialization.|Starting hard-disk initialization and test|Secondary processor(s) initialization|User authentication|User-initiated system setup|USB resource configuration|PCI resource configuration|Option ROM initialization|Video initialization|Cache initialization|SM Bus initialization|Keyboard controller initialization|Embedded controller/management controller initialization|Docking station attachment|Enabling docking station|Docking station ejection|Disabling docking station|Calling operating system wake-up vector|Starting operating system boot process|Baseboard or motherboard initialization|reserved|Floppy initialization|Keyboard test|Pointing device test|Primary processor initialization".split("|");var o="Unspecified|Other|Unknown|Processor|Disk|Peripheral|System management module|System board|Memory module|Processor module|Power supply|Add in card|Front panel board|Back panel board|Power system board|Drive backplane|System internal expansion board|Other system board|Processor board|Power unit|Power module|Power management board|Chassis back panel board|System chassis|Sub chassis|Other chassis board|Disk drive bay|Peripheral bay|Device bay|Fan cooling|Cooling unit|Cable interconnect|Memory device|System management software|BIOS|Intel(r) ME|System bus|Group|Intel(r) ME|External environment|Battery|Processing blade|Connectivity switch|Processor/memory module|I/O module|Processor I/O module|Management controller firmware|IPMI channel|PCI bus|PCI express bus|SCSI bus|SATA/SAS bus|Processor front side bus".split("|");J.RealmNames="||Redirection|PT Administration|Hardware Asset|Remote Control|Storage|Event Manager|Storage Admin|Agent Presence Local|Agent Presence Remote|Circuit Breaker|Network Time|General Information|Firmware Update|EIT|LocalUN|Endpoint Access Control|Endpoint Access Control Admin|Event Log Reader|Audit Log|ACL Realm|||Local System".split("|");J.WatchdogCurrentStates={1:"Not Started",2:"Stopped",4:"Running",8:"Expired",16:"Suspended"};function j(V,U,T,S){if(V==15){if(T[0]==235){return"Invalid Data"}if(U==0){return p[T[1]]}return q[T[1]]}if(V==18&&T[0]==170){return"Agent watchdog "+char2hex(T[4])+char2hex(T[3])+char2hex(T[2])+char2hex(T[1])+"-"+char2hex(T[6])+char2hex(T[5])+"-... changed to "+J.WatchdogCurrentStates[T[7]]}if(V==6){return"Authentication failed "+(T[1]+(T[2]<<8))+" times. The system may be under attack."}if(V==30){return"No bootable media"}if(V==32){return"Operating system lockup or power interrupt"}if(V==35){return"System boot failure"}if(V==37){return"System firmware started (at least one CPU is properly executing)."}return"Unknown Sensor Type #"+V}var a={16:"Security Admin",17:"RCO",18:"Redirection Manager",19:"Firmware Update Manager",20:"Security Audit Log",21:"Network Time",22:"Network Administration",23:"Storage Administration",24:"Event Manager",25:"Circuit Breaker Manager",26:"Agent Presence Manager",27:"Wireless Configuration",28:"EAC",29:"KVM",30:"User Opt-In Events",32:"Screen Blanking",33:"Watchdog Events",1600:"Provisioning Started",1601:"Provisioning Completed",1602:"ACL Entry Added",1603:"ACL Entry Modified",1604:"ACL Entry Removed",1605:"ACL Access with Invalid Credentials",1606:"ACL Entry State",1607:"TLS State Changed",1608:"TLS Server Certificate Set",1609:"TLS Server Certificate Remove",1610:"TLS Trusted Root Certificate Added",1611:"TLS Trusted Root Certificate Removed",1612:"TLS Preshared Key Set",1613:"Kerberos Settings Modified",1614:"Kerberos Master Key Modified",1615:"Flash Wear out Counters Reset",1616:"Power Package Modified",1617:"Set Realm Authentication Mode",1618:"Upgrade Client to Admin Control Mode",1619:"Unprovisioning Started",1700:"Performed Power Up",1701:"Performed Power Down",1702:"Performed Power Cycle",1703:"Performed Reset",1704:"Set Boot Options",1800:"IDER Session Opened",1801:"IDER Session Closed",1802:"IDER Enabled",1803:"IDER Disabled",1804:"SoL Session Opened",1805:"SoL Session Closed",1806:"SoL Enabled",1807:"SoL Disabled",1808:"KVM Session Started",1809:"KVM Session Ended",1810:"KVM Enabled",1811:"KVM Disabled",1812:"VNC Password Failed 3 Times",1900:"Firmware Updated",1901:"Firmware Update Failed",2000:"Security Audit Log Cleared",2001:"Security Audit Policy Modified",2002:"Security Audit Log Disabled",2003:"Security Audit Log Enabled",2004:"Security Audit Log Exported",2005:"Security Audit Log Recovered",2100:"Intel(R) ME Time Set",2200:"TCPIP Parameters Set",2201:"Host Name Set",2202:"Domain Name Set",2203:"VLAN Parameters Set",2204:"Link Policy Set",2205:"IPv6 Parameters Set",2300:"Global Storage Attributes Set",2301:"Storage EACL Modified",2302:"Storage FPACL Modified",2303:"Storage Write Operation",2400:"Alert Subscribed",2401:"Alert Unsubscribed",2402:"Event Log Cleared",2403:"Event Log Frozen",2500:"CB Filter Added",2501:"CB Filter Removed",2502:"CB Policy Added",2503:"CB Policy Removed",2504:"CB Default Policy Set",2505:"CB Heuristics Option Set",2506:"CB Heuristics State Cleared",2600:"Agent Watchdog Added",2601:"Agent Watchdog Removed",2602:"Agent Watchdog Action Set",2700:"Wireless Profile Added",2701:"Wireless Profile Removed",2702:"Wireless Profile Updated",2800:"EAC Posture Signer SET",2801:"EAC Enabled",2802:"EAC Disabled",2803:"EAC Posture State",2804:"EAC Set Options",2900:"KVM Opt-in Enabled",2901:"KVM Opt-in Disabled",2902:"KVM Password Changed",2903:"KVM Consent Succeeded",2904:"KVM Consent Failed",3000:"Opt-In Policy Change",3001:"Send Consent Code Event",3002:"Start Opt-In Blocked Event"};J.GetAuditLogExtendedDataStr=function(T,S){if((T==1602||T==1604)&&S[0]==0){return w(S).splice(2,2+S[1]).toString()}if(T==1603){if(S[1]==0){return w(S).splice(3).toString()}return null}if(T==1605){return["Invalid ME access","Invalid MEBx access"][S[0]]}if(T==1606){var U=["Disabled","Enabled"][S[0]];if(S[1]==0){U+=", "+S[3]}return U}if(T==1607){return"Remote "+["NoAuth","ServerAuth","MutualAuth"][S[0]]+", Local "+["NoAuth","ServerAuth","MutualAuth"][S[1]]}if(T==1617){return J.RealmNames[L(S,0)]+", "+["NoAuth","Auth","Disabled"][S[4]]}if(T==1619){return["BIOS","MEBx","Local MEI","Local WSMAN","Remote WSAMN"][S[0]]}if(T==1900){return"From "+N(S,0)+"."+N(S,2)+"."+N(S,4)+"."+N(S,6)+" to "+N(S,8)+"."+N(S,10)+"."+N(S,12)+"."+N(S,14)}if(T==2100){var V=new Date();V.setTime(L(S,0)*1000+(new Date().getTimezoneOffset()*60000));return V.toLocaleString()}if(T==3000){return"From "+["None","KVM","All"][S[0]]+" to "+["None","KVM","All"][S[1]]}if(T==3001){return["Success","Failed 3 times"][S[0]]}return null};J.GetAuditLog=function(S){J.AMT_AuditLog_ReadRecords(1,i,[S,[]])};function I(S){if(!S||S==null||typeof S=="object"){return S}return[S]}function N(T,S){return(T[S]<<8)+T[S+1]}function L(T,S){return(T[S]*16777216)+(T[S+1]<<16)+(T[S+2]<<8)+T[S+3]}function M(T,S){return(T[S+3]*16777216)+(T[S+2]<<16)+(T[S+1]<<8)+T[S]}function v(S){return Buffer.from(S).toString("base64")}function u(T){var U=null;try{U=Buffer.from(T,"base64").toString()}catch(S){console.log(S)}return U}function w(S){var U=[];for(var T in S){U.push(S[T])}return U}function i(ab,W,aa,ac,ae){if(ac!=200){ae[0](J,[],ac);return}var Y,V,S,ah,Z=ae[1],ad=new Date(),af;if(aa.Body.RecordsReturned>0){aa.Body.EventRecords=I(aa.Body.EventRecords);for(V in aa.Body.EventRecords){S=null;try{S=Buffer.from(aa.Body.EventRecords[V],"base64")}catch(T){console.log(T+" "+aa.Body.EventRecords[V])}ah={AuditAppID:N(S,0),EventID:N(S,2),InitiatorType:S[4]};ah.AuditApp=a[ah.AuditAppID];ah.Event=a[(ah.AuditAppID*100)+ah.EventID];if(!ah.Event){ah.Event="#"+ah.EventID}if(ah.InitiatorType==0){var ag=S[5];ah.Initiator=S.slice(6,6+ag).toString();Y=6+ag}if(ah.InitiatorType==1){ah.KerberosUserInDomain=L(S,5);var ag=S[9];ah.Initiator=G(S.slice(10,10+ag));Y=10+ag}if(ah.InitiatorType==2){ah.Initiator="Local";Y=5}if(ah.InitiatorType==3){ah.Initiator="KVM Default Port";Y=5}af=L(S,Y);ah.Time=new Date((af+(ad.getTimezoneOffset()*60))*1000);Y+=4;ah.MCLocationType=S[Y++];var X=S[Y++];ah.NetAddress=S.slice(Y,Y+X).toString();Y+=X;var U=S[Y++];ah.Ex=S.slice(Y,Y+U);ah.ExStr=J.GetAuditLogExtendedDataStr((ah.AuditAppID*100)+ah.EventID,ah.Ex);Z.push(ah)}}if(aa.Body.TotalRecordCount>Z.length){J.AMT_AuditLog_ReadRecords(Z.length+1,i,[ae[0],Z])}else{ae[0](J,Z,ac)}}function C(U){if(U===undefined||U===null){return null}var V="";for(var T in U){var S=U[T];if(!S){continue}if(S.__parameterType==="reference"){V+=O(T,S)}else{V+=H(T,S)}}return V}function H(V,U){if(U===undefined||U===null){return null}var T=!!U.__namespace;var Z=T?"";for(var X in U){if(!U.hasOwnProperty(X)||X.indexOf("__")===0){continue}if(typeof U[X]==="function"||Array.isArray(U[X])){continue}if(typeof U[X]==="object"){console.error("only convert one level down...")}else{Y+=Z+X+">"+U[X].toString()+S+X+">"}}Y+="";return Y}function O(T,S){if(S===undefined||S===null){return null}var U="/wsman"+S.__resourceUri+"";for(var V in S){if(!S.hasOwnProperty(V)||V.indexOf("__")===0){continue}if(typeof S[V]==="function"||typeof S[V]==="object"||Array.isArray(S[V])){continue}U+=''+S[V].toString()+""}U+="";return U}function G(U){var T="S-"+U.charCodeAt(0)+"-"+U.charCodeAt(7);for(var S=2;S<(U.length/4);S++){T+="-"+M(U,S*4)}return T}function F(V){if(!V||V==null){return null}var U=V.split("-");if(U.length<4||(U[0]!="s"&&U[0]!="S")){return null}for(var S=1;SStandardOutPath\n"+r.stdout+""):"");var i=(r.startType=="AUTO_START"?"":"");var s=" ProgramArguments\n";s+=" \n";s+=(" /usr/local/mesh_services/"+r.name+"/"+r.name+"\n");if(r.parameters){for(var p in r.parameters){s+=(" "+r.parameters[p]+"\n")}}s+=" \n";var t='\n';t+='\n';t+='\n';t+=" \n";t+=" Label\n";t+=(" "+r.name+"\n");t+=(s+"\n");t+=" WorkingDirectory\n";t+=(" /usr/local/mesh_services/"+r.name+"\n");t+=(y+"\n");t+=" RunAtLoad\n";t+=(i+"\n");t+=" \n";t+="";if(!require("fs").existsSync("/usr/local/mesh_services")){require("fs").mkdirSync("/usr/local/mesh_services")}if(!require("fs").existsSync("/Library/LaunchDaemons/"+r.name+".plist")){if(!require("fs").existsSync("/usr/local/mesh_services/"+r.name)){require("fs").mkdirSync("/usr/local/mesh_services/"+r.name)}if(r.binary){require("fs").writeFileSync("/usr/local/mesh_services/"+r.name+"/"+r.name,r.binary)}else{require("fs").copyFileSync(r.servicePath,"/usr/local/mesh_services/"+r.name+"/"+r.name)}require("fs").writeFileSync("/Library/LaunchDaemons/"+r.name+".plist",t);var q=require("fs").statSync("/usr/local/mesh_services/"+r.name+"/"+r.name).mode;q|=(require("fs").CHMOD_MODES.S_IXUSR|require("fs").CHMOD_MODES.S_IXGRP);require("fs").chmodSync("/usr/local/mesh_services/"+r.name+"/"+r.name,q)}else{throw ("Service: "+r.name+" already exists")}}};this.uninstallService=function f(i){if(!this.isAdmin()){throw ("Uninstalling a service, requires admin")}if(typeof(i)=="object"){i=i.name}if(process.platform=="win32"){var j=this.getService(i);if(j.status.state==undefined||j.status.state=="STOPPED"){if(this.proxy.DeleteService(j._service)==0){throw ("Uninstall Service for: "+i+", failed with error: "+this.proxy2.GetLastError())}else{try{require("fs").unlinkSync(this.getServiceFolder()+"\\"+i+".exe")}catch(h){}}}else{throw ("Cannot uninstall service: "+i+", because it is: "+j.status.state)}}else{if(process.platform=="linux"){switch(this.getServiceType()){case"init":this._update=require("child_process").execFile("/bin/sh",["sh"],{type:require("child_process").SpawnTypes.TERM});this._update.stdout.on("data",function(k){});this._update.stdin.write("service "+i+" stop\n");this._update.stdin.write("update-rc.d -f "+i+" remove\n");this._update.stdin.write("exit\n");this._update.waitExit();try{require("fs").unlinkSync("/etc/init.d/"+i);console.log(i+" uninstalled")}catch(h){console.log(i+" could not be uninstalled",h)}break;case"systemd":this._update=require("child_process").execFile("/bin/sh",["sh"],{type:require("child_process").SpawnTypes.TERM});this._update.stdout.on("data",function(k){});this._update.stdin.write("systemctl stop "+i+".service\n");this._update.stdin.write("systemctl disable "+i+".service\n");this._update.stdin.write("exit\n");this._update.waitExit();try{require("fs").unlinkSync("/usr/local/mesh/"+i);require("fs").unlinkSync("/lib/systemd/system/"+i+".service");console.log(i+" uninstalled")}catch(h){console.log(i+" could not be uninstalled",h)}break;default:break}}else{if(process.platform=="darwin"){if(require("fs").existsSync("/Library/LaunchDaemons/"+i+".plist")){var g=require("child_process").execFile("/bin/sh",["sh"]);g.stdout.on("data",function(k){});g.stdin.write("launchctl stop "+i+"\n");g.stdin.write("launchctl unload /Library/LaunchDaemons/"+i+".plist\n");g.stdin.write("exit\n");g.waitExit();try{require("fs").unlinkSync("/usr/local/mesh_services/"+i+"/"+i);require("fs").unlinkSync("/Library/LaunchDaemons/"+i+".plist")}catch(h){throw ("Error uninstalling service: "+i+" => "+h)}try{require("fs").rmdirSync("/usr/local/mesh_services/"+i)}catch(h){}}else{throw ("Service: "+i+" does not exist")}}}}};if(process.platform=="linux"){this.getServiceType=function c(){return(require("process-manager").getProcessInfo(1).Name)}}}module.exports=serviceManager; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/smbios.min.js b/agents/modules_meshcmd_min/smbios.min.js new file mode 100644 index 00000000..14e5a722 --- /dev/null +++ b/agents/modules_meshcmd_min/smbios.min.js @@ -0,0 +1 @@ +try{Object.defineProperty(Array.prototype,"peek",{value:function(){return(this.length>0?this[this.length-1]:undefined)}})}catch(e){}try{Object.defineProperty(String.prototype,"replaceAll",{value:function replaceAll(b,a){return(this.split(b).join(a))}})}catch(e){}var RSMB=1381190978;var memoryLocation={1:"Other",2:"Unknown",3:"System Board",4:"ISA",5:"EISA",6:"PCI",7:"MCA",8:"PCMCIA",9:"Proprietary",10:"NuBus",160:"PC-98/C20",161:"PC-98/C24",162:"PC-98/E",163:"PC-98/LB"};var wakeReason=["Reserved","Other","Unknown","APM Timer","Modem Ring","LAN","Power Switch","PCI","AC Power"];function zeroLeftPad(c,b){if((b==null)&&(typeof(b)!="number")){return null}if(c==null){c=""}var d="";for(var a=0;a1){var r=v[1].split("\x0A\x0A")[0].split("\x0A");var s=[];for(var t in r){var u=r[t].trim().replaceAll(" ","").replaceAll("\x09","");if(!(u[0]=='"')){s.push(u)}}p.write(Buffer.from(s.join(""),"hex"));p.write(Buffer.from("00","hex"))}else{p.write(Buffer.from("0000","hex"))}}var q=p.buffer;q.ms=p;return(q)}}this._parse=function b(o){var n={};var m;var l=0;var o;var s=0;while(o&&l0){var n=l[4].pop();var o=n[20]&64;var s=n[20]&7;if(o){var m={_ObjectID:"SMBiosTables.processorInfo"};m.Processor=q[n[1]];m.MaxSpeed=n.readUInt16LE(16)+" Mhz";if(n[31]){m.Cores=n[31]}if(n[33]){m.Threads=n[33]}m.Populated=1;m.Status=t[s];m.Socket=n._strings[n[0]-1];m.Manufacturer=n._strings[n[3]-1];m.Version=n._strings[n[12]-1];r.push(m)}}return(r)};this.memoryInfo=function f(k){if(!k){throw ("no data")}var n={_ObjectID:"SMBiosTables.memoryInfo"};if(k[16]){var l=k[16].peek();n.location=memoryLocation[l[0]];if((n.maxCapacityKb=l.readUInt32LE(3))==2147483648){n.maxCapacityKb="A really big number"}}return(n)};this.systemInfo=function i(k){if(!k){throw ("no data")}var l={_ObjectID:"SMBiosTables.systemInfo"};if(k[1]){var m=k[1].peek();var n=m.slice(4,20);l.uuid=[zeroLeftPad(n.readUInt32LE(0).toString(16),8),zeroLeftPad(n.readUInt16LE(4).toString(16),4),zeroLeftPad(n.readUInt16LE(6).toString(16),4),zeroLeftPad(n.readUInt16BE(8).toString(16),4),zeroLeftPad(n.slice(10).toString("hex").toLowerCase(),12)].join("-");l.wakeReason=wakeReason[m[20]]}return(l)};this.systemSlots=function j(k){if(!k){throw ("no data")}var l=[];if(k[9]){while(k[9].length>0){var m=k[9].pop();l.push({name:m._strings[m[0]-1]})}}return(l)};this.amtInfo=function c(l){if(!l){throw ("no data")}var n={AMT:false};if(l[130]&&l[130].peek().slice(0,4).toString()=="$AMT"){var k=l[130].peek();n.AMT=k[4]?true:false;if(n.AMT){n.enabled=k[5]?true:false;n.storageRedirection=k[6]?true:false;n.serialOverLan=k[7]?true:false;n.kvm=k[14]?true:false;if(l[131].peek()&&l[131].peek().slice(52,56).toString()=="vPro"){var o=l[131].peek();if(o[0]&4){n.TXT=(o[0]&8)?true:false}if(o[0]&16){n.VMX=(o[0]&32)?true:false}n.MEBX=o.readUInt16LE(4).toString()+"."+o.readUInt16LE(6).toString()+"."+o.readUInt16LE(8).toString()+"."+o.readUInt16LE(10).toString();var m=o.slice(20,32);n.ManagementEngine=m.readUInt16LE(6).toString()+"."+m.readUInt16LE(4).toString()+"."+m.readUInt16LE(10).toString()+"."+m.readUInt16LE(8).toString()}}}return(n)};this.smTableTypes={0:"BIOS information",1:"System information",2:"Baseboard (or Module) information",4:"Processor information",5:"memory controller information",6:"Memory module information",7:"Cache information",8:"Port connector information",9:"System slots",10:"On board devices information",11:"OEM strings",12:"System configuration options",13:"BIOS language information",14:"Group associations",15:"System event log",16:"Physical memory array",17:"Memory device",18:"32bit memory error information",19:"Memory array mapped address",20:"Memory device mapped address",21:"Built-in pointing device",22:"Portable battery",23:"System reset",24:"Hardware security",25:"System power controls",26:"Voltage probe",27:"Cooling device",28:"Temperature probe",29:"Electrical current probe",30:"Out-of-band remote access",31:"Boot integrity services (BIS) entry point",32:"System boot information",33:"64bit memory error information",34:"Management device",35:"Management device component",36:"Management device threshold data",37:"Memory channel",38:"IPMI device information",39:"System power supply",40:"Additional information",41:"Onboard devices extended information",42:"Management controller host interface",126:"Inactive",127:"End-of-table"}}module.exports=new SMBiosTables(); \ No newline at end of file diff --git a/agents/modules_meshcmd_min/sysinfo.min.js b/agents/modules_meshcmd_min/sysinfo.min.js new file mode 100644 index 00000000..9230bd6b --- /dev/null +++ b/agents/modules_meshcmd_min/sysinfo.min.js @@ -0,0 +1 @@ +var PDH_FMT_LONG=256;var PDH_FMT_DOUBLE=512;var promise=require("promise");if(process.platform=="win32"){var GM=require("_GenericMarshal");GM.kernel32=GM.CreateNativeProxy("kernel32.dll");GM.kernel32.CreateMethod("GlobalMemoryStatusEx");GM.pdh=GM.CreateNativeProxy("pdh.dll");GM.pdh.CreateMethod("PdhAddEnglishCounterA");GM.pdh.CreateMethod("PdhCloseQuery");GM.pdh.CreateMethod("PdhCollectQueryData");GM.pdh.CreateMethod("PdhGetFormattedCounterValue");GM.pdh.CreateMethod("PdhGetFormattedCounterArrayA");GM.pdh.CreateMethod("PdhOpenQueryA");GM.pdh.CreateMethod("PdhRemoveCounter")}function windows_cpuUtilization(){var b=new promise(function(d,c){this._res=d;this._rej=c});b.counter=GM.CreateVariable(16);b.cpu=GM.CreatePointer();b.cpuTotal=GM.CreatePointer();var a=0;if((a=GM.pdh.PdhOpenQueryA(0,0,b.cpu).Val)!=0){b._rej(a);return}if((a=GM.pdh.PdhAddEnglishCounterA(b.cpu.Deref(),GM.CreateVariable("\\Processor(*)\\% Processor Time"),0,b.cpuTotal).Val)!=0){b._rej(a);return}if((a=GM.pdh.PdhCollectQueryData(b.cpu.Deref()).Val!=0)){b._rej(a);return}b._timeout=setTimeout(function(k){var m={cpus:[]};var d=GM.CreateVariable(4);var j=GM.CreateVariable(4);var c,l,h;var f;if((f=GM.pdh.PdhCollectQueryData(k.cpu.Deref()).Val!=0)){k._rej(f);return}if((f=GM.pdh.PdhGetFormattedCounterArrayA(k.cpuTotal.Deref(),PDH_FMT_DOUBLE,d,j,0).Val)==-2147481646){c=GM.CreateVariable(d.toBuffer().readUInt32LE())}else{k._rej(f);return}if((f=GM.pdh.PdhGetFormattedCounterArrayA(k.cpuTotal.Deref(),PDH_FMT_DOUBLE,d,j,c).Val)!=0){k._rej(f);return}for(var g=0;g0){var f=c[0].split(":")[1];var a=f.split(",");var e=parseFloat(a[0].split("%")[0].trim())+parseFloat(a[1].split("%")[0].trim());d._res({total:e,cpus:[]})}else{d._rej("parse error")}return(d)}function macos_memUtilization(){var d={};var e=new promise(function(h,g){this._res=h;this._rej=g});var b=require("child_process").execFile("/bin/sh",["sh"]);b.stdout.str="";b.stdout.on("data",function(g){this.str+=g.toString()});b.stdin.write('top -l 1 | grep -E "^Phys"\nexit\n');b.waitExit();var c=b.stdout.str.split("\n");if(c[0].length>0){var f=c[0].split(":")[1];var a=f.split(",");d.MemTotal=parseInt(a[0].trim().split(" ")[0]);d.MemFree=parseInt(a[1].trim().split(" ")[0]);d.percentFree=((d.MemFree/d.MemTotal)*100).toFixed(2);d.percentConsumed=(((d.MemTotal-d.MemFree)/d.MemTotal)*100).toFixed(2);return(d)}else{throw ("Parse Error")}}switch(process.platform){case"linux":module.exports={cpuUtilization:linux_cpuUtilization,memUtilization:linux_memUtilization};break;case"win32":module.exports={cpuUtilization:windows_cpuUtilization,memUtilization:windows_memUtilization};break;case"darwin":module.exports={cpuUtilization:macos_cpuUtilization,memUtilization:macos_memUtilization};break}; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/user-sessions.min.js b/agents/modules_meshcmd_min/user-sessions.min.js new file mode 100644 index 00000000..a059a1fc --- /dev/null +++ b/agents/modules_meshcmd_min/user-sessions.min.js @@ -0,0 +1 @@ +var NOTIFY_FOR_THIS_SESSION=0;var NOTIFY_FOR_ALL_SESSIONS=1;var WM_WTSSESSION_CHANGE=689;var WM_POWERBROADCAST=536;var PBT_POWERSETTINGCHANGE=32787;var PBT_APMSUSPEND=4;var PBT_APMRESUMESUSPEND=7;var PBT_APMRESUMEAUTOMATIC=18;var PBT_APMPOWERSTATUSCHANGE=10;var WTS_CONSOLE_CONNECT=(1);var WTS_CONSOLE_DISCONNECT=(2);var WTS_REMOTE_CONNECT=(3);var WTS_REMOTE_DISCONNECT=(4);var WTS_SESSION_LOGON=(5);var WTS_SESSION_LOGOFF=(6);var WTS_SESSION_LOCK=(7);var WTS_SESSION_UNLOCK=(8);var WTS_SESSION_REMOTE_CONTROL=(9);var WTS_SESSION_CREATE=(10);var WTS_SESSION_TERMINATE=(11);var GUID_ACDC_POWER_SOURCE;var GUID_BATTERY_PERCENTAGE_REMAINING;var GUID_CONSOLE_DISPLAY_STATE;function UserSessions(){this._ObjectID="user-sessions";require("events").EventEmitter.call(this,true).createEvent("changed").createEvent("locked").createEvent("unlocked");this.enumerateUsers=function h(){var s=require("promise");var r=new s(function(t,p){this.__resolver=t;this.__rejector=p});r.__handler=function o(p){r.__resolver(p)};try{this.Current(r.__handler)}catch(q){r.__rejector(q)}r.parent=this;return(r)};if(process.platform=="win32"){this._serviceHooked=false;this._marshal=require("_GenericMarshal");this._kernel32=this._marshal.CreateNativeProxy("Kernel32.dll");this._kernel32.CreateMethod("GetLastError");try{this._wts=this._marshal.CreateNativeProxy("Wtsapi32.dll");this._wts.CreateMethod("WTSEnumerateSessionsA");this._wts.CreateMethod("WTSQuerySessionInformationA");this._wts.CreateMethod("WTSRegisterSessionNotification");this._wts.CreateMethod("WTSUnRegisterSessionNotification");this._wts.CreateMethod("WTSFreeMemory")}catch(i){}this._advapi=this._marshal.CreateNativeProxy("Advapi32.dll");this._advapi.CreateMethod("AllocateAndInitializeSid");this._advapi.CreateMethod("CheckTokenMembership");this._advapi.CreateMethod("FreeSid");this._user32=this._marshal.CreateNativeProxy("user32.dll");this._user32.CreateMethod({method:"RegisterPowerSettingNotification",threadDispatch:1});this._user32.CreateMethod("UnregisterPowerSettingNotification");this._rpcrt=this._marshal.CreateNativeProxy("Rpcrt4.dll");this._rpcrt.CreateMethod("UuidFromStringA");this._rpcrt.StringToUUID=function n(o){var p=n.us._marshal.CreateVariable(16);if(n.us._rpcrt.UuidFromStringA(n.us._marshal.CreateVariable(o),p).Val==0){return(p)}else{throw ("Could not convert string to UUID")}};this._rpcrt.StringToUUID.us=this;GUID_ACDC_POWER_SOURCE=this._rpcrt.StringToUUID("5d3e9a59-e9D5-4b00-a6bd-ff34ff516548");GUID_BATTERY_PERCENTAGE_REMAINING=this._rpcrt.StringToUUID("a7ad8041-b45a-4cae-87a3-eecbb468a9e1");GUID_CONSOLE_DISPLAY_STATE=this._rpcrt.StringToUUID("6fe69556-704a-47a0-8f24-c28d936fda47");this.SessionStates=["Active","Connected","ConnectQuery","Shadow","Disconnected","Idle","Listening","Reset","Down","Init"];this.InfoClass={WTSInitialProgram:0,WTSApplicationName:1,WTSWorkingDirectory:2,WTSOEMId:3,WTSSessionId:4,WTSUserName:5,WTSWinStationName:6,WTSDomainName:7,WTSConnectState:8,WTSClientBuildNumber:9,WTSClientName:10,WTSClientDirectory:11,WTSClientProductId:12,WTSClientHardwareId:13,WTSClientAddress:14,WTSClientDisplay:15,WTSClientProtocolType:16,WTSIdleTime:17,WTSLogonTime:18,WTSIncomingBytes:19,WTSOutgoingBytes:20,WTSIncomingFrames:21,WTSOutgoingFrames:22,WTSClientInfo:23,WTSSessionInfo:24,WTSSessionInfoEx:25,WTSConfigInfo:26,WTSValidationInfo:27,WTSSessionAddressV4:28,WTSIsRemoteSession:29};this.isRoot=function k(){var r=this._marshal.CreateVariable(6);r.toBuffer().writeInt8(5,5);var p=this._marshal.CreatePointer();var o=false;if(this._advapi.AllocateAndInitializeSid(r,2,32,544,0,0,0,0,0,0,p).Val!=0){var q=this._marshal.CreateInteger();if(this._advapi.CheckTokenMembership(0,p.Deref(),q).Val!=0){if(q.toBuffer().readUInt32LE()!=0){o=true}}this._advapi.FreeSid(p.Deref())}return o};this.getSessionAttribute=function j(s,o){var p=this._marshal.CreatePointer();var q=this._marshal.CreateVariable(4);if(this._wts.WTSQuerySessionInformationA(0,s,o,p,q).Val==0){throw ("Error calling WTSQuerySessionInformation: "+this._kernel32.GetLastError.Val)}var r=p.Deref().String;this._wts.WTSFreeMemory(p.Deref());return(r)};this.Current=function f(o){var u={};var t=this._marshal.CreatePointer();var p=this._marshal.CreateVariable(4);if(this._wts.WTSEnumerateSessionsA(0,0,1,t,p).Val==0){throw ("Error calling WTSEnumerateSessionsA: "+this._kernel32.GetLastError().Val)}for(var q=0;q= 0) {printf \"%s:%s\\n\", $1, $3}' /etc/passwd\nexit\n");o.waitExit();var p=o.stdout.str.split("\n");var r={},s;for(var q in p){s=p[q].split(":");if(s[0]){r[s[0]]=s[1]}}return(r)};this._uids=function c(){var o=require("child_process").execFile("/bin/sh",["sh"]);o.stdout.str="";o.stdout.on("data",function(t){this.str+=t.toString()});o.stdin.write("awk -F: '($3 >= 0) {printf \"%s:%s\\n\", $1, $3}' /etc/passwd\nexit\n");o.waitExit();var p=o.stdout.str.split("\n");var r={},s;for(var q in p){s=p[q].split(":");if(s[0]){r[s[1]]=s[0]}}return(r)};this.Self=function m(){var q=require("promise");var o=new q(function(r,p){this.__resolver=r;this.__rejector=p;this.__child=require("child_process").execFile("/usr/bin/id",["id","-u"]);this.__child.promise=this;this.__child.stdout._txt="";this.__child.stdout.on("data",function(s){this._txt+=s.toString()});this.__child.on("exit",function(s){try{parseInt(this.stdout._txt)}catch(t){this.promise.__rejector("invalid uid");return}var u=parseInt(this.stdout._txt);this.promise.__resolver(u)})});return(o)};this.Current=function f(o){var p={};p._ObjectID="UserSession";Object.defineProperty(p,"_callback",{value:o});Object.defineProperty(p,"_child",{value:require("child_process").execFile("/usr/bin/last",["last","-f","/var/run/utmp"])});p._child.Parent=p;p._child._txt="";p._child.on("exit",function(q){var u=this._txt.split("\n");var A=[];var D={};for(var t in u){if(u[t]){var B=getTokens(u[t]);var z={Username:B[0],SessionId:B[1]};if(B[3].includes("still logged in")){z.State="Active"}else{z.LastActive=B[3]}A.push(z)}}A.pop();var C={};var y=[];for(var t in A){if(A[t].Username!="reboot"){D[A[t].SessionId]=A[t];if(C[A[t].Username]==null){C[A[t].Username]=-1}}}try{require("promise")}catch(r){Object.defineProperty(D,"Active",{value:showActiveOnly(D)});if(this.Parent._callback){this.Parent._callback.call(this.Parent,D)}return}var x=require("promise");for(var v in C){var w=new x(function(E,s){this.__username=v;this.__resolver=E;this.__rejector=s;this.__child=require("child_process").execFile("/usr/bin/id",["id","-u",v]);this.__child.promise=this;this.__child.stdout._txt="";this.__child.stdout.on("data",function(F){this._txt+=F.toString()});this.__child.on("exit",function(F){try{parseInt(this.stdout._txt)}catch(G){this.promise.__rejector("invalid uid");return}var H=parseInt(this.stdout._txt);this.promise.__resolver(H)})});y.push(w)}x.all(y).then(function(E){var F={};for(var s in E){F[E[s].__username]=E[s]._internal.completedArgs[0]}for(var s in D){D[s].uid=F[D[s].Username]}Object.defineProperty(D,"Active",{value:showActiveOnly(D)});if(p._callback){p._callback.call(p,D)}},function(s){Object.defineProperty(D,"Active",{value:showActiveOnly(D)});if(p._callback){p._callback.call(p,D)}})});p._child.stdout.Parent=p._child;p._child.stdout.on("data",function(q){this.Parent._txt+=q.toString()});return(p)};this._recheckLoggedInUsers=function a(){this.enumerateUsers().then(function(o){if(o.Active.length>0){if(this.parent._linux_lock_watcher!=null&&this.parent._linux_lock_watcher.uid!=o.Active[0].uid){delete this.parent._linux_lock_watcher}this.parent._linux_lock_watcher=new g(process.env.XDG_CURRENT_DESKTOP=="Unity"?"com.ubuntu.Upstart0_6":"org.gnome.ScreenSaver",o.Active[0].uid);this.parent._linux_lock_watcher.user_session=this.parent;this.parent._linux_lock_watcher.on("signal",function(r){var q=this.user_session.enumerateUsers();q.signalData=r.data[0];q.then(function(p){switch(this.signalData){case true:case"desktop-lock":this.parent.emit("locked",p.Active[0]);break;case false:case"desktop-unlock":this.parent.emit("unlocked",p.Active[0]);break}})})}else{if(this.parent._linux_lock_watcher!=null){delete this.parent._linux_lock_watcher}}})};this.on("changed",this._recheckLoggedInUsers);this._recheckLoggedInUsers()}else{if(process.platform=="darwin"){this._users=function(){var o=require("child_process").execFile("/usr/bin/dscl",["dscl",".","list","/Users","UniqueID"]);o.stdout.str="";o.stdout.on("data",function(t){this.str+=t.toString()});o.stdin.write("exit\n");o.waitExit();var q=o.stdout.str.split("\n");var r,p;var s={};for(p=0;p0;++r){if(!u[s[r].split(" ")[0]]){try{u[s[r].split(" ")[0]]={Username:s[r].split(" ")[0],State:s[r].split("still logged in").length>1?"Active":"Inactive",uid:t.uid[s[r].split(" ")[0]]}}catch(q){}}else{if(u[s[r].split(" ")[0]].State!="Active"&&s[r].split("still logged in").length>1){u[s[r].split(" ")[0]].State="Active"}}}Object.defineProperty(u,"Active",{value:showActiveOnly(u)});if(o){o.call(this,u)}}}}}if(process.platform=="linux"||process.platform=="darwin"){this._self=function b(){var o=require("child_process").execFile("/usr/bin/id",["id","-u"]);o.stdout.str="";o.stdout.on("data",function(p){this.str+=p.toString()});o.waitExit();return(parseInt(o.stdout.str))};this.isRoot=function k(){return(this._self()==0)};this.consoleUid=function e(){var o=process.platform=="darwin"?"console":((process.env.DISPLAY)?process.env.DISPLAY:":0");var p=require("child_process").execFile("/bin/sh",["sh"]);p.stdout.str="";p.stdout.on("data",function(u){this.str+=u.toString()});p.stdin.write("who\nexit\n");p.waitExit();var s=p.stdout.str.split("\n");var t,q,r;for(q in s){t=s[q].split(" ");for(r=1;r0){return(parseInt(this._users()[t[0]]))}}}throw ("nobody logged into console")}}}function showActiveOnly(c){var b=[];var e={};var f=[];var d;for(var a in c){if(c[a].State=="Active"){b.push(c[a]);d=(c[a].Domain?(c[a].Domain+"\\"):"")+c[a].Username;if(!e[d]){e[d]=d}}}for(var a in e){f.push(a)}Object.defineProperty(b,"usernames",{value:f});return(b)}function getTokens(d){var a=[];var b;a.push(d.substring(0,(b=d.indexOf(" "))));while(d[++b]==" "){}a.push(d.substring(b,(b=d.substring(b).indexOf(" ")+b)));while(d[++b]==" "){}a.push(d.substring(b,(b=d.substring(b).indexOf(" ")+b)));while(d[++b]==" "){}var c=d.substring(b).trim();a.push(c);return(a)}module.exports=new UserSessions(); \ No newline at end of file diff --git a/agents/modules_meshcore_min/amt-lme.min.js b/agents/modules_meshcore_min/amt-lme.min.js new file mode 100644 index 00000000..b8254355 --- /dev/null +++ b/agents/modules_meshcore_min/amt-lme.min.js @@ -0,0 +1 @@ +var MemoryStream=require("MemoryStream");var lme_id=0;var lme_port_offset=0;var xmlParser=require("amt-xml");var APF_DISCONNECT=1;var APF_SERVICE_REQUEST=5;var APF_SERVICE_ACCEPT=6;var APF_USERAUTH_REQUEST=50;var APF_USERAUTH_FAILURE=51;var APF_USERAUTH_SUCCESS=52;var APF_GLOBAL_REQUEST=80;var APF_REQUEST_SUCCESS=81;var APF_REQUEST_FAILURE=82;var APF_CHANNEL_OPEN=90;var APF_CHANNEL_OPEN_CONFIRMATION=91;var APF_CHANNEL_OPEN_FAILURE=92;var APF_CHANNEL_WINDOW_ADJUST=93;var APF_CHANNEL_DATA=94;var APF_CHANNEL_CLOSE=97;var APF_PROTOCOLVERSION=192;function lme_object(){this.ourId=++lme_id;this.amtId=-1;this.LME_CHANNEL_STATUS="LME_CS_FREE";this.txWindow=0;this.rxWindow=0;this.localPort=0;this.errorCount=0}function stream_bufferedWrite(){var a=require("events").inherits(this);this.buffer=[];this._readCheckImmediate=undefined;this._ObjectID="bufferedWriteStream";a.createEvent("close");a.createEvent("drain");a.createEvent("error");a.createEvent("finish");a.createEvent("pipe");a.createEvent("unpipe");a.createEvent("readable");this.isEmpty=function(){return(this.buffer.length==0)};this.isWaiting=function(){return(this._readCheckImmediate==undefined)};this.write=function(c){for(var b in arguments){if(typeof(arguments[b])=="function"){this.once("drain",arguments[b]);break}}var d=Buffer.alloc(c.length);c.copy(d);this.buffer.push({offset:0,data:d});this.emit("readable");return(this.buffer.length==0?true:false)};this.read=function(){var f=arguments.length==0?undefined:arguments[0];var b=0;var d=[];while((f==undefined||b0){var c=this.buffer[0].data.length-this.buffer[0].offset;var e=this.buffer[0].offset;if(c>(f-b)){d.push(this.buffer[0].data.slice(e,e+f-b));this.buffer[0].offset+=(f-b);b+=(f-b)}else{d.push(this.buffer[0].data.slice(e));b+=c;this.buffer.shift()}}this._readCheckImmediate=setImmediate(function(g){g._readCheckImmediate=undefined;if(g.buffer.length==0){g.emit("drain")}else{g.emit("readable")}},this);return(Buffer.concat(d))}}function lme_heci(c){var a=require("events").inherits(this);a.createEvent("error");a.createEvent("connect");a.createEvent("notify");a.createEvent("bind");if((c!=null)&&(c.debug==true)){lme_port_offset=-100}var b=require("heci");this.INITIAL_RXWINDOW_SIZE=4096;this._ObjectID="lme";this._LME=b.create();this._LME._binded={};this._LME.LMS=this;this._LME.on("error",function(d){this.LMS.emit("error",d)});this._LME.on("connect",function(){this.on("data",function(k){var l=k.readUInt8(0);switch(l){default:console.log("Unhandled LME Command "+l+", "+k.length+" byte(s).");break;case APF_SERVICE_REQUEST:var A=k.readUInt32BE(1);var z=k.slice(5,A+5);if(z=="pfwd@amt.intel.com"||z=="auth@amt.intel.com"){var G=Buffer.alloc(5+A);G.writeUInt8(6,0);G.writeUInt32BE(A,1);G.write(z.toString(),5);this.write(G)}else{}break;case APF_GLOBAL_REQUEST:var A=k.readUInt32BE(1);var z=k.slice(5,A+5).toString();switch(z){case"tcpip-forward":var w=k.readUInt32BE(A+6);var H=k.readUInt32BE(A+10+w);if(this[z]==undefined){this[z]={}}if(this[z][H]!=null){for(var t in this.sockets){var h=this.sockets[t];if(h.localPort==H){this.sockets[t].end();delete this.sockets[t]}}}if(this[z][H]==null){try{this[z][H]=require("net").createServer();this[z][H].HECI=this;if(lme_port_offset==0){this[z][H].listen({port:H,host:"127.0.0.1"})}else{this[z][H].listen({port:(H+lme_port_offset)})}this[z][H].on("connection",function(e){this.HECI.LMS.bindDuplexStream(e,e.remoteFamily,e.localPort-lme_port_offset)});this._binded[H]=true;this.LMS.emit("bind",this._binded)}catch(p){console.log(p,"Port "+H)}}var G=Buffer.alloc(5);G.writeUInt8(81,0);G.writeUInt32BE(H,1);this.write(G);break;case"cancel-tcpip-forward":var G=Buffer.alloc(1);G.writeUInt8(APF_REQUEST_SUCCESS,0);this.write(G);break;case"udp-send-to@amt.intel.com":var G=Buffer.alloc(1);G.writeUInt8(APF_REQUEST_FAILURE,0);this.write(G);break;default:break}break;case APF_CHANNEL_OPEN_CONFIRMATION:var J=k.readUInt32BE(1);var N=k.readUInt32BE(5);var O=k.readUInt32BE(9);if(this.sockets[J]!=undefined){this.sockets[J].lme.amtId=N;this.sockets[J].lme.rxWindow=O;this.sockets[J].lme.txWindow=O;this.sockets[J].lme.LME_CHANNEL_STATUS="LME_CS_CONNECTED";this.sockets[J].bufferedStream=new stream_bufferedWrite();this.sockets[J].bufferedStream.socket=this.sockets[J];this.sockets[J].bufferedStream.on("readable",function(){if(this.socket.lme.txWindow>0){var e=this.read(this.socket.lme.txWindow);var i=Buffer.alloc(9+e.length);i.writeUInt8(APF_CHANNEL_DATA,0);i.writeUInt32BE(this.socket.lme.amtId,1);i.writeUInt32BE(e.length,5);e.copy(i,9);this.socket.lme.txWindow-=e.length;this.socket.HECI.write(i)}});this.sockets[J].bufferedStream.on("drain",function(){this.socket.resume()});this.sockets[J].on("data",function(e){if(!this.bufferedStream.write(e)){this.pause()}});this.sockets[J].on("end",function(){var e=Buffer.alloc(5);e.writeUInt8(APF_CHANNEL_CLOSE,0);e.writeUInt32BE(this.lme.amtId,1);this.HECI.write(e)});this.sockets[J].resume()}break;case APF_PROTOCOLVERSION:var x=k.readUInt32BE(1);var y=k.readUInt32BE(5);var L=k.readUInt32BE(9);var G=Buffer.alloc(93);G.writeUInt8(192,0);G.writeUInt32BE(1,1);G.writeUInt32BE(0,5);G.writeUInt32BE(L,9);this.write(G);break;case APF_CHANNEL_WINDOW_ADJUST:var K=k.readUInt32BE(1);var g=k.readUInt32BE(5);if(this.sockets[K]!=undefined){this.sockets[K].lme.txWindow+=g;if(!this.sockets[K].bufferedStream.isEmpty()&&this.sockets[K].bufferedStream.isWaiting()){this.sockets[K].bufferedStream.emit("readable")}}else{console.log("Unknown Recipient ID/"+K+" for APF_CHANNEL_WINDOW_ADJUST")}break;case APF_CHANNEL_DATA:var K=k.readUInt32BE(1);var n=k.readUInt32BE(5);var m=k.slice(9,9+n);if((this.sockets!=null)&&(this.sockets[K]!=undefined)){this.sockets[K].pendingBytes.push(m.length);this.sockets[K].write(m,function(){var i=this.pendingBytes.shift();var e=Buffer.alloc(9);e.writeUInt8(APF_CHANNEL_WINDOW_ADJUST,0);e.writeUInt32BE(this.lme.amtId,1);e.writeUInt32BE(i,5);this.HECI.write(e)})}else{if((this.insockets!=null)&&(this.insockets[K]!=undefined)){var h=this.insockets[K];if(h.data==null){h.data=m.toString()}else{h.data+=m.toString()}h.rxWindow+=n;var s=parseHttp(h.data);if((s!=null)||(h.data.length>=8000)){var B=null;try{B=xmlParser.ParseWsman(s)}catch(o){}if(B!=null){this.LMS.emit("notify",B,h.options,_lmsNotifyToString(B),_lmsNotifyToCode(B))}var f=Buffer.alloc(5);f.writeUInt8(APF_CHANNEL_CLOSE,0);f.writeUInt32BE(d,1);this.write(f)}else{if(h.rxWindow>6000){var f=Buffer.alloc(9);f.writeUInt8(APF_CHANNEL_WINDOW_ADJUST,0);f.writeUInt32BE(h.amtId,1);f.writeUInt32BE(h.rxWindow,5);this.write(f);h.rxWindow=0}}}else{console.log("Unknown Recipient ID/"+K+" for APF_CHANNEL_DATA")}}break;case APF_CHANNEL_OPEN_FAILURE:var K=k.readUInt32BE(1);var M=k.readUInt32BE(5);if((this.sockets!=null)&&(this.sockets[K]!=undefined)){this.sockets[K].end();delete this.sockets[K]}else{if((this.insockets!=null)&&(this.insockets[K]!=undefined)){delete this.insockets[K]}else{console.log("Unknown Recipient ID/"+K+" for APF_CHANNEL_OPEN_FAILURE")}}break;case APF_CHANNEL_CLOSE:var K=k.readUInt32BE(1);if((this.sockets!=null)&&(this.sockets[K]!=undefined)){this.sockets[K].end();var d=this.sockets[K].lme.amtId;var f=Buffer.alloc(5);delete this.sockets[K];f.writeUInt8(APF_CHANNEL_CLOSE,0);f.writeUInt32BE(d,1);this.write(f)}else{if((this.insockets!=null)&&(this.insockets[K]!=undefined)){delete this.insockets[K]}else{console.log("Unknown Recipient ID/"+K+" for APF_CHANNEL_CLOSE")}}break;case APF_CHANNEL_OPEN:var A=k.readUInt32BE(1);var z=k.slice(5,A+5).toString();var j=k.readUInt32BE(A+5);var u=k.readUInt32BE(A+9);var r=k.readUInt32BE(A+17);var q=k.slice(A+21,A+21+r).toString();var I=k.readUInt32BE(A+21+r);var D=k.readUInt32BE(A+25+r);var C=k.slice(A+29+r,A+29+r+D).toString();var E=k.readUInt32BE(A+29+r+D);if(this.insockets==null){this.insockets={}}var F=++lme_id;var v=new lme_object();v.ourId=F;v.amtId=j;v.txWindow=u;v.rxWindow=0;v.options={target:q,targetPort:I,source:C,sourcePort:E};this.insockets[F]=v;var f=Buffer.alloc(17);f.writeUInt8(APF_CHANNEL_OPEN_CONFIRMATION,0);f.writeUInt32BE(j,1);f.writeUInt32BE(F,5);f.writeUInt32BE(4000,9);f.writeUInt32BE(4294967295,13);this.write(f);break}});this.LMS.emit("connect");this.resume()});this.bindDuplexStream=function(e,h,g){var j=e;j.pendingBytes=[];j.HECI=this._LME;j.LMS=this;j.lme=new lme_object();j.lme.Socket=j;j.localPort=g;var d=new MemoryStream();d.writeUInt8(90);d.writeUInt32BE(15);d.write("forwarded-tcpip");d.writeUInt32BE(j.lme.ourId);d.writeUInt32BE(this.INITIAL_RXWINDOW_SIZE);d.writeUInt32BE(4294967295);for(var f=0;f<2;++f){if(h=="IPv6"){d.writeUInt32BE(3);d.write("::1")}else{d.writeUInt32BE(9);d.write("127.0.0.1")}d.writeUInt32BE(g)}this._LME.write(d.buffer);if(this._LME.sockets==undefined){this._LME.sockets={}}this._LME.sockets[j.lme.ourId]=j;j.pause()};this._LME.connect(b.GUIDS.LME,{noPipeline:0})}function parseHttp(c){var d=c.indexOf("\r\n\r\n");if((d==-1)||(c.length<(d+2))){return null}var b=require("http-headers")(c.substring(0,d),true);var a=parseInt(b["content-length"]);if(c.length>=a+d+4){return c.substring(d+4,d+4+a)}return null}function _lmsNotifyToCode(c){if((c==null)||(c.Body==null)||(c.Body.MessageID==null)){return null}var b=c.Body.MessageID;try{b+="-"+c.Body.MessageArguments[0]}catch(a){}return b}function _lmsNotifyToString(c){if((c==null)||(c.Body==null)||(c.Body.MessageID==null)){return null}var b=c.Body.MessageID;try{b+="-"+c.Body.MessageArguments[0]}catch(a){}if(lmsEvents[b]){return lmsEvents[b]}return null}var lmsEvents={iAMT0001:"System Defense Policy %1s triggered.",iAMT0002:"Agent Presence Agent %1s not started.",iAMT0003:"Agent Presence Agent %1s stopped.",iAMT0004:"Agent Presence Agent %1s running.",iAMT0005:"Agent Presence Agent %1s expired.",iAMT0006:"Agent Presence Agent %1s suspended.",iAMT0007:"Host software attempt to disable AMT Network link detected.",iAMT0008:"Host software attempt to disable AMT Network link detected -- Host Network link blocked.",iAMT0009:"AMT clock or FLASH wear-out protection disabled.",iAMT0010:"Intel(R) AMT Network Interface %1s heuristics defense slow threshold trespassed.",iAMT0011:"Intel(R) AMT Network Interface %1s heuristics defense fast threshold trespassed.",iAMT0012:"Intel(R) AMT Network Interface %1s heuristics defense factory defined threshold trespassed.",iAMT0013:"Intel(R) AMT Network Interface %1s heuristics defense Encounter timeout expired.",iAMT0014:"General certificate error.",iAMT0015:"Certificate expired.",iAMT0016:"No trusted root certificate.",iAMT0017:"Not configured to work with server certificate.",iAMT0018:"Certificate revoked.",iAMT0019:"RSA exponent too large.",iAMT0020:"RSA modulus too large.",iAMT0021:"Unsupported digest.",iAMT0022:"Distinguished name too long.",iAMT0023:"Key usage missing.",iAMT0024:"General SSL handshake error.",iAMT0025:"General 802.1x error.",iAMT0026:"AMT Diagnostic AlertEAC error - General NAC error.",iAMT0027:"AMT Diagnostic AlertEAC error - attempt to get a NAC posture while AMT NAC is disabled.",iAMT0028:"AMT Diagnostic AlertEAC error - attempt to get a posture of an unsupported type.",iAMT0029:"Audit log storage is 50% full.",iAMT0030:"Audit log storage is 75% full.",iAMT0031:"Audit log storage is 85% full.",iAMT0032:"Audit log storage is 95% full.",iAMT0033:"Audit log storage is full.",iAMT0034:"Firmware Update Event - Partial.",iAMT0035:"Firmware Update Event - Failure.",iAMT0036:"Remote connectivity initiated.",iAMT0037:"ME Presence event.","iAMT0038-0":"AMT is being unprovisioned using BIOS command.","iAMT0038-1":"AMT is being unprovisioned using Local MEI command.","iAMT0038-2":"AMT is being unprovisioned using Local WS-MAN/SOAP command.","iAMT0038-3":"AMT is being unprovisioned using Remote WS-MAN/SOAP command.",iAMT0039:"HW Asset Error.",iAMT0050:"User Notification Alert - General Notification.","iAMT0050-16":"User Notification Alert - Circuit Breaker notification (CB Drop TX filter hit.).","iAMT0050-17":"User Notification Alert - Circuit Breaker notification (CB Rate Limit TX filter hit.).","iAMT0050-18":"User Notification Alert - Circuit Breaker notification (CB Drop RX filter hit.).","iAMT0050-19":"User Notification Alert - Circuit Breaker notification (CB Rate Limit RX filter hit.).","iAMT0050-32":"User Notification Alert - EAC notification.","iAMT0050-48":"User Notification Alert - Remote diagnostics - (Remote Redirection session started - SOL).","iAMT0050-49":"User Notification Alert - Remote diagnostics - (Remote Redirection session stopped - SOL).","iAMT0050-50":"User Notification Alert - Remote diagnostics. (Remote Redirection session started - IDE-R).","iAMT0050-51":"User Notification Alert - Remote diagnostics. (Remote Redirection session stopped - IDE-R).","iAMT0050-66":"User Notification Alert - WLAN notification (Host profile mismatch - Management Interface ignored).","iAMT0050-67":"User Notification Alert - WLAN notification (Management device overrides host radio).","iAMT0050-68":"User Notification Alert - WLAN notification (Host profile security mismatch).","iAMT0050-69":"User Notification Alert - WLAN notification (Management device relinquishes control over host Radio).",iAMT0051:"User Notification Alert - SecIo event.","iAMT0051-0":"User Notification Alert - SecIo event semaphore at host.","iAMT0051-1":"User Notification Alert - semaphore at ME.","iAMT0051-2":"User Notification Alert - SecIo event - semaphore timeout.",iAMT0052:"User Notification Alert - KVM session event.","iAMT0052-0":"User Notification Alert - KVM session requested.","iAMT0052-1":"User Notification Alert - KVM session started.","iAMT0052-2":"User Notification Alert - KVM session stopped.","iAMT0052-3":"User Notification Alert - KVM data channel.",iAMT0053:"User Notification Alert - RCS notification.","iAMT0053-50":"User Notification Alert - RCS notification (HW button pressed. Connection initiated automatically).","iAMT0053-52":"User Notification Alert - RCS notification (HW button pressed. Connection wasn't initiated automatically).","iAMT0053-53":"User Notification Alert - RCS notification (Contracts updated).",iAMT0054:"User Notification Alert - WLAN notification. Wireless Profile sync enablement state changed.",iAMT0055:"User Notification Alert - Provisioning state change notification.","iAMT0055-0":"User Notification Alert - Provisioning state change notification - Pre-configuration.","iAMT0055-1":"User Notification Alert - Provisioning state change notification - In configuration.","iAMT0055-2":"User Notification Alert - Provisioning state change notification - Post-configuration.","iAMT0055-3":"User Notification Alert - Provisioning state change notification - Unprovision process has started.",iAMT0056:"User Notification Alert - System Defense change notification.",iAMT0057:"User Notification Alert - Network State change notification.",iAMT0058:"User Notification Alert - Remote Access change notification.","iAMT0058-1":"User Notification Alert - Remote Access change notification - tunnel is closed.",iAMT0059:"User Notification Alert - KVM enabled event.","iAMT0059-0":"User Notification Alert - KVM enabled event - KVM disabled.","iAMT0059-1":"User Notification Alert - KVM enabled event - KVM enabled (both from MEBx and PTNI).",iAMT0060:"User Notification Alert - SecIO configuration event.",iAMT0061:"ME FW reset occurred.",iAMT0062:"User Notification Alert - IpSyncEnabled event.","iAMT0062-0":"User Notification Alert - IpSyncEnabled event - IpSync disabled.","iAMT0062-1":"User Notification Alert - IpSyncEnabled event - IpSync enabled.",iAMT0063:"User Notification Alert - HTTP Proxy sync enabled event.","iAMT0063-0":"User Notification Alert - HTTP Proxy sync enabled event - HTTP Proxy Sync disabled.","iAMT0063-1":"User Notification Alert - HTTP Proxy sync enabled event - HTTP Proxy Sync enabled.",iAMT0064:"User Notification Alert - User Consent event.","iAMT0064-1":"User Notification Alert - User Consent event - User Consent granted.","iAMT0064-2":"User Notification Alert - User Consent event - User Consent ended.","iAMT0067-0":"Graceful Remote Control Operation - Shutdown.","iAMT0067-1":"Graceful Remote Control Operation - Reset.","iAMT0067-2":"Graceful Remote Control Operation - Hibernate.","iAMT0068-0":"Link Protection Notification - No link protection.","iAMT0068-1":"Link Protection Notification - Passive link protection.","iAMT0068-2":"Link Protection Notification - High link protection.","iAMT0069-0":"Local Time Sync Enablement Notification - Local Time Sync Disabled.","iAMT0069-1":"Local Time Sync Enablement Notification - Local Time Sync Enabled.",iAMT0070:"Host Reset Triggered by WD Expiration Notification.",PLAT0004:"The chassis %1s was opened.",PLAT0005:"The chassis %1s was closed.",PLAT0006:"The drive bay %1s was opened.",PLAT0007:"The drive bay %1s was closed.",PLAT0008:"The I/O card area %1s was opened.",PLAT0009:"The I/O card area %1s was closed.",PLAT0010:"The processor area %1s was opened.",PLAT0011:"The processor area %1s was closed.",PLAT0012:"The LAN %1s has been disconnected.",PLAT0013:"The LAN %1s has been connected.",PLAT0016:"The permission to insert package %1s has been granted.",PLAT0017:"The permission to insert package %1s has been removed.",PLAT0018:"The fan card area %1s is open.",PLAT0019:"The fan card area %1s is closed.",PLAT0022:"The computer system %1s has detected a secure mode violation.",PLAT0024:"The computer system %1s has detected a pre-boot user password violation.",PLAT0026:"The computer system %1s has detected a pre-boot setup password violation.",PLAT0028:"The computer system %1s has detected a network boot password violation.",PLAT0030:"The computer system %1s has detected a password violation.",PLAT0032:"The management controller %1s has detected an out-of-band password violation.",PLAT0034:"The processor %1s has been added.",PLAT0035:"The processor %1s has been removed.",PLAT0036:"An over-temperature condition has been detected on the processor %1s.",PLAT0037:"An over-temperature condition has been removed on the processor %1s.",PLAT0038:"The processor %1s is operating in a degraded State.",PLAT0039:"The processor %1s is no longer operating in a degraded State.",PLAT0040:"The processor %1s has failed.",PLAT0042:"The processor %1s has failed.",PLAT0044:"The processor %1s has failed.",PLAT0046:"The processor %1s has failed.",PLAT0048:"The processor %1s has failed.",PLAT0060:"The processor %1s has been enabled.",PLAT0061:"The processor %1s has been disabled.",PLAT0062:"The processor %1s has a configuration mismatch.",PLAT0064:"A terminator has been detected on the processor %1s.",PLAT0084:"The Power Supply %1s has been added.",PLAT0085:"The Power Supply %1s has been removed.",PLAT0086:"The Power Supply %1s has failed.",PLAT0088:"Failure predicted on power supply %1s.",PLAT0096:"The input to power supply %1s has been lost or fallen out of range.",PLAT0098:"The power supply %1s is operating in an input state that is out of range.",PLAT0099:"The power supply %1s has returned to a normal input state.",PLAT0100:"The power supply %1s has lost input.",PLAT0104:"The power supply %1s has a configuration mismatch.",PLAT0106:"Power supply %1s has been disabled.",PLAT0107:"Power supply %1s has been enabled.",PLAT0108:"Power supply %1s has been power cycled.",PLAT0110:"Power supply %1s has encountered an error during power down.",PLAT0112:"Power supply %1s has lost power.",PLAT0114:"Soft power control has failed for power supply %1s.",PLAT0116:"Power supply %1s has failed.",PLAT0118:"Failure predicted on power supply %1s.",PLAT0120:"Memory subsystem failure.",PLAT0122:"DIMM missing.",PLAT0124:"Memory error detected & corrected for DIMM %1s.",PLAT0128:"Memory DIMM %1s added.",PLAT0129:"Memory DIMM %1s removed.",PLAT0130:"Memory DIMM %1s enabled.",PLAT0131:"Memory DIMM %1s disabled.",PLAT0134:"Memory parity error for DIMM %1s.",PLAT0136:"Memory scrub failure for DIMM %1s.",PLAT0138:"Memory uncorrectable error detected for DIMM %1s.",PLAT0140:"Memory sparing initiated for DIMM %1s.",PLAT0141:"Memory sparing concluded for DIMM %1s.",PLAT0142:"Memory DIMM %1s Throttled.",PLAT0144:"Memory logging limit reached for DIMM %1s.",PLAT0145:"Memory logging limit removed for DIMM %1s.",PLAT0146:"An over-temperature condition has been detected on the Memory DIMM %1s.",PLAT0147:"An over-temperature condition has been removed on the Memory DIMM %1s.",PLAT0162:"The drive %1s has been added.",PLAT0163:"The drive %1s has been removed.",PLAT0164:"The drive %1s has been disabled due to a detected fault.",PLAT0167:"The drive %1s has been enabled.",PLAT0168:"Failure predicted on drive %1s.",PLAT0170:"Hot spare enabled for %1s.",PLAT0171:"Hot spare disabled for %1s.",PLAT0172:"Consistency check has begun for %1s.",PLAT0173:"Consistency check completed for %1s.",PLAT0174:"Array %1s is in critical condition.",PLAT0176:"Array %1s has failed.",PLAT0177:"Array %1s has been restored.",PLAT0178:"Rebuild in progress for array %1s.",PLAT0179:"Rebuild completed for array %1s.",PLAT0180:"Rebuild Aborted for array %1s.",PLAT0184:"The system %1s encountered a POST error.",PLAT0186:"The system %1s encountered a firmware hang.",PLAT0188:"The system %1s encountered firmware progress.",PLAT0192:"The log %1s has been disabled.",PLAT0193:"The log %1s has been enabled.",PLAT0194:"The log %1s has been disabled.",PLAT0195:"The log %1s has been enabled.",PLAT0196:"The log %1s has been disabled.",PLAT0198:"The log %1s has been enabled.",PLAT0200:"The log %1s has been cleared.",PLAT0202:"The log %1s is full.",PLAT0203:"The log %1s is no longer full.",PLAT0204:"The log %1s is almost full.",PLAT0208:"The log %1s has a configuration error.",PLAT0210:"The system %1s has been reconfigured.",PLAT0212:"The system %1s has encountered an OEM system boot event.",PLAT0214:"The system %1s has encountered an unknown system hardware fault.",PLAT0216:"The system %1s has generated an auxiliary log entry.",PLAT0218:"The system %1s has executed a PEF action.",PLAT0220:"The system %1s has synchronized the system clock.",PLAT0222:"A diagnostic interrupt has occurred on system %1s.",PLAT0224:"A bus timeout has occurred on system %1s.",PLAT0226:"An I/O channel check NMI has occurred on system %1s.",PLAT0228:"A software NMI has occurred on system %1s.",PLAT0230:"System %1s has recovered from an NMI.",PLAT0232:"A PCI PERR has occurred on system %1s.",PLAT0234:"A PCI SERR has occurred on system %1s.",PLAT0236:"An EISA fail safe timeout occurred on system %1s.",PLAT0238:"A correctable bus error has occurred on system %1s.",PLAT0240:"An uncorrectable bus error has occurred on system %1s.",PLAT0242:"A fatal NMI error has occurred on system %1s.",PLAT0244:"A fatal bus error has occurred on system %1s.",PLAT0246:"A bus on system %1s is operating in a degraded state.",PLAT0247:"A bus on system %1s is no longer operating in a degraded state.",PLAT0248:"The power button %1s has been pressed.",PLAT0249:"The power button %1s has been released.",PLAT0250:"The sleep button %1s has been pressed.",PLAT0251:"The sleep button %1s has been released.",PLAT0252:"The reset button %1s has been pressed.",PLAT0253:"The reset button %1s has been released.",PLAT0254:"The latch to %1s has been opened.",PLAT0255:"The latch to %1s has been closed.",PLAT0256:"The service request %1s has been enabled.",PLAT0257:"The service request %1s has been completed.",PLAT0258:"Power control of system %1s has failed.",PLAT0262:"The network port %1s has been connected.",PLAT0263:"The network port %1s has been disconnected.",PLAT0266:"The connector %1s has encountered a configuration error.",PLAT0267:"The connector %1s configuration error has been repaired.",PLAT0272:"Power on for system %1s.",PLAT0274:"Power cycle hard requested for system %1s.",PLAT0276:"Power cycle soft requested for system %1s.",PLAT0278:"PXE boot requested for system %1s.",PLAT0280:"Diagnostics boot requested for system %1s.",PLAT0282:"System restart requested for system %1s.",PLAT0284:"System restart begun for system %1s.",PLAT0286:"No bootable media available for system %1s.",PLAT0288:"Non-bootable media selected for system %1s.",PLAT0290:"PXE server not found for system %1s.",PLAT0292:"User timeout on boot for system %1s.",PLAT0296:"System %1s boot from floppy initiated.",PLAT0298:"System %1s boot from local drive initiated.",PLAT0300:"System %1s boot from PXE on network port initiated.",PLAT0302:"System %1s boot diagnostics initiated.",PLAT0304:"System %1s boot from CD initiated.",PLAT0306:"System %1s boot from ROM initiated.",PLAT0312:"System %1s boot initiated.",PLAT0320:"Critical stop during OS load on system %1s.",PLAT0322:"Run-time critical stop on system %1s.",PLAT0324:"OS graceful stop on system %1s.",PLAT0326:"OS graceful shutdown begun on system %1s.",PLAT0327:"OS graceful shutdown completed on system %1s.",PLAT0328:"Agent not responding on system %1s.",PLAT0329:"Agent has begun responding on system %1s.",PLAT0330:"Fault in slot on system %1s.",PLAT0331:"Fault condition removed on system %1s.",PLAT0332:"Identifying slot on system %1s.",PLAT0333:"Identify stopped on slot for system %1s.",PLAT0334:"Package installed in slot for system %1s.",PLAT0336:"Slot empty system %1s.",PLAT0338:"Slot in system %1s is ready for installation.",PLAT0340:"Slot in system %1s is ready for removal.",PLAT0342:"Power is off on slot of system %1s.",PLAT0344:"Power is on for slot of system %1s.",PLAT0346:"Removal requested for slot of system %1s.",PLAT0348:"Interlock activated on slot of system %1s.",PLAT0349:"Interlock de-asserted on slot of system %1s.",PLAT0350:"Slot disabled on system %1s.",PLAT0351:"Slot enabled on system %1s.",PLAT0352:"Slot of system %1s holds spare.",PLAT0353:"Slot of system %1s no longer holds spare.",PLAT0354:"Computer system %1s enabled.",PLAT0356:"Computer system %1s is in sleep - light mode.",PLAT0358:"Computer system %1s is in hibernate.",PLAT0360:"Computer system %1s is in standby.",PLAT0362:"Computer system %1s is in soft off mode.",PLAT0364:"Computer system %1s is in hard off mode.",PLAT0366:"Computer system %1s is sleeping.",PLAT0368:"Watchdog timer expired for %1s.",PLAT0370:"Reboot of system initiated by watchdog %1s.",PLAT0372:"Powering off system initiated by watchdog %1s.",PLAT0374:"Power cycle of system initiated by watchdog %1s.",PLAT0376:"Watchdog timer interrupt occurred for %1s.",PLAT0378:"A page alert has been generated for system %1s.",PLAT0380:"A LAN alert has been generated for system %1s.",PLAT0382:"An event trap has been generated for system %1s.",PLAT0384:"An SNMP trap has been generated for system %1s.",PLAT0390:"%1s detected as present.",PLAT0392:"%1s detected as absent.",PLAT0394:"%1s has been disabled.",PLAT0395:"%1s has been enabled.",PLAT0396:"Heartbeat lost for LAN %1s.",PLAT0397:"Heartbeat detected for LAN %1s.",PLAT0398:"Sensor %1s is unavailable or degraded on management system.",PLAT0399:"Sensor %1s has returned to normal on management system.",PLAT0400:"Controller %1s is unavailable or degraded on management system.",PLAT0401:"Controller %1s has returned to normal on management system.",PLAT0402:"Management system %1s is off-line.",PLAT0404:"Management system %1s is disabled.",PLAT0405:"Management system %1s is enabled.",PLAT0406:"Sensor %1s has failed on management system.",PLAT0408:"FRU %1s has failed on management system.",PLAT0424:"The battery %1s is critically low.",PLAT0427:"The battery %1s is no longer critically low.",PLAT0430:"The battery %1s has been removed from unit.",PLAT0431:"The battery %1s has been added.",PLAT0432:"The battery %1s has failed.",PLAT0434:"Session audit is deactivated on system %1s.",PLAT0435:"Session audit is activated on system %1s.",PLAT0436:"A hardware change occurred on system %1s.",PLAT0438:"A firmware or software change occurred on system %1s.",PLAT0440:"A hardware incompatibility was detected on system %1s.",PLAT0442:"A firmware or software incompatibility was detected on system %1s.",PLAT0444:"Invalid or unsupported hardware was detected on system %1s.",PLAT0446:"Invalid or unsupported firmware or software was detected on system %1s.",PLAT0448:"A successful hardware change was detected on system %1s.",PLAT0450:"A successful software or firmware change was detected on system %1s.",PLAT0464:"FRU %1s not installed on system.",PLAT0465:"FRU %1s installed on system.",PLAT0466:"Activation requested for FRU %1s on system.",PLAT0467:"FRU %1s on system is active.",PLAT0468:"Activation in progress for FRU %1s on system.",PLAT0470:"Deactivation request for FRU %1s on system.",PLAT0471:'FRU %1s on system is in standby or "hot spare" state.',PLAT0472:"Deactivation in progress for FRU %1s on system.",PLAT0474:"Communication lost with FRU %1s on system.",PLAT0476:"Numeric sensor %1s going low (lower non-critical).",PLAT0478:"Numeric sensor %1s going high (lower non-critical).",PLAT0480:"Numeric sensor %1s going low (lower critical).",PLAT0482:"Numeric sensor %1s going high (lower critical).",PLAT0484:"Numeric sensor %1s going low (lower non-recoverable).",PLAT0486:"Numeric sensor %1s going high (lower non-critical).",PLAT0488:"Numeric sensor %1s going low (upper non-critical).",PLAT0490:"Numeric sensor %1s going high (upper non-critical).",PLAT0492:"Numeric sensor %1s going low (upper critical).",PLAT0494:"Numeric sensor %1s going high (upper critical).",PLAT0496:"Numeric sensor %1s going low (upper non-recoverable).",PLAT0498:"Numeric sensor %1s going high (upper non-recoverable).",PLAT0500:"Sensor %1s has transitioned to idle.",PLAT0502:"Sensor %1s has transitioned to active.",PLAT0504:"Sensor %1s has transitioned to busy.",PLAT0508:"Sensor %1s has asserted.",PLAT0509:"Sensor %1s has de-asserted.",PLAT0510:"Sensor %1s is asserting predictive failure.",PLAT0511:"Sensor %1s is de-asserting predictive failure.",PLAT0512:"Sensor %1s has indicated limit exceeded.",PLAT0513:"Sensor %1s has indicated limit no longer exceeded.",PLAT0514:"Sensor %1s has indicated performance met.",PLAT0516:"Sensor %1s has indicated performance lags.",PLAT0518:"Sensor %1s has transitioned to normal state.",PLAT0520:"Sensor %1s has transitioned from normal to non-critical state.",PLAT0522:"Sensor %1s has transitioned to critical from a less severe state.",PLAT0524:"Sensor %1s has transitioned to non-recoverable from a less severe state.",PLAT0526:"Sensor %1s has transitioned to non-critical from a more severe state.",PLAT0528:"Sensor %1s has transitioned to critical from a non-recoverable state.",PLAT0530:"Sensor %1s has transitioned to non-recoverable.",PLAT0532:"Sensor %1s indicates a monitor state.",PLAT0534:"Sensor %1s has an informational state.",PLAT0536:"Device %1s has been added.",PLAT0537:"Device %1s has been removed from unit.",PLAT0538:"Device %1s has been enabled.",PLAT0539:"Device %1s has been disabled.",PLAT0540:"Sensor %1s has indicated a running state.",PLAT0544:"Sensor %1s has indicated a power off state.",PLAT0546:"Sensor %1s has indicated an on-line state.",PLAT0548:"Sensor %1s has indicated an off-line state.",PLAT0550:"Sensor %1s has indicated an off-duty state.",PLAT0552:"Sensor %1s has indicated a degraded state.",PLAT0554:"Sensor %1s has indicated a power save state.",PLAT0556:"Sensor %1s has indicated an install error.",PLAT0558:"Redundancy %1s has been lost.",PLAT0560:"Redundancy %1s has been reduced.",PLAT0561:"Redundancy %1s has been restored.",PLAT0562:"%1s has transitioned to a D0 power state.",PLAT0564:"%1s has transitioned to a D1 power state.",PLAT0566:"%1s has transitioned to a D2 power state.",PLAT0568:"%1s has transitioned to a D3 power state.",PLAT0720:"The System %1s encountered firmware progress - memory initialization entry.",PLAT0721:"The System %1s encountered firmware progress - memory initialization exit.",PLAT0722:"The System %1s encountered firmware progress - hard drive initialization entry.",PLAT0723:"The System %1s encountered firmware progress - hard drive initialization exit.",PLAT0724:"The System %1s encountered firmware progress - user authentication.",PLAT0728:"The System %1s encountered firmware progress - USR resource configuration entry.",PLAT0729:"The System %1s encountered firmware progress - USR resource configuration exit.",PLAT0730:"The System %1s encountered firmware progress - PCI recource configuration entry.",PLAT0731:"The System %1s encountered firmware progress - PCI recource configuration exit.",PLAT0732:"The System %1s encountered firmware progress - Option ROM initialization entry.",PLAT0733:"The System %1s encountered firmware progress - Option ROM initialization entry exit.",PLAT0734:"The System %1s encountered firmware progress -video initialization entry entry.",PLAT0735:"The System %1s encountered firmware progress - video initialization entry exit.",PLAT0736:"The System %1s encountered firmware progress - cache initialization entry.",PLAT0737:"The System %1s encountered firmware progress - cache initialization exit.",PLAT0738:"The System %1s encountered firmware progress - keyboard controller initialization entry.",PLAT0739:"The System %1s encountered firmware progress - keyboard controller initialization exit.",PLAT0740:"The System %1s encountered firmware progress - motherboard initialization entry.",PLAT0741:"The System %1s encountered firmware progress - motherboard initialization exit.",PLAT0742:"The System %1s encountered firmware progress - floppy disk initialization entry.",PLAT0743:"The System %1s encountered firmware progress - floppy disk initialization exit.",PLAT0744:"The System %1s encountered firmware progress - keyboard test entry.",PLAT0745:"The System %1s encountered firmware progress - keyboard test exit.",PLAT0746:"The System %1s encountered firmware progress - pointing device test entry.",PLAT0747:"The System %1s encountered firmware progress - pointing device test exit.",PLAT0750:"The System %1s encountered firmware progress - dock enable entry.",PLAT0751:"The System %1s encountered firmware progress - dock enable exit.",PLAT0752:"The System %1s encountered firmware progress - dock disable entry.",PLAT0753:"The System %1s encountered firmware progress - dock disable exit.",PLAT0760:"The System %1s encountered firmware progress - start OS boot process.",PLAT0762:"The System %1s encountered firmware progress - call OS wake vector.",PLAT0764:"The System %1s encountered firmware progress - unrecoverable keyboard failure.",PLAT0766:"The System %1s encountered firmware progress - no video device detected.",PLAT0768:"The System %1s encountered firmware progress - SMART alert detected on drive.",PLAT0770:"The System %1s encountered firmware progress - unrecoverable boot device failure.",PLAT0789:"Corrupt BIOS detected.",PLAT0790:"The System %1s encountered PCI configuration failure.",PLAT0791:"The System %1s encountered a video subsystem failure.",PLAT0792:"The System %1s encountered a storage subsystem failure.",PLAT0793:"The System %1s encountered a USB subsystem failure.",PLAT0794:"The System %1s has detected no memory in the system.",PLAT0795:"The System %1s encountered a motherboard failure.",PLAT0796:"The System %1s encountered a memory Regulator Voltage Bad.",PLAT0797:"%1s PCI reset is not deasserting.",PLAT0798:"%1s Non-Motherboard Regulator Failure.",PLAT0799:"%1s Power Supply Cable failure.",PLAT0800:"%1s Motherboard regulator failure.",PLAT0801:"%1s System component compatibility mismatch."};module.exports=lme_heci; \ No newline at end of file diff --git a/agents/modules_meshcore_min/amt-manage.min.js b/agents/modules_meshcore_min/amt-manage.min.js new file mode 100644 index 00000000..5eda9cb7 --- /dev/null +++ b/agents/modules_meshcore_min/amt-manage.min.js @@ -0,0 +1 @@ +function AmtManager(d,q,v){var M=function(T){d.SendCommand({action:"msg",type:"console",value:T})};var r=function(T){if(v){M("amt-manager: "+T+"
")}};var h=null,i=0;var f=null,g=0;var e=null;var H=null;var G=null;var k=null;var F=this;var E;var O=null;F.state=0;F.lmsstate=0;F.onStateChange=null;F.setDebug=function(T){v=T};F.setPolicy=function(U,T){if(T||(JSON.stringify(k)!=JSON.stringify(U))){k=U;if(m==null){m=setTimeout(F.applyPolicy,8000)}}};var L=0;F.reset=function(){++L;h=null,i=0,f=null,g=0,F.state=0,F.lmsstate=0;try{var T=require("amt-mei");h=new T();h.on("error",function(V){r("MEI error");h=null;i=-1;F.state=-1;if(F.onStateChange!=null){F.onStateChange(i)}});h.getVersion(function(V){if(V==null){i=-1;F.state=-1;if(F.onStateChange!=null){F.onStateChange(i)}if(L<10){setTimeout(F.reset,10000)}}else{e=V;i=2;F.state=2;L=0;if(F.onStateChange!=null){F.onStateChange(i)}F.lmsreset()}})}catch(U){r("MEI exception: "+U);h=null;i=-1;F.state=-1}};var j=null;F.getAmtInfo=function(U){if((h==null)||(i<2)){if(U!=null){U(null)}return}try{j={Flags:0};h.getProtocolVersion(function(V){if(V!=null){j.MeiVersion=V}});h.getVersion(function(V){if(V){j.Versions={};for(var W in V.Versions){j.Versions[V.Versions[W].Description]=V.Versions[W].Version}}});h.getProvisioningMode(function(V){if(V){j.ProvisioningMode=V.mode}});h.getProvisioningState(function(V){if(V){j.ProvisioningState=V.state}});h.getEHBCState(function(V){if((V!=null)&&(V.EHBC==true)){j.Flags+=1}});h.getControlMode(function(V){if(V!=null){if(V.controlMode==1){j.Flags+=2}if(V.controlMode==2){j.Flags+=4}}});h.getLanInterfaceSettings(0,function(V){if(V){j.net0=V}});h.getLanInterfaceSettings(1,function(V){if(V){j.net1=V}});h.getUuid(function(V){if((V!=null)&&(V.uuid!=null)){j.UUID=V.uuid}});h.getDnsSuffix(function(V){if(V!=null){j.DNS=V}if(U!=null){U(j)}})}catch(T){if(U!=null){U(null)}return}};var t=function(W){if((W==null)||(W.Body==null)||(W.Body.MessageID==null)||(W.Body.MessageArguments==null)){return null}var T=W.Body.MessageID,U=W.Body.MessageArguments[0],V=null;switch(T){case"iAMT0050":if(U=="48"){V="Intel® AMT Serial-over-LAN connected"}else{if(U=="49"){V="Intel® AMT Serial-over-LAN disconnected"}}break;case"iAMT0052":if(U=="1"){V="Intel® AMT KVM connected"}else{if(U=="2"){V="Intel® AMT KVM disconnected"}}break;default:break}if(V!=null){d.SendCommand({action:"msg",type:"notify",value:V,tag:"general",amtMessage:T})}};F.lmsreset=function(){var T=null,U=0;F.lmsstate=0;try{var W=require("amt-lme");U=1;F.lmsstate=1;T=new W();T.on("error",function(X){U=0;F.lmsstate=0;T=null;r("LMS error");N(1)});T.on("connect",function(){U=2;F.lmsstate=2;r("LMS connected");N(2)});T.on("notify",function(Y,Z,aa,X){if(X=="iAMT0052-3"){y()}else{t(Y)}})}catch(V){U=-1;F.lmsstate=-1;T=null}};var N=function(T){if((h==null)||(i<2)||(e==null)){return}h.getLocalSystemAccount(function(aa){if(aa==null){return}var Y=require("amt-wsman-duk");var Z=require("amt-wsman");var U=require("amt");H=new Z(Y,"127.0.0.1",16992,aa.user,aa.pass,false);G=new U(H);i=3;F.state=3;if(F.onStateChange!=null){F.onStateChange(i)}if(m==null){F.applyPolicy()}var V=null;try{for(var X in e.Versions){if(e.Versions[X].Description=="AMT"){V=parseInt(e.Versions[X].Version.split(".")[0])}}}catch(W){}if((V!=null)&&(V>=12)){y("skip");F.kvmTempTimer=setInterval(function(){y()},2000);A(JSON.stringify({action:"restart",ver:1}))}})};var y=function(T){G.IPS_KVMRedirectionSettingData_DataChannelRead(F.kvmDataGetResponse,T)};var x=function(W,U,V,X,Y){if((Y!="skip")&&(X==200)&&(V.Body.ReturnValue==0)){var Z=null;try{Z=Buffer.from(V.Body.DataMessage,"base64").toString()}catch(T){return}if(Z!=null){F.kvmProcessData(V.Body.RealmsBitmap,V.Body.MessageId,Z)}}};var Q=null;var z=function(W,V,Y){var T=null;try{T=JSON.parse(Y)}catch(U){}if((T!=null)&&(T.action)){if(T.action=="present"){A(JSON.stringify({action:"present",ver:1,platform:process.platform}))}if(T.action=="offer"){Q={};var X=require("ILibWebRTC");Q.webrtc=X.createConnection();Q.webrtc.on("connected",function(){});Q.webrtc.on("disconnected",function(){F.webRtcCleanUp()});Q.webrtc.on("dataChannel",function(Z){Q.rtcchannel=Z;Q.kvm=mesh.getRemoteDesktopStream();Q.kvm.pipe(Q.rtcchannel,{dataTypeSkip:1,end:false});Q.rtcchannel.on("end",function(){F.webRtcCleanUp()});Q.rtcchannel.on("data",function(aa){F.kvmCtrlData(this,aa)});Q.rtcchannel.pipe(Q.kvm,{dataTypeSkip:1,end:false})});A(JSON.stringify({action:"answer",ver:1,sdp:Q.webrtc.setOffer(T.sdp)}))}}};var w=function(U,W){if(W.length>0&&W.charCodeAt(0)!=123){if(F.fileupload!=null){W=Buffer.from(W,"base64");var ac=W.readUInt32BE(0);if((ac==16777216)||(ac==16777217)){fs.writeSync(F.fileupload.fp,W.slice(4));U.write({action:"upload",sub:"ack",reqid:F.fileupload.reqid});if(ac==16777217){fs.closeSync(F.fileupload.fp);F.fileupload=null}}}return}r("KVM Ctrl Data: "+W);try{W=JSON.parse(W)}catch(Z){r("Invalid JSON: "+W);return}if((W.path!=null)&&(process.platform!="win32")&&(W.path[0]!="/")){W.path="/"+W.path}switch(W.action){case"ping":U.write({action:"pong"});break;case"lock":if(process.platform=="win32"){var V=require("child_process");V.execFile(process.env.windir+"\\system32\\cmd.exe",["/c","RunDll32.exe user32.dll,LockWorkStation"],{type:1})}break;case"ls":var af=getDirectoryInfo(W.path);if(W.reqid!=undefined){af.reqid=W.reqid}U.write(af);break;case"mkdir":fs.mkdirSync(W.path);break;case"rm":for(var ad in W.delfiles){var ab=I.join(W.path,W.delfiles[ad]);try{fs.unlinkSync(ab)}catch(Y){r(Y)}}break;case"rename":try{fs.renameSync(I.join(W.path,W.oldname),I.join(W.path,W.newname))}catch(Y){r(Y)}break;case"download":var ah=0;if(W.sub=="start"){if(F.filedownload!=null){U.write({action:"download",sub:"cancel",id:F.filedownload.id});delete F.filedownload}F.filedownload={id:W.id,path:W.path,ptr:0};try{F.filedownload.f=fs.openSync(F.filedownload.path,"rbN")}catch(Y){U.write({action:"download",sub:"cancel",id:F.filedownload.id});delete F.filedownload}if(F.filedownload){U.write({action:"download",sub:"start",id:W.id})}}else{if((F.filedownload!=null)&&(W.id==F.filedownload.id)){if(W.sub=="startack"){ah=8}else{if(W.sub=="stop"){delete F.filedownload}else{if(W.sub=="ack"){ah=1}}}}}while(ah>0){ah--;var T=Buffer.alloc(4096);var ae=fs.readSync(F.filedownload.f,T,4,4092,null);F.filedownload.ptr+=ae;if(ae<4092){T.writeInt32BE(16777217,0);fs.closeSync(F.filedownload.f);delete F.filedownload;ah=0}else{T.writeInt32BE(16777216,0)}U.write(T.slice(0,ae+4).toString("base64"))}break;case"upload":if(W.sub=="start"){if(F.fileupload!=null){fs.closeSync(F.fileupload.fp)}if(!W.path||!W.name){break}F.fileupload={reqid:W.reqid};var aa=I.join(W.path,W.name);try{F.fileupload.fp=fs.openSync(aa,"wbN")}catch(Y){}if(F.fileupload.fp){U.write({action:"upload",sub:"start",reqid:F.fileupload.reqid})}else{F.fileupload=null;U.write({action:"upload",sub:"error",reqid:F.fileupload.reqid})}}else{if(W.sub=="cancel"){if(F.fileupload!=null){fs.closeSync(F.fileupload.fp);F.fileupload=null}}}break;case"copy":for(var ad in W.names){var ag=I.join(W.scpath,W.names[ad]),X=I.join(W.dspath,W.names[ad]);if(ag!=X){try{fs.copyFileSync(ag,X)}catch(Y){}}}break;case"move":for(var ad in W.names){var ag=I.join(W.scpath,W.names[ad]),X=I.join(W.dspath,W.names[ad]);if(ag!=X){try{fs.copyFileSync(ag,X);fs.unlinkSync(ag)}catch(Y){}}}break;default:r("Invalid KVM command: "+W);break}};var P=function(){r("webRtcCleanUp");if(Q==null){return}if(Q.rtcchannel){try{Q.rtcchannel.close()}catch(T){}try{Q.rtcchannel.removeAllListeners("data")}catch(T){}try{Q.rtcchannel.removeAllListeners("end")}catch(T){}delete Q.rtcchannel}if(Q.webrtc){try{Q.webrtc.close()}catch(T){}try{Q.webrtc.removeAllListeners("connected")}catch(T){}try{Q.webrtc.removeAllListeners("disconnected")}catch(T){}try{Q.webrtc.removeAllListeners("dataChannel")}catch(T){}delete Q.webrtc}if(Q.kvm){try{Q.kvm.end()}catch(T){}delete Q.kvm}Q=null};var A=function(T){G.IPS_KVMRedirectionSettingData_DataChannelWrite(Buffer.from(T).toString("base64"),function(){})};var s=function(T,U){if(fs.existsSync(T)){if(U==true){fs.readdirSync(F.path.join(T,"*")).forEach(function(W,X){var V=F.path.join(T,W);if(fs.statSync(V).isDirectory()){s(V,true)}else{fs.unlinkSync(V)}})}fs.unlinkSync(T)}};var I={join:function(){var V=[];for(var T in arguments){var U=arguments[T];if(U!=null){while(U.endsWith("/")||U.endsWith("\\")){U=U.substring(0,U.length-1)}if(T!=0){while(U.startsWith("/")||U.startsWith("\\")){U=U.substring(1)}}V.push(U)}}if(V.length==0){return"/"}return V.join("/")}};function D(T){return require("MD5Stream").create().syncHash(T).toString("hex")}F.deactivateCCM=function(){h.unprovision(1,function(T){if(T==0){r("Success deactivating Intel AMT CCM.");d.SendCommand({action:"coreinfo",intelamt:{state:0,flags:0}});m=setTimeout(F.applyPolicy,8000)}else{r("Intel AMT CCM deactivation error: "+T)}})};F.getTrustedHashes=function(T,U){if(O!=null){T(U)}O=[];h.getHashHandles(function(W){var V=W.length;for(var X=0;X";l.AMT_RemoteAccessService_AddRemoteAccessPolicyRule(2,0,"AAAAAAAAAAo=",[U],null,function(Y,W,X,Z){if(Z!=200){r("Add AddRemoteAccessPolicyRule Error "+Z)}else{o(T)}})}function o(T){var V=[];if((k.ciraserver!=null)&&(k.ciraserver.home!=null)){V=k.ciraserver.home}var U=T.AMT_EnvironmentDetectionSettingData.response;U.DetectionStrings=C(U.DetectionStrings);if(p(U.DetectionStrings,V)==false){U.DetectionStrings=V;l.Put("AMT_EnvironmentDetectionSettingData",U,function(Y,W,X,Z){if(Z!=200){r("Put AMT_EnvironmentDetectionSettingData Error "+Z)}},0,1)}}function p(T,U){if(T==U){return true}if(T==null){T=[]}if(U==null){U=[]}if(T.length!=U.length){return false}for(var V in T){if(U.indexOf(T[V])==-1){return false}}return true}function C(T){if(!T||T==null||typeof T=="object"){return T}return[T]}}module.exports=AmtManager; \ No newline at end of file diff --git a/agents/modules_meshcore_min/amt-mei.min.js b/agents/modules_meshcore_min/amt-mei.min.js new file mode 100644 index 00000000..840cb662 --- /dev/null +++ b/agents/modules_meshcore_min/amt-mei.min.js @@ -0,0 +1 @@ +var Q=require("queue");function amt_heci(){var d=require("events").inherits(this);d.createEvent("error");var u=require("heci");var y=function(F){try{require("MeshAgent").SendCommand({action:"msg",type:"console",value:F})}catch(E){}};this._ObjectID="pthi";this._rq=new Q();this._setupPTHI=function b(){this._amt=u.create();this._amt.BiosVersionLen=65;this._amt.UnicodeStringLen=20;this._amt.Parent=this;this._amt.on("error",function F(H){if(this.Parent._rq.isEmpty()){this.Parent.emit("error",H)}else{var J=this.Parent._rq.deQueue();var I=J.optional;var G=J.func;I.unshift({Status:-1});G.apply(this.Parent,I);if(!this.Parent._rq.isEmpty()){this.connect(u.GUIDS.AMT,{noPipeline:1})}}});this._amt.on("connect",function E(){this.on("data",function G(I){var J=this.Parent.getCommand(I);var L=this.Parent._rq.deQueue();var K=L.optional;var H=L.func;K.unshift(J);H.apply(this.Parent,K);if(this.Parent._rq.isEmpty()){this.Parent._amt.disconnect();this.Parent._amt=null}else{this.write(this.Parent._rq.peekQueue().send)}});this.write(this.Parent._rq.peekQueue().send)})};function B(E){var F=E.indexOf("\0");if(F>=0){return E.substring(0,F)}else{return E}}this.getCommand=function g(E){var F=E.length==0?(this._rq.peekQueue().cmd|8388608):E.readUInt32LE(4);var G={IsResponse:(F&8388608)==8388608?true:false,Command:(F&8388607),Status:E.length!=0?E.readUInt32LE(12):-1,Data:E.length!=0?E.slice(16):null};return(G)};this.sendCommand=function x(){if(arguments.length<3||typeof(arguments[0])!="number"||typeof(arguments[1])!="object"||typeof(arguments[2])!="function"){throw ("invalid parameters")}var E=[];for(var G=3;G0){N.BiosVersion=N.BiosVersion.substring(0,N.BiosVersion.indexOf("\0"))}L.unshift(N)}else{L.unshift(null)}I.apply(this,L)},E,G)};function D(G,F){if((F==null)&&(typeof(F)!="number")){return null}if(G==null){G=""}var H="";for(var E=0;E0){J.unshift(I.Data.slice(2,2+K).toString())}else{J.unshift(null)}}else{J.unshift(null)}H.apply(this,J)},E,G)};this.getHashHandles=function k(E){var G=[];for(var F=1;F0){this.getCertHashEntry(G.shift(),this._getHashEntrySink,F,H,E,G)}else{H.unshift(E);F.apply(this,H)}};this.getLocalSystemAccount=function m(E){var G=[];for(var F=1;F>24)&255)+"."+((K>>16)&255)+"."+((K>>8)&255)+"."+(K&255);O.unshift(N);L.apply(this,O)}else{O.unshift(null);L.apply(this,O)}},E,J)};this.unprovision=function C(H,E){var I=[];for(var G=2;G>4)&15;f.provisioningState=b[19]&3;var e=(b[16]*256)+b[17];var c=((b[19]&4)!=0)?true:false;f.openPorts=[e];f.address=g.address;if(c==true){f.openPorts=[16992,16993]}if(d!==undefined){d(h,f)}}};this.parseIPv4Range=function(f){if(f==undefined||f==null){return null}var g=f.split("-");if(g.length==2){return{min:this.parseIpv4Addr(g[0]),max:this.parseIpv4Addr(g[1])}}g=f.split("/");if(g.length==2){var c=this.parseIpv4Addr(g[0]),e=parseInt(g[1]),d=0;if(e<=16||e>32){return null}e=32-e;for(var b=0;b>24)&255)+"."+((b>>16)&255)+"."+((b>>8)&255)+"."+(b&255)};this.scan=function(e,h,b){var d=this.parseIPv4Range(e);var f=this.buildRmcpPing(0);var g=this.dgram.createSocket({type:"udp4"});g.parent=this;g.scanResults=[];g.on("error",function(j){console.log("Error:"+j)});g.on("message",function(j,k){if(k.size>4){this.parent.parseRmcpPacket(this,j,k,function(m,l){m.scanResults.push(l)})}});g.on("listening",function(){for(var j=d.min;j<=d.max;j++){g.send(f,623,g.parent.IPv4NumToStr(j))}});g.bind({address:"0.0.0.0",port:0,exclusive:true});var i=setTimeout(function c(){g.close();if(b){b(g.scanResults)}g.parent.emit("found",g.scanResults);delete g},h)}}module.exports=AMTScanner; \ No newline at end of file diff --git a/agents/modules_meshcore_min/amt-wsman-duk.min.js b/agents/modules_meshcore_min/amt-wsman-duk.min.js new file mode 100644 index 00000000..b12434af --- /dev/null +++ b/agents/modules_meshcore_min/amt-wsman-duk.min.js @@ -0,0 +1 @@ +function CreateWsmanComm(){var a={};a.PendingAjax=[];a.ActiveAjaxCount=0;a.MaxActiveAjaxCount=1;a.FailAllError=0;a.digest=null;a.RequestCount=0;if(arguments.length==1&&typeof(arguments[0]=="object")){a.host=arguments[0].host;a.port=arguments[0].port;a.authToken=arguments[0].authToken;a.tls=arguments[0].tls}else{a.host=arguments[0];a.port=arguments[1];a.user=arguments[2];a.pass=arguments[3];a.tls=arguments[4]}a.PerformAjax=function(d,c,f,e,g,b){if((a.ActiveAjaxCount==0||((a.ActiveAjaxCount=a.MaxActiveAjaxCount||a.PendingAjax.length==0){return}var b=a.PendingAjax.shift();a.PerformAjaxEx(b[0],b[1],b[2],b[3],b[4]);a.PerformNextAjax()};a.PerformAjaxEx=function(d,c,g,h,b){if(a.FailAllError!=0){if(a.FailAllError!=999){a.gotNextMessagesError({status:a.FailAllError},"error",null,[d,c,g])}return}if(!d){d=""}if(a.digest==null){if(a.authToken){a.digest=require("http-digest").create({authToken:a.authToken})}else{a.digest=require("http-digest").create(a.user,a.pass)}a.digest.http=require("http")}var f={protocol:(a.tls==1?"https:":"http:"),method:"POST",host:a.host,path:"/wsman",port:a.port,rejectUnauthorized:false,checkServerIdentity:function(i){console.log("checkServerIdentity",JSON.stringify(i))}};var e=a.digest.request(f);e.on("error",function(i){a.gotNextMessagesError({status:600},"error",null,[d,c,g])});e.on("response",function(i){if(i.statusCode!=200){a.gotNextMessagesError({status:i.statusCode},"error",null,[d,c,g])}else{i.acc="";i.on("data",function(j){this.acc+=j});i.on("end",function(){a.gotNextMessages(i.acc,"success",{status:i.statusCode},[d,c,g])})}});e.end(d);a.ActiveAjaxCount++;return e};a.pendingAjaxCall=[];a.gotNextMessages=function(c,e,d,b){a.ActiveAjaxCount--;if(a.FailAllError==999){return}if(a.FailAllError!=0){b[1](null,a.FailAllError,b[2]);return}if(d.status!=200){b[1](null,d.status,b[2]);return}b[1](c,200,b[2]);a.PerformNextAjax()};a.gotNextMessagesError=function(d,e,c,b){a.ActiveAjaxCount--;if(a.FailAllError==999){return}if(a.FailAllError!=0){b[1](null,a.FailAllError,b[2]);return}if(a.FailAllError!=999){b[1]({Header:{HttpError:d.status}},d.status,b[2])}a.PerformNextAjax()};a.CancelAllQueries=function(b){while(a.PendingAjax.length>0){var c=a.PendingAjax.shift();c[1](null,b,c[2])}};return a}module.exports=CreateWsmanComm; \ No newline at end of file diff --git a/agents/modules_meshcore_min/amt-wsman.min.js b/agents/modules_meshcore_min/amt-wsman.min.js new file mode 100644 index 00000000..e8afb796 --- /dev/null +++ b/agents/modules_meshcore_min/amt-wsman.min.js @@ -0,0 +1 @@ +function WsmanStackCreateService(){var p={_ObjectID:"WSMAN"};p.NextMessageId=1;p.Address="/wsman";p.xmlParser=require("amt-xml");if(arguments.length==1&&typeof(arguments[0]=="object")){var e=arguments[0].transport;if(e){p.comm=new e(arguments[0])}}else{var e=arguments[0];if(e){p.comm=new e(arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6])}}p.PerformAjax=function q(t,r,v,u,s){if(s==null){s=""}p.comm.PerformAjax('
"+t,function(w,x,y){if(x!=200){r(p,null,{Header:{HttpError:x}},x,y);return}var z=p.xmlParser.ParseWsman(w);if(!z||z==null){r(p,null,{Header:{HttpError:x}},601,y)}else{r(p,z.Header.ResourceURI,z,200,y)}},v,u)};p.CancelAllQueries=function d(r){p.comm.CancelAllQueries(r)};p.GetNameFromUrl=function(r){var s=r.lastIndexOf("/");return(s==-1)?r:r.substring(s+1)};p.ExecSubscribe=function n(z,t,C,r,B,y,A,w,D,x){var u="",v="",w="";if(D!=null&&x!=null){u='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken'+D+''+x+"";v=''}if(w!=null){w=""+w+""}if(t=="PushWithAck"){t="dmtf.org/wbem/wsman/1/wsman/PushWithAck"}else{if(t=="Push"){t="xmlsoap.org/ws/2004/08/eventing/DeliveryModes/Push"}}var s="http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe"+p.Address+""+z+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"+c(A)+u+'
'+C+""+w+""+v+"";p.PerformAjax(s+"
",r,B,y,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:m="http://x.com"')};p.ExecUnSubscribe=function o(u,r,w,t,v){var s="http://schemas.xmlsoap.org/ws/2004/08/eventing/Unsubscribe"+p.Address+""+u+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"+c(v)+"";p.PerformAjax(s+"",r,w,t,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing"')};p.ExecPut=function m(v,u,r,x,t,w){var s="http://schemas.xmlsoap.org/ws/2004/09/transfer/Put"+p.Address+""+v+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60.000S"+c(w)+""+b(v,u);p.PerformAjax(s+"",r,x,t)};p.ExecCreate=function f(x,w,r,z,v,y){var u=p.GetNameFromUrl(x);var s="http://schemas.xmlsoap.org/ws/2004/09/transfer/Create"+p.Address+""+x+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+c(y)+"';for(var t in w){s+=""+w[t]+""}p.PerformAjax(s+"",r,z,v)};p.ExecDelete=function g(v,u,r,w,t){var s="http://schemas.xmlsoap.org/ws/2004/09/transfer/Delete"+p.Address+""+v+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+c(u)+"";p.PerformAjax(s,r,w,t)};p.ExecGet=function i(t,r,u,s){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/transfer/Get"+p.Address+""+t+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S",r,u,s)};p.ExecMethod=function j(y,v,r,t,A,w,z){var s="";for(var u in r){if(r[u]!=null){if(Array.isArray(r[u])){for(var B in r[u]){s+=""+r[u][B]+""}}else{s+=""+r[u]+""}}}p.ExecMethodXml(y,v,s,t,A,w,z)};p.ExecMethodXml=function k(v,t,r,s,x,u,w){p.PerformAjax(v+"/"+t+""+p.Address+""+v+""+(p.NextMessageId++)+"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+c(w)+"'+r+"",s,x,u)};p.ExecEnum=function h(t,r,u,s){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Enumerate"+p.Address+""+t+""+(p.NextMessageId++)+'http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S',r,u,s)};p.ExecPull=function l(u,s,r,v,t){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Pull"+p.Address+""+u+""+(p.NextMessageId++)+'http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S'+s+"99999999",r,v,t)};function b(w,u){if(!w||u==null){return""}var s=p.GetNameFromUrl(w);var v="';for(var t in u){if(!u.hasOwnProperty(t)||t.indexOf("__")===0||t.indexOf("@")===0){continue}if(u[t]==null||typeof u[t]==="function"){continue}if(typeof u[t]==="object"&&u[t]["ReferenceParameters"]){v+=""+u[t].Address+""+u[t]["ReferenceParameters"]["ResourceURI"]+"";var x=u[t]["ReferenceParameters"]["SelectorSet"]["Selector"];if(Array.isArray(x)){for(var r=0;r"+x[r]["Value"]+""}}else{v+=""+x.Value+""}v+=""}else{if(Array.isArray(u[t])){for(var r=0;r"+u[t][r].toString()+""}}else{v+=""+u[t].toString()+""}}}v+="";return v}function a(r){if(!r){return""}var t=" ";for(var s in r){if(!r.hasOwnProperty(s)||s.indexOf("@")!==0){continue}t+=s.substring(1)+'="'+r[s]+'" '}return t}function c(v){if((v==null)||(v=="null")){return""}if(typeof v=="string"){return v}if(v.InstanceID){return''+v.InstanceID+""}var t="";for(var s in v){if(!v.hasOwnProperty(s)){continue}t+='';if(v[s]["ReferenceParameters"]){t+="";t+=""+v[s]["Address"]+""+v[s]["ReferenceParameters"]["ResourceURI"]+"";var u=v[s]["ReferenceParameters"]["SelectorSet"]["Selector"];if(Array.isArray(u)){for(var r=0;r"+u[r]["Value"]+""}}else{t+=""+u.Value+""}t+=""}else{t+=v[s]}t+=""}t+="";return t}return p}module.exports=WsmanStackCreateService; \ No newline at end of file diff --git a/agents/modules_meshcore_min/amt-xml.min.js b/agents/modules_meshcore_min/amt-xml.min.js new file mode 100644 index 00000000..4b2308ed --- /dev/null +++ b/agents/modules_meshcore_min/amt-xml.min.js @@ -0,0 +1 @@ +try{Object.defineProperty(Array.prototype,"peek",{value:function(){return(this.length>0?this[this.length-1]:undefined)}})}catch(e){}module.exports.ParseWsman=function(j){try{if(!j.childNodes){j=_turnToXml(j)}var g={Header:{}},d=j.getElementsByTagName("Header")[0],h;if(!d){d=j.getElementsByTagName("a:Header")[0]}if(!d){return null}for(var f=0;f0){h=a.childNodes[0].localName;if(h.indexOf("_OUTPUT")==h.length-7){h=h.substring(0,h.length-7)}g.Header.Method=h;g.Body=_ParseWsmanRec(a.childNodes[0])}return g}catch(c){console.error("Unable to parse XML: "+j,c);return null}};function _ParseWsmanRec(g){var c,h={};for(var d=0;d0)){b={Value:c};for(var f=0;f';for(var c in d){if(!d.hasOwnProperty(c)||c.indexOf("__")===0||c.indexOf("@")===0){continue}if(d[c]==null||typeof d[c]==="function"){continue}if(typeof d[c]==="object"&&d[c]["ReferenceParameters"]){f+=""+d[c].Address+""+d[c]["ReferenceParameters"]["ResourceURI"]+"";var h=d[c]["ReferenceParameters"]["SelectorSet"]["Selector"];if(Array.isArray(h)){for(var a=0;a"+h[a]["Value"]+""}}else{f+=""+h.Value+""}f+=""}else{if(Array.isArray(d[c])){for(var a=0;a"+d[c][a].toString()+""}}else{f+=""+d[c].toString()+""}}}f+="";return f}function _treeBuilder(){this.tree=[];this.push=function(a){this.tree.push(a)};this.pop=function(){var a=this.tree.pop();if(this.tree.length>0){var b=this.tree.peek();b.childNodes.push(a);b.childElementCount=b.childNodes.length}return(a)};this.peek=function(){return(this.tree.peek())};this.addNamespace=function(g,d){this.tree.peek().nsTable[g]=d;if(this.tree.peek().attributes.length>0){for(var c=0;c=0;--a){if(this.tree[a].nsTable[b]!=null){return(this.tree[a].nsTable[b])}}return null}}function _turnToXml(a){if(a==null){return null}return({childNodes:[_turnToXmlRec(a)],getElementsByTagName:_getElementsByTagName,getChildElementsByTagName:_getChildElementsByTagName,getElementsByTagNameNS:_getElementsByTagNameNS})}function _getElementsByTagNameNS(b,a){var c=[];_xmlTraverseAllRec(this.childNodes,function(d){if(d.localName==a&&(d.namespace==b||b=="*")){c.push(d)}});return c}function _getElementsByTagName(a){var b=[];_xmlTraverseAllRec(this.childNodes,function(c){if(c.localName==a){b.push(c)}});return b}function _getChildElementsByTagName(a){var c=[];if(this.childNodes!=null){for(var b in this.childNodes){if(this.childNodes[b].localName==a){c.push(this.childNodes[b])}}}return(c)}function _getChildElementsByTagNameNS(c,a){var d=[];if(this.childNodes!=null){for(var b in this.childNodes){if(this.childNodes[b].localName==a&&(c=="*"||this.childNodes[b].namespace==c)){d.push(this.childNodes[b])}}}return(d)}function _xmlTraverseAllRec(c,a){for(var b in c){a(c[b]);if(c[b].childNodes){_xmlTraverseAllRec(c[b].childNodes,a)}}}function _turnToXmlRec(w){try{if(w==null){return null}var m=new _treeBuilder(),r=null,z=w.split("<"),u=[],h=null,g=null;for(var o in z){var A=z[o].split(">"),B=A[0].split(" "),l=B[0];if((l.length>0)&&(l[0]!="?")){if(l[0]!="/"){var a=[],s,t=l.split(" ")[0].split(":"),s=(t.length>1)?t[1]:t[0];Object.defineProperty(a,"get",{value:function(){if(arguments.length==1){for(var i in this){if(this[i].name==arguments[0]){return(this[i])}}}else{if(arguments.length==2){for(var i in this){if(this[i].name==arguments[1]&&(arguments[0]=="*"||this[i].namespace==arguments[0])){return(this[i])}}}else{throw ("attributes.get(): Invalid number of parameters")}}}});m.push({name:l,localName:s,getChildElementsByTagName:_getChildElementsByTagName,getElementsByTagNameNS:_getElementsByTagNameNS,getChildElementsByTagNameNS:_getChildElementsByTagNameNS,attributes:a,childNodes:[],nsTable:{}});if(B.length>0){var v=false;for(var p in B){if(B[p]=="/"){m.peek().namespace=m.peek().name==m.peek().localName?m.getNamespace("*"):m.getNamespace(m.peek().name.substring(0,m.peek().name.indexOf(":")));m.peek().textContent="";r=m.pop();v=true;break}var q=B[p].indexOf("=");if(q>0){var b=B[p].substring(0,q);var d=B[p].substring(q+2,B[p].length-1);var c=m.getNamespace("*");if(b=="xmlns"){m.addNamespace("*",d);c=d}else{if(b.startsWith("xmlns:")){m.addNamespace(b.substring(6),d)}else{var f=b.split(":");if(f.length==2){b=f[1];c=m.getNamespace(f[0])}}}var y={name:b,value:d};if(c!=null){y.namespace=c}m.peek().attributes.push(y)}}if(v){continue}}m.peek().namespace=m.peek().name==m.peek().localName?m.getNamespace("*"):m.getNamespace(m.peek().name.substring(0,m.peek().name.indexOf(":")));if(A[1]){m.peek().textContent=A[1]}}else{r=m.pop()}}}}catch(n){return null}return r}; \ No newline at end of file diff --git a/agents/modules_meshcore_min/amt.min.js b/agents/modules_meshcore_min/amt.min.js new file mode 100644 index 00000000..6984729b --- /dev/null +++ b/agents/modules_meshcore_min/amt.min.js @@ -0,0 +1 @@ +function AmtStackCreateService(R){var J=new Object();J._ObjectID="AMT";J.wsman=R;J.pfx=["http://intel.com/wbem/wscim/1/amt-schema/1/","http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/","http://intel.com/wbem/wscim/1/ips-schema/1/"];J.PendingEnums=[];J.PendingBatchOperations=0;J.ActiveEnumsCount=0;J.MaxActiveEnumsCount=1;J.onProcessChanged=null;var n=0;var m=0;J.GetPendingActions=function(){return(J.PendingEnums.length*2)+(J.ActiveEnumsCount)+J.wsman.comm.PendingAjax.length+J.wsman.comm.ActiveAjaxCount+J.PendingBatchOperations};function r(){var S=J.GetPendingActions();if(n=J.MaxActiveEnumsCount||J.PendingEnums.length==0){return}var T=J.PendingEnums.shift();J.Enum(T[0],T[1],T[2]);d(0)}J.BatchEnum=function(S,V,T,X,U,W){J.PendingBatchOperations+=(V.length*2);b(S,x(V),T,X,{},U,W);r()};function x(S){return JSON.parse(JSON.stringify(S))}function b(S,X,T,aa,Z,U,Y){J.PendingBatchOperations-=2;var W=X.shift(),V=J.Enum;if(W[0]=="*"){V=J.Get;W=W.substring(1)}V(W,function(ad,ab,ac,ae,af){af[2][ab]={response:(ac==null?null:ac.Body),responses:ac,status:ae};if(af[1].length==0||ae==401||(U!=true&&ae!=200&&ae!=400)){J.PendingBatchOperations-=(X.length*2);r();T.call(J,J,S,af[2],ae,aa)}else{r();b(S,X,T,aa,af[2],Y)}},[S,X,Z],Y);r()}J.BatchGet=function(S,U,T,W,V){h({name:S,names:U,callback:T,current:0,responses:{},tag:W,pri:V});r()};function h(S){if(S.names.length<=S.current){S.callback.call(J,J,S.name,S.responses,200,S.tag)}else{J.wsman.ExecGet(J.CompleteName(S.names[S.current]),function(V,U,T,W){g(S,T,W)},S.pri);S.current++}r()}function g(S,T,U){if(T==null||U!=200){S.callback.call(J,J,S.name,null,U,S.tag)}else{S.responses[T.Header.Method]=T;h(S)}}J.CompleteName=function(S){if(S.indexOf("AMT_")==0){return J.pfx[0]+S}if(S.indexOf("CIM_")==0){return J.pfx[1]+S}if(S.indexOf("IPS_")==0){return J.pfx[2]+S}};J.CompleteExecResponse=function(S){if(S&&S!=null&&S.Body&&(S.Body.ReturnValue!=undefined)){S.Body.ReturnValueStr=J.AmtStatusToStr(S.Body.ReturnValue)}return S};J.RequestPowerStateChange=function(T,S){J.CIM_PowerManagementService_RequestPowerStateChange(T,'
http://schemas.xmlsoap.org/ws/2004/08/addressing
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ComputerSystemCIM_ComputerSystemManagedSystem',null,null,S)};J.SetBootConfigRole=function(T,S){J.CIM_BootService_SetBootConfigRole('
http://schemas.xmlsoap.org/ws/2004/08/addressing
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_BootConfigSettingIntel(r) AMT: Boot Configuration 0',T,S)};J.CancelAllQueries=function(S){J.wsman.CancelAllQueries(S)};J.AMT_AgentPresenceWatchdog_RegisterAgent=function(S,V,T,U){J.Exec("AMT_AgentPresenceWatchdog","RegisterAgent",{},S,V,T,U)};J.AMT_AgentPresenceWatchdog_AssertPresence=function(V,S,W,T,U){J.Exec("AMT_AgentPresenceWatchdog","AssertPresence",{SequenceNumber:V},S,W,T,U)};J.AMT_AgentPresenceWatchdog_AssertShutdown=function(V,S,W,T,U){J.Exec("AMT_AgentPresenceWatchdog","AssertShutdown",{SequenceNumber:V},S,W,T,U)};J.AMT_AgentPresenceWatchdog_AddAction=function(X,W,V,T,S,U,aa,Y,Z){J.Exec("AMT_AgentPresenceWatchdog","AddAction",{OldState:X,NewState:W,EventOnTransition:V,ActionSd:T,ActionEac:S},U,aa,Y,Z)};J.AMT_AgentPresenceWatchdog_DeleteAllActions=function(S,V,T,U){J.Exec("AMT_AgentPresenceWatchdog","DeleteAllActions",{},S,V,T,U)};J.AMT_AgentPresenceWatchdogAction_GetActionEac=function(S){J.Exec("AMT_AgentPresenceWatchdogAction","GetActionEac",{},S)};J.AMT_AgentPresenceWatchdogVA_RegisterAgent=function(S){J.Exec("AMT_AgentPresenceWatchdogVA","RegisterAgent",{},S)};J.AMT_AgentPresenceWatchdogVA_AssertPresence=function(T,S){J.Exec("AMT_AgentPresenceWatchdogVA","AssertPresence",{SequenceNumber:T},S)};J.AMT_AgentPresenceWatchdogVA_AssertShutdown=function(T,S){J.Exec("AMT_AgentPresenceWatchdogVA","AssertShutdown",{SequenceNumber:T},S)};J.AMT_AgentPresenceWatchdogVA_AddAction=function(X,W,V,T,S,U){J.Exec("AMT_AgentPresenceWatchdogVA","AddAction",{OldState:X,NewState:W,EventOnTransition:V,ActionSd:T,ActionEac:S},U)};J.AMT_AgentPresenceWatchdogVA_DeleteAllActions=function(S,T){J.Exec("AMT_AgentPresenceWatchdogVA","DeleteAllActions",{_method_dummy:S},T)};J.AMT_AlarmClockService_AddAlarm=function s(S,T){var V=S.InstanceID;var X=S.ElementName;var Y=S.StartTime.Datetime;var W=S.Interval?S.Interval.Datetime:undefined;var U=S.DeleteOnCompletion;var Z=''+V+""+X+''+Y+""+((W!=undefined)?(''+W+""):"")+""+U+"";J.wsman.ExecMethodXml(J.CompleteName("AMT_AlarmClockService"),"AddAlarm",Z,T)};J.AMT_AuditLog_ClearLog=function(S){J.Exec("AMT_AuditLog","ClearLog",{},S)};J.AMT_AuditLog_RequestStateChange=function(T,U,S){J.Exec("AMT_AuditLog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AMT_AuditLog_ReadRecords=function(T,S,U){J.Exec("AMT_AuditLog","ReadRecords",{StartIndex:T},S,U)};J.AMT_AuditLog_SetAuditLock=function(V,T,U,S){J.Exec("AMT_AuditLog","SetAuditLock",{LockTimeoutInSeconds:V,Flag:T,Handle:U},S)};J.AMT_AuditLog_ExportAuditLogSignature=function(T,S){J.Exec("AMT_AuditLog","ExportAuditLogSignature",{SigningMechanism:T},S)};J.AMT_AuditLog_SetSigningKeyMaterial=function(W,V,U,T,S){J.Exec("AMT_AuditLog","SetSigningKeyMaterial",{SigningMechanismType:W,SigningKey:V,LengthOfCertificates:U,Certificates:T},S)};J.AMT_AuditPolicyRule_SetAuditPolicy=function(U,S,V,W,T){J.Exec("AMT_AuditPolicyRule","SetAuditPolicy",{Enable:U,AuditedAppID:S,EventID:V,PolicyType:W},T)};J.AMT_AuditPolicyRule_SetAuditPolicyBulk=function(U,S,V,W,T){J.Exec("AMT_AuditPolicyRule","SetAuditPolicyBulk",{Enable:U,AuditedAppID:S,EventID:V,PolicyType:W},T)};J.AMT_AuthorizationService_AddUserAclEntryEx=function(V,U,W,S,X,T){J.Exec("AMT_AuthorizationService","AddUserAclEntryEx",{DigestUsername:V,DigestPassword:U,KerberosUserSid:W,AccessPermission:S,Realms:X},T)};J.AMT_AuthorizationService_EnumerateUserAclEntries=function(T,S){J.Exec("AMT_AuthorizationService","EnumerateUserAclEntries",{StartIndex:T},S)};J.AMT_AuthorizationService_GetUserAclEntryEx=function(T,S,U){J.Exec("AMT_AuthorizationService","GetUserAclEntryEx",{Handle:T},S,U)};J.AMT_AuthorizationService_UpdateUserAclEntryEx=function(W,V,U,X,S,Y,T){J.Exec("AMT_AuthorizationService","UpdateUserAclEntryEx",{Handle:W,DigestUsername:V,DigestPassword:U,KerberosUserSid:X,AccessPermission:S,Realms:Y},T)};J.AMT_AuthorizationService_RemoveUserAclEntry=function(T,S){J.Exec("AMT_AuthorizationService","RemoveUserAclEntry",{Handle:T},S)};J.AMT_AuthorizationService_SetAdminAclEntryEx=function(U,T,S){J.Exec("AMT_AuthorizationService","SetAdminAclEntryEx",{Username:U,DigestPassword:T},S)};J.AMT_AuthorizationService_GetAdminAclEntry=function(S){J.Exec("AMT_AuthorizationService","GetAdminAclEntry",{},S)};J.AMT_AuthorizationService_GetAdminAclEntryStatus=function(S){J.Exec("AMT_AuthorizationService","GetAdminAclEntryStatus",{},S)};J.AMT_AuthorizationService_GetAdminNetAclEntryStatus=function(S){J.Exec("AMT_AuthorizationService","GetAdminNetAclEntryStatus",{},S)};J.AMT_AuthorizationService_SetAclEnabledState=function(U,T,S,V){J.Exec("AMT_AuthorizationService","SetAclEnabledState",{Handle:U,Enabled:T},S,V)};J.AMT_AuthorizationService_GetAclEnabledState=function(T,S,U){J.Exec("AMT_AuthorizationService","GetAclEnabledState",{Handle:T},S,U)};J.AMT_EndpointAccessControlService_RequestStateChange=function(T,U,S){J.Exec("AMT_EndpointAccessControlService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AMT_EndpointAccessControlService_GetPosture=function(T,S){J.Exec("AMT_EndpointAccessControlService","GetPosture",{PostureType:T},S)};J.AMT_EndpointAccessControlService_GetPostureHash=function(T,S){J.Exec("AMT_EndpointAccessControlService","GetPostureHash",{PostureType:T},S)};J.AMT_EndpointAccessControlService_UpdatePostureState=function(T,S){J.Exec("AMT_EndpointAccessControlService","UpdatePostureState",{UpdateType:T},S)};J.AMT_EndpointAccessControlService_GetEacOptions=function(S){J.Exec("AMT_EndpointAccessControlService","GetEacOptions",{},S)};J.AMT_EndpointAccessControlService_SetEacOptions=function(T,U,S){J.Exec("AMT_EndpointAccessControlService","SetEacOptions",{EacVendors:T,PostureHashAlgorithm:U},S)};J.AMT_EnvironmentDetectionSettingData_SetSystemDefensePolicy=function(T,S){J.Exec("AMT_EnvironmentDetectionSettingData","SetSystemDefensePolicy",{Policy:T},S)};J.AMT_EnvironmentDetectionSettingData_EnableVpnRouting=function(T,S){J.Exec("AMT_EnvironmentDetectionSettingData","EnableVpnRouting",{Enable:T},S)};J.AMT_EthernetPortSettings_SetLinkPreference=function(T,U,S){J.Exec("AMT_EthernetPortSettings","SetLinkPreference",{LinkPreference:T,Timeout:U},S)};J.AMT_HeuristicPacketFilterStatistics_ResetSelectedStats=function(T,S){J.Exec("AMT_HeuristicPacketFilterStatistics","ResetSelectedStats",{SelectedStatistics:T},S)};J.AMT_KerberosSettingData_GetCredentialCacheState=function(S){J.Exec("AMT_KerberosSettingData","GetCredentialCacheState",{},S)};J.AMT_KerberosSettingData_SetCredentialCacheState=function(T,S){J.Exec("AMT_KerberosSettingData","SetCredentialCacheState",{Enable:T},S)};J.AMT_MessageLog_CancelIteration=function(T,S){J.Exec("AMT_MessageLog","CancelIteration",{IterationIdentifier:T},S)};J.AMT_MessageLog_RequestStateChange=function(T,U,S){J.Exec("AMT_MessageLog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AMT_MessageLog_ClearLog=function(S){J.Exec("AMT_MessageLog","ClearLog",{},S)};J.AMT_MessageLog_GetRecords=function(T,U,S,V){J.Exec("AMT_MessageLog","GetRecords",{IterationIdentifier:T,MaxReadRecords:U},S,V)};J.AMT_MessageLog_GetRecord=function(T,U,S){J.Exec("AMT_MessageLog","GetRecord",{IterationIdentifier:T,PositionToNext:U},S)};J.AMT_MessageLog_PositionAtRecord=function(T,U,V,S){J.Exec("AMT_MessageLog","PositionAtRecord",{IterationIdentifier:T,MoveAbsolute:U,RecordNumber:V},S)};J.AMT_MessageLog_PositionToFirstRecord=function(S,T){J.Exec("AMT_MessageLog","PositionToFirstRecord",{},S,T)};J.AMT_MessageLog_FreezeLog=function(T,S){J.Exec("AMT_MessageLog","FreezeLog",{Freeze:T},S)};J.AMT_PublicKeyManagementService_AddCRL=function(U,T,S){J.Exec("AMT_PublicKeyManagementService","AddCRL",{Url:U,SerialNumbers:T},S)};J.AMT_PublicKeyManagementService_ResetCRLList=function(S,T){J.Exec("AMT_PublicKeyManagementService","ResetCRLList",{_method_dummy:S},T)};J.AMT_PublicKeyManagementService_AddCertificate=function(T,S,U){J.Exec("AMT_PublicKeyManagementService","AddCertificate",{CertificateBlob:T},S,U)};J.AMT_PublicKeyManagementService_AddTrustedRootCertificate=function(T,S){J.Exec("AMT_PublicKeyManagementService","AddTrustedRootCertificate",{CertificateBlob:T},S)};J.AMT_PublicKeyManagementService_AddKey=function(T,S){J.Exec("AMT_PublicKeyManagementService","AddKey",{KeyBlob:T},S)};J.AMT_PublicKeyManagementService_GeneratePKCS10Request=function(U,T,V,S){J.Exec("AMT_PublicKeyManagementService","GeneratePKCS10Request",{KeyPair:U,DNName:T,Usage:V},S)};J.AMT_PublicKeyManagementService_GeneratePKCS10RequestEx=function(T,V,U,S){J.Exec("AMT_PublicKeyManagementService","GeneratePKCS10RequestEx",{KeyPair:T,SigningAlgorithm:V,NullSignedCertificateRequest:U},S)};J.AMT_PublicKeyManagementService_GenerateKeyPair=function(T,U,S){J.Exec("AMT_PublicKeyManagementService","GenerateKeyPair",{KeyAlgorithm:T,KeyLength:U},S)};J.AMT_RedirectionService_RequestStateChange=function(T,S){J.Exec("AMT_RedirectionService","RequestStateChange",{RequestedState:T},S)};J.AMT_RedirectionService_TerminateSession=function(T,S){J.Exec("AMT_RedirectionService","TerminateSession",{SessionType:T},S)};J.AMT_RemoteAccessService_AddMpServer=function(S,X,Z,T,V,aa,Y,W,U){J.Exec("AMT_RemoteAccessService","AddMpServer",{AccessInfo:S,InfoFormat:X,Port:Z,AuthMethod:T,Certificate:V,Username:aa,Password:Y,CN:W},U)};J.AMT_RemoteAccessService_AddRemoteAccessPolicyRule=function(V,W,T,U,S){J.Exec("AMT_RemoteAccessService","AddRemoteAccessPolicyRule",{Trigger:V,TunnelLifeTime:W,ExtendedData:T,MpServer:U},S)};J.AMT_RemoteAccessService_CloseRemoteAccessConnection=function(S,T){J.Exec("AMT_RemoteAccessService","CloseRemoteAccessConnection",{_method_dummy:S},T)};J.AMT_SetupAndConfigurationService_CommitChanges=function(S,T,U){J.Exec("AMT_SetupAndConfigurationService","CommitChanges",{_method_dummy:S},T,U)};J.AMT_SetupAndConfigurationService_Unprovision=function(T,S){J.Exec("AMT_SetupAndConfigurationService","Unprovision",{ProvisioningMode:T},S)};J.AMT_SetupAndConfigurationService_PartialUnprovision=function(S,T){J.Exec("AMT_SetupAndConfigurationService","PartialUnprovision",{_method_dummy:S},T)};J.AMT_SetupAndConfigurationService_ResetFlashWearOutProtection=function(S,T){J.Exec("AMT_SetupAndConfigurationService","ResetFlashWearOutProtection",{_method_dummy:S},T)};J.AMT_SetupAndConfigurationService_ExtendProvisioningPeriod=function(T,S){J.Exec("AMT_SetupAndConfigurationService","ExtendProvisioningPeriod",{Duration:T},S)};J.AMT_SetupAndConfigurationService_SetMEBxPassword=function(T,S){J.Exec("AMT_SetupAndConfigurationService","SetMEBxPassword",{Password:T},S)};J.AMT_SetupAndConfigurationService_SetTLSPSK=function(T,U,S){J.Exec("AMT_SetupAndConfigurationService","SetTLSPSK",{PID:T,PPS:U},S)};J.AMT_SetupAndConfigurationService_GetProvisioningAuditRecord=function(S){J.Exec("AMT_SetupAndConfigurationService","GetProvisioningAuditRecord",{},S)};J.AMT_SetupAndConfigurationService_GetUuid=function(S){J.Exec("AMT_SetupAndConfigurationService","GetUuid",{},S)};J.AMT_SetupAndConfigurationService_GetUnprovisionBlockingComponents=function(S){J.Exec("AMT_SetupAndConfigurationService","GetUnprovisionBlockingComponents",{},S)};J.AMT_SetupAndConfigurationService_GetProvisioningAuditRecordV2=function(S){J.Exec("AMT_SetupAndConfigurationService","GetProvisioningAuditRecordV2",{},S)};J.AMT_SystemDefensePolicy_GetTimeout=function(S){J.Exec("AMT_SystemDefensePolicy","GetTimeout",{},S)};J.AMT_SystemDefensePolicy_SetTimeout=function(T,S){J.Exec("AMT_SystemDefensePolicy","SetTimeout",{Timeout:T},S)};J.AMT_SystemDefensePolicy_UpdateStatistics=function(T,V,S,X,U,W){J.Exec("AMT_SystemDefensePolicy","UpdateStatistics",{NetworkInterface:T,ResetOnRead:V},S,X,U,W)};J.AMT_SystemPowerScheme_SetPowerScheme=function(S,T,U){J.Exec("AMT_SystemPowerScheme","SetPowerScheme",{},S,U,0,{InstanceID:T})};J.AMT_TimeSynchronizationService_GetLowAccuracyTimeSynch=function(S,T){J.Exec("AMT_TimeSynchronizationService","GetLowAccuracyTimeSynch",{},S,T)};J.AMT_TimeSynchronizationService_SetHighAccuracyTimeSynch=function(T,V,W,S,U){J.Exec("AMT_TimeSynchronizationService","SetHighAccuracyTimeSynch",{Ta0:T,Tm1:V,Tm2:W},S,U)};J.AMT_TLSCredentialContext_Create=function t(T,U,S,V){J.Create("AMT_TLSCredentialContext",{ElementInContext:T,ElementProvidingContext:U},S,V)};J.AMT_UserInitiatedConnectionService_RequestStateChange=function(T,U,S){J.Exec("AMT_UserInitiatedConnectionService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AMT_WebUIService_RequestStateChange=function(T,V,S,U){J.Exec("AMT_WebUIService","RequestStateChange",{RequestedState:T,TimeoutPeriod:V},S,U)};J.AMT_WiFiPortConfigurationService_AddWiFiSettings=function(W,X,V,U,S,T){J.ExecWithXml("AMT_WiFiPortConfigurationService","AddWiFiSettings",{WiFiEndpoint:W,WiFiEndpointSettingsInput:X,IEEE8021xSettingsInput:V,ClientCredential:U,CACredential:S},T)};J.AMT_WiFiPortConfigurationService_UpdateWiFiSettings=function(W,X,V,U,S,T){J.ExecWithXml("AMT_WiFiPortConfigurationService","UpdateWiFiSettings",{WiFiEndpointSettings:W,WiFiEndpointSettingsInput:X,IEEE8021xSettingsInput:V,ClientCredential:U,CACredential:S},T)};J.AMT_WiFiPortConfigurationService_DeleteAllITProfiles=function(S,T){J.Exec("AMT_WiFiPortConfigurationService","DeleteAllITProfiles",{_method_dummy:S},T)};J.AMT_WiFiPortConfigurationService_DeleteAllUserProfiles=function(S,T){J.Exec("AMT_WiFiPortConfigurationService","DeleteAllUserProfiles",{_method_dummy:S},T)};J.CIM_Account_RequestStateChange=function(T,U,S){J.Exec("CIM_Account","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_AccountManagementService_CreateAccount=function(U,S,T){J.Exec("CIM_AccountManagementService","CreateAccount",{System:U,AccountTemplate:S},T)};J.CIM_BootConfigSetting_ChangeBootOrder=function(T,S){J.Exec("CIM_BootConfigSetting","ChangeBootOrder",{Source:T},S)};J.CIM_BootService_SetBootConfigRole=function(S,U,T){J.Exec("CIM_BootService","SetBootConfigRole",{BootConfigSetting:S,Role:U},T,0,1)};J.CIM_Card_ConnectorPower=function(T,U,S){J.Exec("CIM_Card","ConnectorPower",{Connector:T,PoweredOn:U},S)};J.CIM_Card_IsCompatible=function(T,S){J.Exec("CIM_Card","IsCompatible",{ElementToCheck:T},S)};J.CIM_Chassis_IsCompatible=function(T,S){J.Exec("CIM_Chassis","IsCompatible",{ElementToCheck:T},S)};J.CIM_Fan_SetSpeed=function(T,S){J.Exec("CIM_Fan","SetSpeed",{DesiredSpeed:T},S)};J.CIM_KVMRedirectionSAP_RequestStateChange=function(T,U,S){J.Exec("CIM_KVMRedirectionSAP","RequestStateChange",{RequestedState:T},S)};J.CIM_MediaAccessDevice_LockMedia=function(T,S){J.Exec("CIM_MediaAccessDevice","LockMedia",{Lock:T},S)};J.CIM_MediaAccessDevice_SetPowerState=function(T,U,S){J.Exec("CIM_MediaAccessDevice","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_MediaAccessDevice_Reset=function(S){J.Exec("CIM_MediaAccessDevice","Reset",{},S)};J.CIM_MediaAccessDevice_EnableDevice=function(T,S){J.Exec("CIM_MediaAccessDevice","EnableDevice",{Enabled:T},S)};J.CIM_MediaAccessDevice_OnlineDevice=function(T,S){J.Exec("CIM_MediaAccessDevice","OnlineDevice",{Online:T},S)};J.CIM_MediaAccessDevice_QuiesceDevice=function(T,S){J.Exec("CIM_MediaAccessDevice","QuiesceDevice",{Quiesce:T},S)};J.CIM_MediaAccessDevice_SaveProperties=function(S){J.Exec("CIM_MediaAccessDevice","SaveProperties",{},S)};J.CIM_MediaAccessDevice_RestoreProperties=function(S){J.Exec("CIM_MediaAccessDevice","RestoreProperties",{},S)};J.CIM_MediaAccessDevice_RequestStateChange=function(T,U,S){J.Exec("CIM_MediaAccessDevice","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_PhysicalFrame_IsCompatible=function(T,S){J.Exec("CIM_PhysicalFrame","IsCompatible",{ElementToCheck:T},S)};J.CIM_PhysicalPackage_IsCompatible=function(T,S){J.Exec("CIM_PhysicalPackage","IsCompatible",{ElementToCheck:T},S)};J.CIM_PowerManagementService_RequestPowerStateChange=function(U,T,V,W,S){J.Exec("CIM_PowerManagementService","RequestPowerStateChange",{PowerState:U,ManagedElement:T,Time:V,TimeoutPeriod:W},S,0,1)};J.CIM_PowerSupply_SetPowerState=function(T,U,S){J.Exec("CIM_PowerSupply","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_PowerSupply_Reset=function(S){J.Exec("CIM_PowerSupply","Reset",{},S)};J.CIM_PowerSupply_EnableDevice=function(T,S){J.Exec("CIM_PowerSupply","EnableDevice",{Enabled:T},S)};J.CIM_PowerSupply_OnlineDevice=function(T,S){J.Exec("CIM_PowerSupply","OnlineDevice",{Online:T},S)};J.CIM_PowerSupply_QuiesceDevice=function(T,S){J.Exec("CIM_PowerSupply","QuiesceDevice",{Quiesce:T},S)};J.CIM_PowerSupply_SaveProperties=function(S){J.Exec("CIM_PowerSupply","SaveProperties",{},S)};J.CIM_PowerSupply_RestoreProperties=function(S){J.Exec("CIM_PowerSupply","RestoreProperties",{},S)};J.CIM_PowerSupply_RequestStateChange=function(T,U,S){J.Exec("CIM_PowerSupply","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_Processor_SetPowerState=function(T,U,S){J.Exec("CIM_Processor","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_Processor_Reset=function(S){J.Exec("CIM_Processor","Reset",{},S)};J.CIM_Processor_EnableDevice=function(T,S){J.Exec("CIM_Processor","EnableDevice",{Enabled:T},S)};J.CIM_Processor_OnlineDevice=function(T,S){J.Exec("CIM_Processor","OnlineDevice",{Online:T},S)};J.CIM_Processor_QuiesceDevice=function(T,S){J.Exec("CIM_Processor","QuiesceDevice",{Quiesce:T},S)};J.CIM_Processor_SaveProperties=function(S){J.Exec("CIM_Processor","SaveProperties",{},S)};J.CIM_Processor_RestoreProperties=function(S){J.Exec("CIM_Processor","RestoreProperties",{},S)};J.CIM_Processor_RequestStateChange=function(T,U,S){J.Exec("CIM_Processor","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_RecordLog_ClearLog=function(S){J.Exec("CIM_RecordLog","ClearLog",{},S)};J.CIM_RecordLog_RequestStateChange=function(T,U,S){J.Exec("CIM_RecordLog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_RedirectionService_RequestStateChange=function(T,U,S){J.Exec("CIM_RedirectionService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_Sensor_SetPowerState=function(T,U,S){J.Exec("CIM_Sensor","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_Sensor_Reset=function(S){J.Exec("CIM_Sensor","Reset",{},S)};J.CIM_Sensor_EnableDevice=function(T,S){J.Exec("CIM_Sensor","EnableDevice",{Enabled:T},S)};J.CIM_Sensor_OnlineDevice=function(T,S){J.Exec("CIM_Sensor","OnlineDevice",{Online:T},S)};J.CIM_Sensor_QuiesceDevice=function(T,S){J.Exec("CIM_Sensor","QuiesceDevice",{Quiesce:T},S)};J.CIM_Sensor_SaveProperties=function(S){J.Exec("CIM_Sensor","SaveProperties",{},S)};J.CIM_Sensor_RestoreProperties=function(S){J.Exec("CIM_Sensor","RestoreProperties",{},S)};J.CIM_Sensor_RequestStateChange=function(T,U,S){J.Exec("CIM_Sensor","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_StatisticalData_ResetSelectedStats=function(T,S){J.Exec("CIM_StatisticalData","ResetSelectedStats",{SelectedStatistics:T},S)};J.CIM_Watchdog_KeepAlive=function(S){J.Exec("CIM_Watchdog","KeepAlive",{},S)};J.CIM_Watchdog_SetPowerState=function(T,U,S){J.Exec("CIM_Watchdog","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_Watchdog_Reset=function(S){J.Exec("CIM_Watchdog","Reset",{},S)};J.CIM_Watchdog_EnableDevice=function(T,S){J.Exec("CIM_Watchdog","EnableDevice",{Enabled:T},S)};J.CIM_Watchdog_OnlineDevice=function(T,S){J.Exec("CIM_Watchdog","OnlineDevice",{Online:T},S)};J.CIM_Watchdog_QuiesceDevice=function(T,S){J.Exec("CIM_Watchdog","QuiesceDevice",{Quiesce:T},S)};J.CIM_Watchdog_SaveProperties=function(S){J.Exec("CIM_Watchdog","SaveProperties",{},S)};J.CIM_Watchdog_RestoreProperties=function(S){J.Exec("CIM_Watchdog","RestoreProperties",{},S)};J.CIM_Watchdog_RequestStateChange=function(T,U,S){J.Exec("CIM_Watchdog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.CIM_WiFiPort_SetPowerState=function(T,U,S){J.Exec("CIM_WiFiPort","SetPowerState",{PowerState:T,Time:U},S)};J.CIM_WiFiPort_Reset=function(S){J.Exec("CIM_WiFiPort","Reset",{},S)};J.CIM_WiFiPort_EnableDevice=function(T,S){J.Exec("CIM_WiFiPort","EnableDevice",{Enabled:T},S)};J.CIM_WiFiPort_OnlineDevice=function(T,S){J.Exec("CIM_WiFiPort","OnlineDevice",{Online:T},S)};J.CIM_WiFiPort_QuiesceDevice=function(T,S){J.Exec("CIM_WiFiPort","QuiesceDevice",{Quiesce:T},S)};J.CIM_WiFiPort_SaveProperties=function(S){J.Exec("CIM_WiFiPort","SaveProperties",{},S)};J.CIM_WiFiPort_RestoreProperties=function(S){J.Exec("CIM_WiFiPort","RestoreProperties",{},S)};J.CIM_WiFiPort_RequestStateChange=function(T,U,S){J.Exec("CIM_WiFiPort","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.IPS_HostBasedSetupService_Setup=function(W,X,V,T,Y,U,S){J.Exec("IPS_HostBasedSetupService","Setup",{NetAdminPassEncryptionType:W,NetworkAdminPassword:X,McNonce:V,Certificate:T,SigningAlgorithm:Y,DigitalSignature:U},S)};J.IPS_HostBasedSetupService_AddNextCertInChain=function(V,T,U,S){J.Exec("IPS_HostBasedSetupService","AddNextCertInChain",{NextCertificate:V,IsLeafCertificate:T,IsRootCertificate:U},S)};J.IPS_HostBasedSetupService_AdminSetup=function(V,W,U,X,T,S){J.Exec("IPS_HostBasedSetupService","AdminSetup",{NetAdminPassEncryptionType:V,NetworkAdminPassword:W,McNonce:U,SigningAlgorithm:X,DigitalSignature:T},S)};J.IPS_HostBasedSetupService_UpgradeClientToAdmin=function(U,V,T,S){J.Exec("IPS_HostBasedSetupService","UpgradeClientToAdmin",{McNonce:U,SigningAlgorithm:V,DigitalSignature:T},S)};J.IPS_HostBasedSetupService_DisableClientControlMode=function(S,T){J.Exec("IPS_HostBasedSetupService","DisableClientControlMode",{_method_dummy:S},T)};J.IPS_KVMRedirectionSettingData_TerminateSession=function(S){J.Exec("IPS_KVMRedirectionSettingData","TerminateSession",{},S)};J.IPS_KVMRedirectionSettingData_DataChannelRead=function(S){J.Exec("IPS_KVMRedirectionSettingData","DataChannelRead",{},S)};J.IPS_KVMRedirectionSettingData_DataChannelWrite=function(T,S){J.Exec("IPS_KVMRedirectionSettingData","DataChannelWrite",{DataMessage:T},S)};J.IPS_OptInService_StartOptIn=function(S){J.Exec("IPS_OptInService","StartOptIn",{},S)};J.IPS_OptInService_CancelOptIn=function(S){J.Exec("IPS_OptInService","CancelOptIn",{},S)};J.IPS_OptInService_SendOptInCode=function(T,S){J.Exec("IPS_OptInService","SendOptInCode",{OptInCode:T},S)};J.IPS_OptInService_StartService=function(S){J.Exec("IPS_OptInService","StartService",{},S)};J.IPS_OptInService_StopService=function(S){J.Exec("IPS_OptInService","StopService",{},S)};J.IPS_OptInService_RequestStateChange=function(T,U,S){J.Exec("IPS_OptInService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.IPS_ProvisioningRecordLog_RequestStateChange=function(T,U,S){J.Exec("IPS_ProvisioningRecordLog","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.IPS_ProvisioningRecordLog_ClearLog=function(S,T){J.Exec("IPS_ProvisioningRecordLog","ClearLog",{_method_dummy:S},T)};J.IPS_SecIOService_RequestStateChange=function(T,U,S){J.Exec("IPS_SecIOService","RequestStateChange",{RequestedState:T,TimeoutPeriod:U},S)};J.AmtStatusToStr=function(S){if(J.AmtStatusCodes[S]){return J.AmtStatusCodes[S]}else{return"UNKNOWN_ERROR"}};J.AmtStatusCodes={0:"SUCCESS",1:"INTERNAL_ERROR",2:"NOT_READY",3:"INVALID_PT_MODE",4:"INVALID_MESSAGE_LENGTH",5:"TABLE_FINGERPRINT_NOT_AVAILABLE",6:"INTEGRITY_CHECK_FAILED",7:"UNSUPPORTED_ISVS_VERSION",8:"APPLICATION_NOT_REGISTERED",9:"INVALID_REGISTRATION_DATA",10:"APPLICATION_DOES_NOT_EXIST",11:"NOT_ENOUGH_STORAGE",12:"INVALID_NAME",13:"BLOCK_DOES_NOT_EXIST",14:"INVALID_BYTE_OFFSET",15:"INVALID_BYTE_COUNT",16:"NOT_PERMITTED",17:"NOT_OWNER",18:"BLOCK_LOCKED_BY_OTHER",19:"BLOCK_NOT_LOCKED",20:"INVALID_GROUP_PERMISSIONS",21:"GROUP_DOES_NOT_EXIST",22:"INVALID_MEMBER_COUNT",23:"MAX_LIMIT_REACHED",24:"INVALID_AUTH_TYPE",25:"AUTHENTICATION_FAILED",26:"INVALID_DHCP_MODE",27:"INVALID_IP_ADDRESS",28:"INVALID_DOMAIN_NAME",29:"UNSUPPORTED_VERSION",30:"REQUEST_UNEXPECTED",31:"INVALID_TABLE_TYPE",32:"INVALID_PROVISIONING_STATE",33:"UNSUPPORTED_OBJECT",34:"INVALID_TIME",35:"INVALID_INDEX",36:"INVALID_PARAMETER",37:"INVALID_NETMASK",38:"FLASH_WRITE_LIMIT_EXCEEDED",39:"INVALID_IMAGE_LENGTH",40:"INVALID_IMAGE_SIGNATURE",41:"PROPOSE_ANOTHER_VERSION",42:"INVALID_PID_FORMAT",43:"INVALID_PPS_FORMAT",44:"BIST_COMMAND_BLOCKED",45:"CONNECTION_FAILED",46:"CONNECTION_TOO_MANY",47:"RNG_GENERATION_IN_PROGRESS",48:"RNG_NOT_READY",49:"CERTIFICATE_NOT_READY",1024:"DISABLED_BY_POLICY",2048:"NETWORK_IF_ERROR_BASE",2049:"UNSUPPORTED_OEM_NUMBER",2050:"UNSUPPORTED_BOOT_OPTION",2051:"INVALID_COMMAND",2052:"INVALID_SPECIAL_COMMAND",2053:"INVALID_HANDLE",2054:"INVALID_PASSWORD",2055:"INVALID_REALM",2056:"STORAGE_ACL_ENTRY_IN_USE",2057:"DATA_MISSING",2058:"DUPLICATE",2059:"EVENTLOG_FROZEN",2060:"PKI_MISSING_KEYS",2061:"PKI_GENERATING_KEYS",2062:"INVALID_KEY",2063:"INVALID_CERT",2064:"CERT_KEY_NOT_MATCH",2065:"MAX_KERB_DOMAIN_REACHED",2066:"UNSUPPORTED",2067:"INVALID_PRIORITY",2068:"NOT_FOUND",2069:"INVALID_CREDENTIALS",2070:"INVALID_PASSPHRASE",2072:"NO_ASSOCIATION",2075:"AUDIT_FAIL",2076:"BLOCKING_COMPONENT",2081:"USER_CONSENT_REQUIRED",4096:"APP_INTERNAL_ERROR",4097:"NOT_INITIALIZED",4098:"LIB_VERSION_UNSUPPORTED",4099:"INVALID_PARAM",4100:"RESOURCES",4101:"HARDWARE_ACCESS_ERROR",4102:"REQUESTOR_NOT_REGISTERED",4103:"NETWORK_ERROR",4104:"PARAM_BUFFER_TOO_SHORT",4105:"COM_NOT_INITIALIZED_IN_THREAD",4106:"URL_REQUIRED"};J.GetMessageLog=function(S,T){J.AMT_MessageLog_PositionToFirstRecord(k,[S,T,[]])};function k(U,S,T,V,W){if(V!=200||T.Body.ReturnValue!="0"){W[0](J,null,W[2],V);return}J.AMT_MessageLog_GetRecords(T.Body.IterationIdentifier,390,l,W)}function l(Z,W,Y,aa,ac){if(aa!=200||Y.Body.ReturnValue!="0"){ac[0](J,null,ac[2],aa);return}var U,V,ae,T,S=ac[2],ab=new Date(),ad,X=Y.Body.RecordArray;if(typeof X==="string"){Y.Body.RecordArray=[Y.Body.RecordArray]}for(U in X){T=Buffer.from(X[U],"base64");if(T!=null){ad=M(T,0);if((ad>0)&&(ad<4294967295)){ae={DeviceAddress:T[4],EventSensorType:T[5],EventType:T[6],EventOffset:T[7],EventSourceType:T[8],EventSeverity:T[9],SensorNumber:T[10],Entity:T[11],EntityInstance:T[12],EventData:[],Time:new Date((ad+(ab.getTimezoneOffset()*60))*1000)};for(V=13;V<21;V++){ae.EventData.push(T[V])}ae.EntityStr=o[ae.Entity];ae.Desc=j(ae.EventSensorType,ae.EventOffset,ae.EventData,ae.Entity);if(!ae.EntityStr){ae.EntityStr="Unknown"}S.push(ae)}}}if(Y.Body.NoMoreRecords!=true){J.AMT_MessageLog_GetRecords(Y.Body.IterationIdentifier,390,l,[ac[0],S,ac[2]])}else{ac[0](J,S,ac[2])}}var f="Platform firmware (e.g. BIOS)|SMI handler|ISV system management software|Alert ASIC|IPMI|BIOS vendor|System board set vendor|System integrator|Third party add-in|OSV|NIC|System management card".split("|");var p="Unspecified.|No system memory is physically installed in the system.|No usable system memory, all installed memory has experienced an unrecoverable failure.|Unrecoverable hard-disk/ATAPI/IDE device failure.|Unrecoverable system-board failure.|Unrecoverable diskette subsystem failure.|Unrecoverable hard-disk controller failure.|Unrecoverable PS/2 or USB keyboard failure.|Removable boot media not found.|Unrecoverable video controller failure.|No video device detected.|Firmware (BIOS) ROM corruption detected.|CPU voltage mismatch (processors that share same supply have mismatched voltage requirements)|CPU speed matching failure".split("|");var q="Unspecified.|Memory initialization.|Starting hard-disk initialization and test|Secondary processor(s) initialization|User authentication|User-initiated system setup|USB resource configuration|PCI resource configuration|Option ROM initialization|Video initialization|Cache initialization|SM Bus initialization|Keyboard controller initialization|Embedded controller/management controller initialization|Docking station attachment|Enabling docking station|Docking station ejection|Disabling docking station|Calling operating system wake-up vector|Starting operating system boot process|Baseboard or motherboard initialization|reserved|Floppy initialization|Keyboard test|Pointing device test|Primary processor initialization".split("|");var o="Unspecified|Other|Unknown|Processor|Disk|Peripheral|System management module|System board|Memory module|Processor module|Power supply|Add in card|Front panel board|Back panel board|Power system board|Drive backplane|System internal expansion board|Other system board|Processor board|Power unit|Power module|Power management board|Chassis back panel board|System chassis|Sub chassis|Other chassis board|Disk drive bay|Peripheral bay|Device bay|Fan cooling|Cooling unit|Cable interconnect|Memory device|System management software|BIOS|Intel(r) ME|System bus|Group|Intel(r) ME|External environment|Battery|Processing blade|Connectivity switch|Processor/memory module|I/O module|Processor I/O module|Management controller firmware|IPMI channel|PCI bus|PCI express bus|SCSI bus|SATA/SAS bus|Processor front side bus".split("|");J.RealmNames="||Redirection|PT Administration|Hardware Asset|Remote Control|Storage|Event Manager|Storage Admin|Agent Presence Local|Agent Presence Remote|Circuit Breaker|Network Time|General Information|Firmware Update|EIT|LocalUN|Endpoint Access Control|Endpoint Access Control Admin|Event Log Reader|Audit Log|ACL Realm|||Local System".split("|");J.WatchdogCurrentStates={1:"Not Started",2:"Stopped",4:"Running",8:"Expired",16:"Suspended"};function j(V,U,T,S){if(V==15){if(T[0]==235){return"Invalid Data"}if(U==0){return p[T[1]]}return q[T[1]]}if(V==18&&T[0]==170){return"Agent watchdog "+char2hex(T[4])+char2hex(T[3])+char2hex(T[2])+char2hex(T[1])+"-"+char2hex(T[6])+char2hex(T[5])+"-... changed to "+J.WatchdogCurrentStates[T[7]]}if(V==6){return"Authentication failed "+(T[1]+(T[2]<<8))+" times. The system may be under attack."}if(V==30){return"No bootable media"}if(V==32){return"Operating system lockup or power interrupt"}if(V==35){return"System boot failure"}if(V==37){return"System firmware started (at least one CPU is properly executing)."}return"Unknown Sensor Type #"+V}var a={16:"Security Admin",17:"RCO",18:"Redirection Manager",19:"Firmware Update Manager",20:"Security Audit Log",21:"Network Time",22:"Network Administration",23:"Storage Administration",24:"Event Manager",25:"Circuit Breaker Manager",26:"Agent Presence Manager",27:"Wireless Configuration",28:"EAC",29:"KVM",30:"User Opt-In Events",32:"Screen Blanking",33:"Watchdog Events",1600:"Provisioning Started",1601:"Provisioning Completed",1602:"ACL Entry Added",1603:"ACL Entry Modified",1604:"ACL Entry Removed",1605:"ACL Access with Invalid Credentials",1606:"ACL Entry State",1607:"TLS State Changed",1608:"TLS Server Certificate Set",1609:"TLS Server Certificate Remove",1610:"TLS Trusted Root Certificate Added",1611:"TLS Trusted Root Certificate Removed",1612:"TLS Preshared Key Set",1613:"Kerberos Settings Modified",1614:"Kerberos Master Key Modified",1615:"Flash Wear out Counters Reset",1616:"Power Package Modified",1617:"Set Realm Authentication Mode",1618:"Upgrade Client to Admin Control Mode",1619:"Unprovisioning Started",1700:"Performed Power Up",1701:"Performed Power Down",1702:"Performed Power Cycle",1703:"Performed Reset",1704:"Set Boot Options",1800:"IDER Session Opened",1801:"IDER Session Closed",1802:"IDER Enabled",1803:"IDER Disabled",1804:"SoL Session Opened",1805:"SoL Session Closed",1806:"SoL Enabled",1807:"SoL Disabled",1808:"KVM Session Started",1809:"KVM Session Ended",1810:"KVM Enabled",1811:"KVM Disabled",1812:"VNC Password Failed 3 Times",1900:"Firmware Updated",1901:"Firmware Update Failed",2000:"Security Audit Log Cleared",2001:"Security Audit Policy Modified",2002:"Security Audit Log Disabled",2003:"Security Audit Log Enabled",2004:"Security Audit Log Exported",2005:"Security Audit Log Recovered",2100:"Intel(R) ME Time Set",2200:"TCPIP Parameters Set",2201:"Host Name Set",2202:"Domain Name Set",2203:"VLAN Parameters Set",2204:"Link Policy Set",2205:"IPv6 Parameters Set",2300:"Global Storage Attributes Set",2301:"Storage EACL Modified",2302:"Storage FPACL Modified",2303:"Storage Write Operation",2400:"Alert Subscribed",2401:"Alert Unsubscribed",2402:"Event Log Cleared",2403:"Event Log Frozen",2500:"CB Filter Added",2501:"CB Filter Removed",2502:"CB Policy Added",2503:"CB Policy Removed",2504:"CB Default Policy Set",2505:"CB Heuristics Option Set",2506:"CB Heuristics State Cleared",2600:"Agent Watchdog Added",2601:"Agent Watchdog Removed",2602:"Agent Watchdog Action Set",2700:"Wireless Profile Added",2701:"Wireless Profile Removed",2702:"Wireless Profile Updated",2800:"EAC Posture Signer SET",2801:"EAC Enabled",2802:"EAC Disabled",2803:"EAC Posture State",2804:"EAC Set Options",2900:"KVM Opt-in Enabled",2901:"KVM Opt-in Disabled",2902:"KVM Password Changed",2903:"KVM Consent Succeeded",2904:"KVM Consent Failed",3000:"Opt-In Policy Change",3001:"Send Consent Code Event",3002:"Start Opt-In Blocked Event"};J.GetAuditLogExtendedDataStr=function(T,S){if((T==1602||T==1604)&&S[0]==0){return w(S).splice(2,2+S[1]).toString()}if(T==1603){if(S[1]==0){return w(S).splice(3).toString()}return null}if(T==1605){return["Invalid ME access","Invalid MEBx access"][S[0]]}if(T==1606){var U=["Disabled","Enabled"][S[0]];if(S[1]==0){U+=", "+S[3]}return U}if(T==1607){return"Remote "+["NoAuth","ServerAuth","MutualAuth"][S[0]]+", Local "+["NoAuth","ServerAuth","MutualAuth"][S[1]]}if(T==1617){return J.RealmNames[L(S,0)]+", "+["NoAuth","Auth","Disabled"][S[4]]}if(T==1619){return["BIOS","MEBx","Local MEI","Local WSMAN","Remote WSAMN"][S[0]]}if(T==1900){return"From "+N(S,0)+"."+N(S,2)+"."+N(S,4)+"."+N(S,6)+" to "+N(S,8)+"."+N(S,10)+"."+N(S,12)+"."+N(S,14)}if(T==2100){var V=new Date();V.setTime(L(S,0)*1000+(new Date().getTimezoneOffset()*60000));return V.toLocaleString()}if(T==3000){return"From "+["None","KVM","All"][S[0]]+" to "+["None","KVM","All"][S[1]]}if(T==3001){return["Success","Failed 3 times"][S[0]]}return null};J.GetAuditLog=function(S){J.AMT_AuditLog_ReadRecords(1,i,[S,[]])};function I(S){if(!S||S==null||typeof S=="object"){return S}return[S]}function N(T,S){return(T[S]<<8)+T[S+1]}function L(T,S){return(T[S]*16777216)+(T[S+1]<<16)+(T[S+2]<<8)+T[S+3]}function M(T,S){return(T[S+3]*16777216)+(T[S+2]<<16)+(T[S+1]<<8)+T[S]}function v(S){return Buffer.from(S).toString("base64")}function u(T){var U=null;try{U=Buffer.from(T,"base64").toString()}catch(S){console.log(S)}return U}function w(S){var U=[];for(var T in S){U.push(S[T])}return U}function i(ab,W,aa,ac,ae){if(ac!=200){ae[0](J,[],ac);return}var Y,V,S,ah,Z=ae[1],ad=new Date(),af;if(aa.Body.RecordsReturned>0){aa.Body.EventRecords=I(aa.Body.EventRecords);for(V in aa.Body.EventRecords){S=null;try{S=Buffer.from(aa.Body.EventRecords[V],"base64")}catch(T){console.log(T+" "+aa.Body.EventRecords[V])}ah={AuditAppID:N(S,0),EventID:N(S,2),InitiatorType:S[4]};ah.AuditApp=a[ah.AuditAppID];ah.Event=a[(ah.AuditAppID*100)+ah.EventID];if(!ah.Event){ah.Event="#"+ah.EventID}if(ah.InitiatorType==0){var ag=S[5];ah.Initiator=S.slice(6,6+ag).toString();Y=6+ag}if(ah.InitiatorType==1){ah.KerberosUserInDomain=L(S,5);var ag=S[9];ah.Initiator=G(S.slice(10,10+ag));Y=10+ag}if(ah.InitiatorType==2){ah.Initiator="Local";Y=5}if(ah.InitiatorType==3){ah.Initiator="KVM Default Port";Y=5}af=L(S,Y);ah.Time=new Date((af+(ad.getTimezoneOffset()*60))*1000);Y+=4;ah.MCLocationType=S[Y++];var X=S[Y++];ah.NetAddress=S.slice(Y,Y+X).toString();Y+=X;var U=S[Y++];ah.Ex=S.slice(Y,Y+U);ah.ExStr=J.GetAuditLogExtendedDataStr((ah.AuditAppID*100)+ah.EventID,ah.Ex);Z.push(ah)}}if(aa.Body.TotalRecordCount>Z.length){J.AMT_AuditLog_ReadRecords(Z.length+1,i,[ae[0],Z])}else{ae[0](J,Z,ac)}}function C(U){if(U===undefined||U===null){return null}var V="";for(var T in U){var S=U[T];if(!S){continue}if(S.__parameterType==="reference"){V+=O(T,S)}else{V+=H(T,S)}}return V}function H(V,U){if(U===undefined||U===null){return null}var T=!!U.__namespace;var Z=T?"";for(var X in U){if(!U.hasOwnProperty(X)||X.indexOf("__")===0){continue}if(typeof U[X]==="function"||Array.isArray(U[X])){continue}if(typeof U[X]==="object"){console.error("only convert one level down...")}else{Y+=Z+X+">"+U[X].toString()+S+X+">"}}Y+="";return Y}function O(T,S){if(S===undefined||S===null){return null}var U="/wsman"+S.__resourceUri+"";for(var V in S){if(!S.hasOwnProperty(V)||V.indexOf("__")===0){continue}if(typeof S[V]==="function"||typeof S[V]==="object"||Array.isArray(S[V])){continue}U+=''+S[V].toString()+""}U+="";return U}function G(U){var T="S-"+U.charCodeAt(0)+"-"+U.charCodeAt(7);for(var S=2;S<(U.length/4);S++){T+="-"+M(U,S*4)}return T}function F(V){if(!V||V==null){return null}var U=V.split("-");if(U.length<4||(U[0]!="s"&&U[0]!="S")){return null}for(var S=1;S>24)&255,(J>>16)&255,(J>>8)&255,J&255)}function m(J){var L="",K=(""+J).match(/../g),M;while(M=K.shift()){L+=String.fromCharCode("0x"+M)}return L}function h(J){return(J+256).toString(16).substr(-2).toUpperCase()}function w(K){var L="",J;for(J=0;J0){o.forwardClient.tag.accumulator=o.forwardClient.tag.accumulator.slice(O)}if(o.cirastate==i.FAILED){k("APF: in a failed state, destroying socket.");o.forwardClient.ws.end()}}while(O>0)}catch(N){k(N)}});o.forwardClient.ws.on("error",function(M){k("APF: Connection error, ending connecting.");if(o.timer!=null){clearInterval(o.timer);o.timer=null}});o.state=i.INITIAL;F(o.forwardClient.ws,o.args.clientuuid);G(o.forwardClient.ws,"auth@amt.intel.com")};function l(J){return J.substring(6,8)+J.substring(4,6)+J.substring(2,4)+J.substring(0,2)+"-"+J.substring(10,12)+J.substring(8,10)+"-"+J.substring(14,16)+J.substring(12,14)+"-"+J.substring(16,20)+"-"+J.substring(20)}function I(K){K=K.replace(/-/g,"");var J=K.substring(6,8)+K.substring(4,6)+K.substring(2,4)+K.substring(0,2);J+=K.substring(10,12)+K.substring(8,10)+K.substring(14,16)+K.substring(12,14)+K.substring(16,20)+K.substring(20);return J}function f(K){var L="";for(var J=0;J=i.AUTH_SERVICE_REQUEST_SENT){H(U.ws,o.args.mpsuser,o.args.mpspass)}}else{if(S=="pfwd@amt.intel.com"){if(o.cirastate>=i.PFWD_SERVICE_REQUEST_SENT){C(U.ws,o.args.clientname,s[o.pfwd_idx++])}}}return 5+T;case d.REQUEST_SUCCESS:if(O>=5){var Q=u(M,1);k("APF: Request to port forward "+Q+" successful.");if(o.pfwd_idx=0){o.downlinks[P.sender_chan]=o.net.createConnection({host:o.args.clientaddress,port:P.target_port},function(){z(U.ws,P)});o.downlinks[P.sender_chan].on("data",function(V){y(U.ws,P.sender_chan,V.length,V)});o.downlinks[P.sender_chan].on("error",function(V){k("Downlink connection error: "+V)});o.downlinks[P.sender_chan].on("end",function(){if(o.downlinks[P.sender_chan]){try{k("Socket ends.");x(U.ws,P.sender_chan);setTimeout(function(){delete o.downlinks[P.sender_chan]},100)}catch(V){k("Downlink connection exception: "+V)}}})}else{A(U.ws,P)}return P.len;case d.CHANNEL_OPEN_CONFIRMATION:k("APF: CHANNEL_OPEN_CONFIRMATION");return 17;case d.CHANNEL_CLOSE:var R=u(M,1);k("APF: CHANNEL_CLOSE: "+R);x(U.ws,R);try{o.downlinks[R].end();delete o.downlinks[R]}catch(N){}return 5;case d.CHANNEL_DATA:k("APF: CHANNEL_DATA: "+JSON.stringify(w(M)));var R=u(M,1);var K=u(M,5);var J=M.substring(9,9+K);if(o.downlinks[R]){try{o.downlinks[R].write(J,"binary",function(){k("Write completed.");B(U.ws,R,K)})}catch(N){k("Cannot forward data to downlink socket.")}}return 9+K;case d.CHANNEL_WINDOW_ADJUST:k("APF: CHANNEL_WINDOW_ADJUST ");return 9;default:k("CMD: "+L+" is not implemented.");o.cirastate=i.FAILED;return 0}}function r(L){var N={len:0,cmd:d.CHANNEL_OPEN,chan_type:"",sender_chan:0,window_size:0,target_address:"",target_port:0,origin_address:"",origin_port:0,};var K=u(L,1);N.chan_type=L.substring(5,5+K);N.sender_chan=u(L,5+K);N.window_size=u(L,9+K);var J=u(L,17+K);N.target_address=L.substring(21+K,21+K+J);N.target_port=u(L,21+K+J);var M=u(L,25+K+J);N.origin_address=L.substring(29+K+J,29+K+J+M);N.origin_port=u(L,29+K+J+M);N.len=33+K+J+M;return N}function A(L,J){var K=String.fromCharCode(d.CHANNEL_OPEN_FAILURE)+n(J.sender_chan)+n(2)+n(0)+n(0);L.write(K);k("APF: Send ChannelOpenFailure")}function z(L,J){var K=String.fromCharCode(d.CHANNEL_OPEN_CONFIRMATION)+n(J.sender_chan)+n(J.sender_chan)+n(J.window_size)+n(4294967295);L.write(K);k("APF: Send ChannelOpenConfirmation")}function B(M,J,L){var K=String.fromCharCode(d.CHANNEL_WINDOW_ADJUST)+n(J)+n(L);M.write(K);k("APF: Send ChannelWindowAdjust: "+w(K))}function y(N,K,M,L){var J=String.fromCharCode(d.CHANNEL_DATA)+n(K)+n(M)+L;N.write(J);k("APF: Send ChannelData: "+w(J))}function x(L,K){var J=String.fromCharCode(d.CHANNEL_CLOSE)+n(K);L.write(J);k("APF: Send ChannelClose ")}o.connect=function(){if(o.forwardClient!=null){try{o.forwardClient.ws.end()}catch(J){k(J)}}o.cirastate=i.INITIAL;o.pfwd_idx=0;var K=o.http.parseUri(o.args.mpsurl);K.rejectUnauthorized=0;o.forwardClient=o.http.request(K);o.forwardClient.upgrade=o.onSecureConnect;o.forwardClient.end()};o.disconnect=function(){try{o.forwardClient.ws.end()}catch(J){k(J)}};return o}module.exports=CreateAPFClient; \ No newline at end of file diff --git a/agents/modules_meshcore_min/identifiers.min.js b/agents/modules_meshcore_min/identifiers.min.js new file mode 100644 index 00000000..b2f733af --- /dev/null +++ b/agents/modules_meshcore_min/identifiers.min.js @@ -0,0 +1 @@ +function trimIdentifiers(b){for(var a in b){if(!b[a]||b[a]=="None"||b[a]==""){delete b[a]}}}function linux_identifiers(){var c={};var d={};var e={};if(!require("fs").existsSync("/sys/class/dmi/id")){throw ("this platform does not have DMI statistics")}var a=require("fs").readdirSync("/sys/class/dmi/id");for(var b in a){if(require("fs").statSync("/sys/class/dmi/id/"+a[b]).isFile()){d[a[b]]=require("fs").readFileSync("/sys/class/dmi/id/"+a[b]).toString().trim();if(d[a[b]]=="None"){delete d[a[b]]}}}c.bios_date=d.bios_date;c.bios_vendor=d.bios_vendor;c.bios_version=d.bios_version;c.board_name=d.board_name;c.board_serial=d.board_serial;c.board_vendor=d.board_vendor;c.board_version=d.board_version;c.product_uuid=d.product_uuid;e.identifiers=c;e.linux=d;trimIdentifiers(e.identifiers);return(e)}function windows_wmic_results(h){var e=h.trim().split("\r\n");var c=e[0].split(",");var a,b,d;var j;var g=[];for(a=1;a0?this[this.length-1]:undefined)}})}catch(e){}try{Object.defineProperty(String.prototype,"replaceAll",{value:function replaceAll(b,a){return(this.split(b).join(a))}})}catch(e){}var RSMB=1381190978;var memoryLocation={1:"Other",2:"Unknown",3:"System Board",4:"ISA",5:"EISA",6:"PCI",7:"MCA",8:"PCMCIA",9:"Proprietary",10:"NuBus",160:"PC-98/C20",161:"PC-98/C24",162:"PC-98/E",163:"PC-98/LB"};var wakeReason=["Reserved","Other","Unknown","APM Timer","Modem Ring","LAN","Power Switch","PCI","AC Power"];function zeroLeftPad(c,b){if((b==null)&&(typeof(b)!="number")){return null}if(c==null){c=""}var d="";for(var a=0;a1){var r=v[1].split("\x0A\x0A")[0].split("\x0A");var s=[];for(var t in r){var u=r[t].trim().replaceAll(" ","").replaceAll("\x09","");if(!(u[0]=='"')){s.push(u)}}p.write(Buffer.from(s.join(""),"hex"));p.write(Buffer.from("00","hex"))}else{p.write(Buffer.from("0000","hex"))}}var q=p.buffer;q.ms=p;return(q)}}this._parse=function b(o){var n={};var m;var l=0;var o;var s=0;while(o&&l0){var n=l[4].pop();var o=n[20]&64;var s=n[20]&7;if(o){var m={_ObjectID:"SMBiosTables.processorInfo"};m.Processor=q[n[1]];m.MaxSpeed=n.readUInt16LE(16)+" Mhz";if(n[31]){m.Cores=n[31]}if(n[33]){m.Threads=n[33]}m.Populated=1;m.Status=t[s];m.Socket=n._strings[n[0]-1];m.Manufacturer=n._strings[n[3]-1];m.Version=n._strings[n[12]-1];r.push(m)}}return(r)};this.memoryInfo=function f(k){if(!k){throw ("no data")}var n={_ObjectID:"SMBiosTables.memoryInfo"};if(k[16]){var l=k[16].peek();n.location=memoryLocation[l[0]];if((n.maxCapacityKb=l.readUInt32LE(3))==2147483648){n.maxCapacityKb="A really big number"}}return(n)};this.systemInfo=function i(k){if(!k){throw ("no data")}var l={_ObjectID:"SMBiosTables.systemInfo"};if(k[1]){var m=k[1].peek();var n=m.slice(4,20);l.uuid=[zeroLeftPad(n.readUInt32LE(0).toString(16),8),zeroLeftPad(n.readUInt16LE(4).toString(16),4),zeroLeftPad(n.readUInt16LE(6).toString(16),4),zeroLeftPad(n.readUInt16BE(8).toString(16),4),zeroLeftPad(n.slice(10).toString("hex").toLowerCase(),12)].join("-");l.wakeReason=wakeReason[m[20]]}return(l)};this.systemSlots=function j(k){if(!k){throw ("no data")}var l=[];if(k[9]){while(k[9].length>0){var m=k[9].pop();l.push({name:m._strings[m[0]-1]})}}return(l)};this.amtInfo=function c(l){if(!l){throw ("no data")}var n={AMT:false};if(l[130]&&l[130].peek().slice(0,4).toString()=="$AMT"){var k=l[130].peek();n.AMT=k[4]?true:false;if(n.AMT){n.enabled=k[5]?true:false;n.storageRedirection=k[6]?true:false;n.serialOverLan=k[7]?true:false;n.kvm=k[14]?true:false;if(l[131].peek()&&l[131].peek().slice(52,56).toString()=="vPro"){var o=l[131].peek();if(o[0]&4){n.TXT=(o[0]&8)?true:false}if(o[0]&16){n.VMX=(o[0]&32)?true:false}n.MEBX=o.readUInt16LE(4).toString()+"."+o.readUInt16LE(6).toString()+"."+o.readUInt16LE(8).toString()+"."+o.readUInt16LE(10).toString();var m=o.slice(20,32);n.ManagementEngine=m.readUInt16LE(6).toString()+"."+m.readUInt16LE(4).toString()+"."+m.readUInt16LE(10).toString()+"."+m.readUInt16LE(8).toString()}}}return(n)};this.smTableTypes={0:"BIOS information",1:"System information",2:"Baseboard (or Module) information",4:"Processor information",5:"memory controller information",6:"Memory module information",7:"Cache information",8:"Port connector information",9:"System slots",10:"On board devices information",11:"OEM strings",12:"System configuration options",13:"BIOS language information",14:"Group associations",15:"System event log",16:"Physical memory array",17:"Memory device",18:"32bit memory error information",19:"Memory array mapped address",20:"Memory device mapped address",21:"Built-in pointing device",22:"Portable battery",23:"System reset",24:"Hardware security",25:"System power controls",26:"Voltage probe",27:"Cooling device",28:"Temperature probe",29:"Electrical current probe",30:"Out-of-band remote access",31:"Boot integrity services (BIS) entry point",32:"System boot information",33:"64bit memory error information",34:"Management device",35:"Management device component",36:"Management device threshold data",37:"Memory channel",38:"IPMI device information",39:"System power supply",40:"Additional information",41:"Onboard devices extended information",42:"Management controller host interface",126:"Inactive",127:"End-of-table"}}module.exports=new SMBiosTables(); \ No newline at end of file diff --git a/agents/modules_meshcore_min/sysinfo.min.js b/agents/modules_meshcore_min/sysinfo.min.js new file mode 100644 index 00000000..4c87bd93 --- /dev/null +++ b/agents/modules_meshcore_min/sysinfo.min.js @@ -0,0 +1 @@ +var PDH_FMT_LONG=256;var PDH_FMT_DOUBLE=512;var promise=require("promise");if(process.platform=="win32"){var GM=require("_GenericMarshal");GM.kernel32=GM.CreateNativeProxy("kernel32.dll");GM.kernel32.CreateMethod("GlobalMemoryStatusEx");GM.pdh=GM.CreateNativeProxy("pdh.dll");GM.pdh.CreateMethod("PdhAddEnglishCounterA");GM.pdh.CreateMethod("PdhCloseQuery");GM.pdh.CreateMethod("PdhCollectQueryData");GM.pdh.CreateMethod("PdhGetFormattedCounterValue");GM.pdh.CreateMethod("PdhGetFormattedCounterArrayA");GM.pdh.CreateMethod("PdhOpenQueryA");GM.pdh.CreateMethod("PdhRemoveCounter")}function windows_cpuUtilization(){var b=new promise(function(d,c){this._res=d;this._rej=c});b.counter=GM.CreateVariable(16);b.cpu=GM.CreatePointer();b.cpuTotal=GM.CreatePointer();var a=0;if((a=GM.pdh.PdhOpenQueryA(0,0,b.cpu).Val)!=0){b._rej(a);return}if((a=GM.pdh.PdhAddEnglishCounterA(b.cpu.Deref(),GM.CreateVariable("\\Processor(*)\\% Processor Time"),0,b.cpuTotal).Val)!=0){b._rej(a);return}if((a=GM.pdh.PdhCollectQueryData(b.cpu.Deref()).Val!=0)){b._rej(a);return}b._timeout=setTimeout(function(k){var m={cpus:[]};var d=GM.CreateVariable(4);var j=GM.CreateVariable(4);var c,l,h;var f;if((f=GM.pdh.PdhCollectQueryData(k.cpu.Deref()).Val!=0)){k._rej(f);return}if((f=GM.pdh.PdhGetFormattedCounterArrayA(k.cpuTotal.Deref(),PDH_FMT_DOUBLE,d,j,0).Val)==-2147481646){c=GM.CreateVariable(d.toBuffer().readUInt32LE())}else{k._rej(f);return}if((f=GM.pdh.PdhGetFormattedCounterArrayA(k.cpuTotal.Deref(),PDH_FMT_DOUBLE,d,j,c).Val)!=0){k._rej(f);return}for(var g=0;g0){var f=c[0].split(":")[1];var a=f.split(",");var e=parseFloat(a[0].split("%")[0].trim())+parseFloat(a[1].split("%")[0].trim());d._res({total:e,cpus:[]})}else{d._rej("parse error")}return(d)}function macos_memUtilization(){var d={};var e=new promise(function(h,g){this._res=h;this._rej=g});var b=require("child_process").execFile("/bin/sh",["sh"]);b.stdout.str="";b.stdout.on("data",function(g){this.str+=g.toString()});b.stdin.write('top -l 1 | grep -E "^Phys"\nexit\n');b.waitExit();var c=b.stdout.str.split("\n");if(c[0].length>0){var f=c[0].split(":")[1];var a=f.split(",");d.MemTotal=parseInt(a[0].trim().split(" ")[0]);d.MemFree=parseInt(a[1].trim().split(" ")[0]);d.percentFree=((d.MemFree/d.MemTotal)*100);d.percentConsumed=(((d.MemTotal-d.MemFree)/d.MemTotal)*100);return(d)}else{throw ("Parse Error")}}switch(process.platform){case"linux":module.exports={cpuUtilization:linux_cpuUtilization,memUtilization:linux_memUtilization};break;case"win32":module.exports={cpuUtilization:windows_cpuUtilization,memUtilization:windows_memUtilization};break;case"darwin":module.exports={cpuUtilization:macos_cpuUtilization,memUtilization:macos_memUtilization};break}; \ No newline at end of file diff --git a/agents/modules_meshcore_min/wifi-scanner-windows.min.js b/agents/modules_meshcore_min/wifi-scanner-windows.min.js new file mode 100644 index 00000000..752e15ac --- /dev/null +++ b/agents/modules_meshcore_min/wifi-scanner-windows.min.js @@ -0,0 +1 @@ +function _Scan(){var f=this.Marshal.CreatePointer();this.Native.WlanEnumInterfaces(this.Handle,0,f);var a=f.Deref().Deref(0,4).toBuffer().readUInt32LE(0);var d=f.Deref().Deref(8,532);var c=d.Deref(16,512).AnsiString;var e;switch(d.Deref(528,4).toBuffer().readUInt32LE(0)){case 0:e="NOT READY";break;case 1:e="CONNECTED";break;case 2:e="AD-HOC";break;case 3:e="DISCONNECTING";break;case 4:e="DISCONNECTED";break;case 5:e="ASSOCIATING";break;case 6:e="DISCOVERING";break;case 7:e="AUTHENTICATING";break;default:e="UNKNOWN";break}var b=d.Deref(0,16);if(this.Native.WlanScan(this.Handle,b,0,0,0).Val==0){return(true)}else{return(false)}}function AccessPoint(d,a,c,b){this.ssid=d;this.bssid=a;this.rssi=c;this.lq=b}AccessPoint.prototype.toString=function(){return(this.ssid+" ["+this.bssid+"]: "+this.lq)};function OnNotify(g){var h=g.Deref(0,4).toBuffer().readUInt32LE(0);var f=g.Deref(4,4).toBuffer().readUInt32LE(0);var c=g.Deref(8,16);if((h&8)&&(f==7)){var a=this.Parent.Marshal.CreatePointer();var k=this.Parent.Native.GetBSSList(this.Parent.Handle,c,0,3,0,0,a).Val;if(k==0){var n=a.Deref().Deref(0,4).toBuffer().readUInt32LE(0);var j=a.Deref().Deref(4,4).toBuffer().readUInt32LE(0);for(i=0;i"){g=""}}if(j.startsWith("Signal level=")){f=j.slice(13,j.length-4)}else{if(j.startsWith("Quality=")){f=j.slice(8,10);var k=j.slice(11,13)}}}this.parent.parent.emit("accessPoint",new AccessPoint(g,e,f))}})}}}}}module.exports=WiFiScanner; \ No newline at end of file diff --git a/agents/modules_meshcore_min/win-console.min.js b/agents/modules_meshcore_min/win-console.min.js new file mode 100644 index 00000000..e2197744 --- /dev/null +++ b/agents/modules_meshcore_min/win-console.min.js @@ -0,0 +1 @@ +var TrayIconFlags={NIF_MESSAGE:1,NIF_ICON:2,NIF_TIP:4,NIF_STATE:8,NIF_INFO:16,NIF_GUID:32,NIF_REALTIME:64,NIF_SHOWTIP:128,NIM_ADD:0,NIM_MODIFY:1,NIM_DELETE:2,NIM_SETFOCUS:3,NIM_SETVERSION:4};var NOTIFYICON_VERSION_4=4;var MessageTypes={WM_APP:32768,WM_USER:1024};function WindowsConsole(){if(process.platform=="win32"){this._ObjectID="win-console";this._Marshal=require("_GenericMarshal");this._kernel32=this._Marshal.CreateNativeProxy("kernel32.dll");this._user32=this._Marshal.CreateNativeProxy("user32.dll");this._kernel32.CreateMethod("GetConsoleWindow");this._kernel32.CreateMethod("GetCurrentThread");this._user32.CreateMethod("ShowWindow");this._user32.CreateMethod("LoadImageA");this._user32.CreateMethod({method:"GetMessageA",threadDispatch:1});this._shell32=this._Marshal.CreateNativeProxy("Shell32.dll");this._shell32.CreateMethod("Shell_NotifyIconA");this._handle=this._kernel32.GetConsoleWindow();this.minimize=function(){this._user32.ShowWindow(this._handle,6)};this.restore=function(){this._user32.ShowWindow(this._handle,9)};this.hide=function(){this._user32.ShowWindow(this._handle,0)};this.show=function(){this._user32.ShowWindow(this._handle,5)};this._loadicon=function(c){var b=this._user32.LoadImageA(0,this._Marshal.CreateVariable(c),1,0,0,16|32768|64);return(b)};this.SetTrayIcon=function a(h){var b=this._Marshal.CreateVariable(this._Marshal.PointerSize==4?508:528);b.toBuffer().writeUInt32LE(b._size,0);var n=TrayIconFlags.NIF_TIP|TrayIconFlags.NIF_MESSAGE;h.filter=MessageTypes.WM_APP+1;b.Deref(this._Marshal.PointerSize==4?16:24,4).toBuffer().writeUInt32LE(h.filter);if(!h.noBalloon){n|=TrayIconFlags.NIF_INFO}if(h.icon){n|=TrayIconFlags.NIF_ICON;var c=b.Deref(this._Marshal.PointerSize==4?20:32,this._Marshal.PointerSize);h.icon.pointerBuffer().copy(c.toBuffer())}b.Deref(this._Marshal.PointerSize*2,4).toBuffer().writeUInt32LE(1);b.Deref(this._Marshal.PointerSize==4?12:20,4).toBuffer().writeUInt32LE(n);b.Deref(this._Marshal.PointerSize==4?416:432,4).toBuffer().writeUInt32LE(NOTIFYICON_VERSION_4);var m=b.Deref(this._Marshal.PointerSize==4?24:40,128);var k=b.Deref(this._Marshal.PointerSize==4?160:176,256);var l=b.Deref(this._Marshal.PointerSize==4?420:436,64);if(h.szTip){Buffer.from(h.szTip).copy(m.toBuffer())}if(h.szInfo){Buffer.from(h.szInfo).copy(k.toBuffer())}if(h.szInfoTitle){Buffer.from(h.szInfoTitle).copy(l.toBuffer())}var d=require("win-message-pump");retVal={_ObjectID:"WindowsConsole.TrayIcon",MessagePump:new d(h)};var j=require("events").inherits(retVal);j.createEvent("ToastClicked");j.createEvent("IconHover");j.createEvent("ToastDismissed");retVal.Options=h;retVal.MessagePump.TrayIcon=retVal;retVal.MessagePump.NotifyData=b;retVal.MessagePump.WindowsConsole=this;retVal.MessagePump.on("exit",function e(o){console.log("Pump Exited");if(this.TrayIcon){this.TrayIcon.remove()}});retVal.MessagePump.on("hwnd",function f(o){h.hwnd=o;o.pointerBuffer().copy(this.NotifyData.Deref(this.WindowsConsole._Marshal.PointerSize,this.WindowsConsole._Marshal.PointerSize).toBuffer());if(this.WindowsConsole._shell32.Shell_NotifyIconA(TrayIconFlags.NIM_ADD,this.NotifyData).Val==0){}});retVal.MessagePump.on("message",function g(p){if(p.message==this.TrayIcon.Options.filter){var o=false;if(p.wparam==1&&p.lparam==1029){this.TrayIcon.emit("ToastClicked");o=true}if(p.wparam==1&&p.lparam==512){this.TrayIcon.emit("IconHover");o=true}if(this.TrayIcon.Options.balloonOnly&&p.wparam==1&&(p.lparam==1028||p.lparam==1029)){this.TrayIcon.emit("ToastDismissed");this.TrayIcon.remove();o=true}}});retVal.remove=function i(){this.MessagePump.WindowsConsole._shell32.Shell_NotifyIconA(TrayIconFlags.NIM_DELETE,this.MessagePump.NotifyData);this.MessagePump.stop();delete this.MessagePump.TrayIcon;delete this.MessagePump};return(retVal)}}}module.exports=new WindowsConsole(); \ No newline at end of file diff --git a/agents/modules_meshcore_min/win-info.min.js b/agents/modules_meshcore_min/win-info.min.js new file mode 100644 index 00000000..ef3c8e5f --- /dev/null +++ b/agents/modules_meshcore_min/win-info.min.js @@ -0,0 +1 @@ +var promise=require("promise");function qfe(){var a=require("child_process").execFile(process.env.windir+"\\System32\\wbem\\wmic.exe",["wmic","qfe","list","full","/FORMAT:CSV"]);a.stdout.str="";a.stdout.on("data",function(i){this.str+=i.toString()});a.stderr.str="";a.stderr.on("data",function(i){this.str+=i.toString()});a.waitExit();var e=a.stdout.str.trim().split("\r\n");var d=e[0].split(",");var b,c;var h;var g=[];for(b=1;b0){n=this.chunk.shift();this.terminal._WriteBuffer(n);n.flush()}})}else{this.terminal._WriteBuffer(l);m()}return(true)},"final":function(l){var m=this.terminal._stop();m.__flush=l;m.then(function(){this.__flush()})}});this._stream.terminal=this;this._stream._promise=new promise(function(m,l){this._res=m;this._rej=l});this._stream._promise.terminal=this;this._stream.prependOnceListener("end",function(){this.terminal._stream=null});return(this._stream)};this.Start=function d(h,g){return(this.StartEx(h,g,process.env.windir+"\\System32\\cmd.exe"))};this.StartPowerShell=function f(h,g){if(require("os").arch()=="x64"){return(this.StartEx(h,g,process.env.windir+"\\SysWow64\\WindowsPowerShell\\v1.0\\powershell.exe"))}else{return(this.StartEx(h,g,process.env.windir+"\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"))}};this._stop=function(){if(this.stopping){return(this.stopping)}this._ConsoleWinEventProc.removeAllListeners("GlobalCallback");this.stopping=new promise(function(i,h){this._res=i;this._rej=h});var g=this._kernel32.GetThreadId(this._user32.SetWinEventHook.async.thread()).Val;this._user32.PostThreadMessageA(g,WM_QUIT,0,0);this._stream.emit("end");return(this.stopping)};this._hookThread=function(){var i=new promise(function(k,j){this._res=k;this._rej=j});i.userArgs=[];for(var g in arguments){i.userArgs.push(arguments[g])}i.terminal=this;this._ConsoleWinEventProc=GM.GetGenericGlobalCallback(7);this._ConsoleWinEventProc.terminal=this;var h=this._user32.SetWinEventHook.async(EVENT_CONSOLE_CARET,EVENT_CONSOLE_END_APPLICATION,0,this._ConsoleWinEventProc,0,0,WINEVENT_OUTOFCONTEXT|WINEVENT_SKIPOWNPROCESS);h.ready=i;h.terminal=this;h.then(function(j){if(j.Val==0){this.ready._rej("Error calling SetWinEventHook")}else{this.terminal.hwinEventHook=j;this.ready._res();this.terminal._GetMessage()}});this._ConsoleWinEventProc.on("GlobalCallback",function(l,k,m,p,n,o,r){if(!this.terminal.hwinEventHook||this.terminal.hwinEventHook.Val!=l.Val){return}var j=null;switch(k.Val){case EVENT_CONSOLE_CARET:break;case EVENT_CONSOLE_UPDATE_REGION:if(!this.terminal.connected){this.terminal.connected=true;this.terminal._stream._promise._res()}if(this.terminal._scrollTimer==null){j=this.terminal._GetScreenBuffer(LOWORD(p.Val),HIWORD(p.Val),LOWORD(n.Val),HIWORD(n.Val));this.terminal._SendDataBuffer(j)}break;case EVENT_CONSOLE_UPDATE_SIMPLE:var q={data:[Buffer.alloc(1,LOWORD(n.Val))],attributes:[HIWORD(n.Val)],width:1,height:1,x:LOWORD(p.Val),y:HIWORD(p.Val)};this.terminal._SendDataBuffer(q);break;case EVENT_CONSOLE_UPDATE_SCROLL:this.terminal._SendScroll(p.Val,n.Val);break;case EVENT_CONSOLE_LAYOUT:break;case EVENT_CONSOLE_START_APPLICATION:break;case EVENT_CONSOLE_END_APPLICATION:if(p.Val==this.terminal._hProcessID){this.terminal._hProcess=null;this.terminal._stop().then(function(){console.log("STOPPED")})}break;default:console.log("Unknown event: "+k.Val);break}});return(i)};this._GetMessage=function(){if(this._user32.abort){console.log("aborting loop");return}this._user32.GetMessageA.async(this._user32.SetWinEventHook.async,MSG,0,0,0).then(function(g){if(g.Val!=0){if(g.Val==-1){}else{this.nativeProxy._user32.TranslateMessage.async(this.nativeProxy.user32.SetWinEventHook.async,MSG).then(function(){this.nativeProxy._user32.DispatchMessageA.async(this.nativeProxy.user32.SetWinEventHook.async,MSG).then(function(){this.nativeProxy.terminal._GetMessage()},console.log)},console.log)}}else{this.nativeProxy.UnhookWinEvent.async(this.nativeProxy.terminal._user32.SetWinEventHook.async,this.nativeProxy.terminal.hwinEventHook).then(function(){if(this.nativeProxy.terminal._hProcess==null){return}this.nativeProxy.terminal.stopping._res();if(this.nativeProxy.terminal._kernel32.TerminateProcess(this.nativeProxy.terminal._hProcess,1067).Val==0){var h=this.nativeProxy.terminal._kernel32.GetLastError().Val;console.log("Unable to kill Terminal Process, error: "+h)}this.nativeProxy.terminal.stopping=null},function(h){console.log("REJECTED_UnhookWinEvent: "+h)})}},function(g){console.log("REJECTED_GETMessage: "+g)})};this._WriteBuffer=function(g){for(var h=0;hm;++k){this._stream.push(Buffer.from("\r\n"))}var g=this._GetScreenBuffer(0,0,n-1,m-1);this._SendDataBuffer(g);this._scrollTimer=setTimeout(function(q,p,o){var i=q._GetScreenBuffer(0,0,p-1,o-1);q._SendDataBuffer(i);q._scrollTimer=null},250,this,n,m)};this.StartCommand=function e(g){if(this._kernel32.CreateProcessA(GM.CreateVariable(g),0,0,0,1,CREATE_NEW_PROCESS_GROUP,0,0,si,pi).Val==0){console.log("Error Spawning CMD");return}this._kernel32.CloseHandle(pi.Deref(GM.PointerSize,GM.PointerSize).Deref());this._hProcess=pi.Deref(0,GM.PointerSize).Deref();this._hProcessID=pi.Deref(GM.PointerSize==4?8:16,4).toBuffer().readUInt32LE()}}function LOWORD(a){return(a&65535)}function HIWORD(a){return((a>>16)&65535)}function GetEsc(b,a){return(Buffer.from("\x1B["+a.join(";")+b))}function MeshConsole(a){require("MeshAgent").SendCommand({action:"msg",type:"console",value:JSON.stringify(a)})}function TranslateLine(r,s,f,a){var m,l,e,q,j,c,n,k,d,p,h,b,g=[],o=[GetEsc("H",[s,r])];if(typeof a=="number"){a=[a]}for(m=0;m>2);d=(a[m]&112)>>4;d=((d&1)<<2)+(d&2)+((d&4)>>2);p=(a[m]&16384);h=(a[m]&8)>>3;b=(a[m]&128);if(p!=q){if(p!=0){g.push(7)}else{g.push(0);l=7;e=0;j=0;c=0}q=p}if(k!=l){g.push(k+30);l=k}if(d!=e){g.push(d+40);e=d}if(h!=j){g.push(2-h);j=h}if(b!=c){if(b==0){g.push(e+40)}else{g.push(e+100);c=b}}if(g.length>0){o.push(GetEsc("m",g));g=[]}n=a[m]}o.push(Buffer.from(String.fromCharCode(f[m])))}return Buffer.concat(o)}module.exports=new windows_terminal(); \ No newline at end of file From 6432467bf612bc1cf2da50ff32d0a96dbd717d83 Mon Sep 17 00:00:00 2001 From: Ryan Blenis Date: Thu, 24 Oct 2019 16:41:35 -0400 Subject: [PATCH 6/8] Expand pluginHandler support to communicate with browser<->server over the control channel. Expand plugin functionality on agents to get plugin commands as their own action. --- agents/meshcore.js | 10 +--------- agents/meshcore.min.js | 10 +--------- meshuser.js | 6 +++++- 3 files changed, 7 insertions(+), 19 deletions(-) diff --git a/agents/meshcore.js b/agents/meshcore.js index f15fc43c..c64e8a59 100644 --- a/agents/meshcore.js +++ b/agents/meshcore.js @@ -819,15 +819,7 @@ function createMeshCore(agent) { case 'ping': { mesh.SendCommand('{"action":"pong"}'); break; } case 'pong': { break; } case 'plugin': { - if (typeof data.pluginaction == 'string') { - try { - MeshServerLog('Plugin called', data); - // Not yet implemented - // require(data.plugin.name).serveraction(data); - } catch (e) { - MeshServerLog('Error calling plugin', data); - } - } + try { require(data.plugin).consoleaction(data, data.rights, data.sessionid, this); } catch (e) { throw e; } break; } default: diff --git a/agents/meshcore.min.js b/agents/meshcore.min.js index f15fc43c..c64e8a59 100644 --- a/agents/meshcore.min.js +++ b/agents/meshcore.min.js @@ -819,15 +819,7 @@ function createMeshCore(agent) { case 'ping': { mesh.SendCommand('{"action":"pong"}'); break; } case 'pong': { break; } case 'plugin': { - if (typeof data.pluginaction == 'string') { - try { - MeshServerLog('Plugin called', data); - // Not yet implemented - // require(data.plugin.name).serveraction(data); - } catch (e) { - MeshServerLog('Error calling plugin', data); - } - } + try { require(data.plugin).consoleaction(data, data.rights, data.sessionid, this); } catch (e) { throw e; } break; } default: diff --git a/meshuser.js b/meshuser.js index 7a6d650f..872cf75c 100644 --- a/meshuser.js +++ b/meshuser.js @@ -50,6 +50,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use var obj = {}; obj.user = user; obj.domain = domain; + obj.ws = ws; // Server side Intel AMT stack const WsmanComm = require('./amt/amt-wsman-comm.js'); @@ -3105,7 +3106,10 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use if (command.routeToNode === true) { routeCommandToNode(command); } else { - // TODO + try { + var pluginHandler = require('./pluginHandler.js').pluginHandler(parent.parent); + pluginHandler.plugins[command.plugin].serveraction(command, obj, parent); + } catch (e) { console.log('Error loading plugin handler (' + e + ')'); } } break; From 7397551c8b8a77efdb1fa9334a75b24bb49be3bb Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Thu, 24 Oct 2019 23:58:39 -0700 Subject: [PATCH 7/8] Fixed minification bug in login page. --- MeshCentralServer.njsproj | 5 - agents/MeshCmd-signed.exe | Bin 4488128 -> 4468704 bytes agents/MeshCmd64-signed.exe | Bin 4103104 -> 4083680 bytes agents/meshcmd.js | 71 +-- agents/meshcmd.min.js | 71 +-- agents/modules_meshcmd/service-host.js | 389 -------------- agents/modules_meshcmd/service-manager.js | 497 ------------------ .../modules_meshcmd_min/service-host.min.js | 1 - .../service-manager.min.js | 1 - package.json | 2 +- public/minify.bat | 3 + public/player-min.htm | 2 +- public/translations/player-min_fr.htm | 2 +- translate/translate.js | 4 +- views/agentinvite-min.handlebars | 2 +- views/default-min.handlebars | 2 +- views/default-mobile-min.handlebars | 2 +- views/login-min.handlebars | 2 +- views/login-mobile-min.handlebars | 2 +- views/login-mobile.handlebars | 10 +- views/login.handlebars | 10 +- .../agentinvite-min_fr.handlebars | 2 +- views/translations/default-min_fr.handlebars | 2 +- .../default-mobile-min_fr.handlebars | 2 +- views/translations/login-min_fr.handlebars | 2 +- .../login-mobile-min_fr.handlebars | 2 +- views/translations/login-mobile_fr.handlebars | 10 +- views/translations/login_fr.handlebars | 10 +- 28 files changed, 120 insertions(+), 988 deletions(-) delete mode 100644 agents/modules_meshcmd/service-host.js delete mode 100644 agents/modules_meshcmd/service-manager.js delete mode 100644 agents/modules_meshcmd_min/service-host.min.js delete mode 100644 agents/modules_meshcmd_min/service-manager.min.js create mode 100644 public/minify.bat diff --git a/MeshCentralServer.njsproj b/MeshCentralServer.njsproj index e72e3d05..d2d0cf3f 100644 --- a/MeshCentralServer.njsproj +++ b/MeshCentralServer.njsproj @@ -274,19 +274,14 @@ - - - - - diff --git a/agents/MeshCmd-signed.exe b/agents/MeshCmd-signed.exe index e2a53826dad674c7ad45d06ff0049150c99c2626..fab6f6fbcb8d104de390bd9fdec7a4a00ce17a49 100644 GIT binary patch delta 26915 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≪oXZj_)P71`-=;iNBgZ< zwWfXUh~j}+4F~6yOzHiRFSe|aln;BTi#mLuFZ+2 zQ{D{@c(&2yQ#8Lu`Dt2uoAlOg)6&`xPi@)6HGXD~nSXjXxH_i!IrQY1JDGQavn<92}hPb9~t0zQxaO=vU|PK-Bj4$Mn8ko!jJWzr6QGn>u*C zb}(_$j;V9w)*rmKtYT?*zq!ZO{q$y^Zywy}`n2mej!XVXc`~GS`=M#?ym8^ylxLTv zg{Rc~d|%ha^vSVlDT}-6()V4dZsXNw$8x9Y+z})Ex9kWAtT_JAqfJZ3{g^z}-;}|l z)_x!P`;}h54!`BqEqHL(Wv4%Hxv@vPHJ`qAd?Mp-M2_D3v-`ft-&+qqIU}lM+J?h^ zpQcXTyYl7-2mXBJ`L_zrMTZq;9`_nL_1A9mE{qwe+rK+&`6BODZ{EMQ_BrPT`S)+X zvTuXF|IM^1EegHozyDzWyv1WXr=Gg++@hCyoqYAsrEt>^?IVB7ePLa8$&Ats!S~&F G-~R#&P1ExL delta 46860 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 WM_+pP>z_KttjG$!{FlG{<$nPoTD*Y( delta 46931 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 diff --git a/agents/meshcmd.js b/agents/meshcmd.js index 3dfb676d..a7a848d1 100644 --- a/agents/meshcmd.js +++ b/agents/meshcmd.js @@ -2564,46 +2564,53 @@ function removeItemFromArray(array, element) { } // Run MeshCmd, but before we do, we need to see if what type of service we are going to be -var serviceName = null; -var serviceOpSpecified = 0; -var serviceInstall = 0; - +var serviceName = null, serviceDisplayName = null, serviceDesc = null; for (var i in process.argv) { - if (process.argv[i].toLowerCase() == 'install') { serviceInstall = 1 } else if (process.argv[i].toLowerCase() == 'uninstall') { serviceInstall = -1 } - if ((process.argv[i].toLowerCase() == 'microlms') || (process.argv[i].toLowerCase() == 'amtlms') || (process.argv[i].toLowerCase() == 'lms')) { serviceName = 'MicroLMS'; break; } - if ((process.argv[i].toLowerCase() == 'meshcommander') || (process.argv[i].toLowerCase() == 'commander')) { serviceName = 'MeshCommander'; break; } + if (process.argv[i].toLowerCase() == 'install') { process.argv[i] = '-install'; } + if (process.argv[i].toLowerCase() == 'uninstall') { process.argv[i] = '-uninstall'; } + if ((process.argv[i].toLowerCase() == 'microlms') || (process.argv[i].toLowerCase() == 'amtlms') || (process.argv[i].toLowerCase() == 'lms')) { + serviceName = 'MicroLMS'; + serviceDisplayName = 'MicroLMS Service for Intel(R) AMT'; + serviceDesc = 'Intel AMT Micro Local Manageability Service (MicroLMS)'; + } else if ((process.argv[i].toLowerCase() == 'intellms')) { + serviceName = 'LMS'; + serviceDisplayName = 'Intel(R) Management and Security Application Local Management Service'; + serviceDesc = 'Intel(R) Management and Security Application Local Management Service - Provides OS-related Intel(R) ME functionality.'; + } else if ((process.argv[i].toLowerCase() == 'meshcommander') || (process.argv[i].toLowerCase() == 'commander')) { + serviceName = 'MeshCommander'; + serviceDisplayName = 'MeshCommander, Intel AMT Management console'; + serviceDesc = 'MeshCommander is a Intel AMT management console.'; + } } if (serviceName == null) { - for (var i in process.argv) { - if ((process.argv[i].toLowerCase() == 'install') || (process.argv[i].toLowerCase() == 'uninstall')) { - console.log('In order to install/uninstall, a service type must be specified.'); - process.exit(); - } - } if (process.execPath.includes('MicroLMS')) { serviceName = 'MicroLMS'; } + else if (process.execPath.includes('LMS')) { serviceName = 'LMS'; } else if (process.execPath.includes('MeshCommander')) { serviceName = 'MeshCommander'; } - else { serviceName = 'not_a_service'; } + if (serviceName == null) { for (var i in process.argv) { if ((process.argv[i].toLowerCase() == '-install') || (process.argv[i].toLowerCase() == '-uninstall')) { console.log('In order to install/uninstall, a service type must be specified.'); process.exit(); } } } + if (serviceName == null) { try { run(process.argv); } catch (e) { console.log('ERROR: ' + e); } process.exit(); } } -if (serviceInstall == 0) { - run(process.argv); -} else { - var serviceHost = require('service-host'); - var meshcmdService = new serviceHost({ name: serviceName, startType: 'AUTO_START' }); +var serviceHost = require('service-host'); +var meshcmdService = new serviceHost({ name: serviceName, displayName: serviceDisplayName, startType: 'AUTO_START', description: serviceDesc }); - // Called when the background service is started. - meshcmdService.on('serviceStart', function onStart() { - console.setDestination(console.Destinations.DISABLED); // Disable console.log(). - if (process.execPath.includes('MicroLMS')) { run([process.execPath, 'microlms']); } // - else if (process.execPath.includes('MeshCommander')) { run([process.execPath, 'meshcommander']); } - else { console.log('Aborting Service Start, because unknown binary: ' + process.execPath); process.exit(1); } - }); +// Called when the background service is started. +meshcmdService.on('serviceStart', function onStart() { + //process.coreDumpLocation = 'C:\\tmp\\meshcommander.dmp'; + //process.on('exit', function () { console.log('exit3'); _debugCrash(); }); + console.setDestination(console.Destinations.DISABLED); // Disable console.log(). + //console.setDestination(console.Destinations.LOGFILE); + //attachDebuger({ webport: 0, wait: 1 }).then(console.log, console.log); - // Called when the background service is stopping - meshcmdService.on('serviceStop', function onStop() { console.log('Stopping service'); process.exit(); }); // The console.log() is for debugging, will be ignored unless "console.setDestination()" is set. + if (process.execPath.includes('MicroLMS')) { run([process.execPath, 'microlms']); } // Start MicroLMS + else if (process.execPath.includes('LMS')) { run([process.execPath, 'microlms']); } // Start MicroLMS + else if (process.execPath.includes('MeshCommander')) { run([process.execPath, 'meshcommander']); } // Start MeshCommander + else { console.log('Aborting Service Start, because unknown binary: ' + process.execPath); process.exit(1); } +}); - // Called when the executable is not running as a service, run normally. - meshcmdService.on('normalStart', function onNormalStart() { try { run(process.argv); } catch (e) { console.log('ERROR: ' + e); } }); - meshcmdService.run(); -} +// Called when the background service is stopping +meshcmdService.on('serviceStop', function onStop() { console.log('Stopping service'); process.exit(); }); // The console.log() is for debugging, will be ignored unless "console.setDestination()" is set. + +// Called when the executable is not running as a service, run normally. +meshcmdService.on('normalStart', function onNormalStart() { try { run(process.argv); } catch (e) { console.log('ERROR: ' + e); } }); +meshcmdService.run(); diff --git a/agents/meshcmd.min.js b/agents/meshcmd.min.js index 3dfb676d..a7a848d1 100644 --- a/agents/meshcmd.min.js +++ b/agents/meshcmd.min.js @@ -2564,46 +2564,53 @@ function removeItemFromArray(array, element) { } // Run MeshCmd, but before we do, we need to see if what type of service we are going to be -var serviceName = null; -var serviceOpSpecified = 0; -var serviceInstall = 0; - +var serviceName = null, serviceDisplayName = null, serviceDesc = null; for (var i in process.argv) { - if (process.argv[i].toLowerCase() == 'install') { serviceInstall = 1 } else if (process.argv[i].toLowerCase() == 'uninstall') { serviceInstall = -1 } - if ((process.argv[i].toLowerCase() == 'microlms') || (process.argv[i].toLowerCase() == 'amtlms') || (process.argv[i].toLowerCase() == 'lms')) { serviceName = 'MicroLMS'; break; } - if ((process.argv[i].toLowerCase() == 'meshcommander') || (process.argv[i].toLowerCase() == 'commander')) { serviceName = 'MeshCommander'; break; } + if (process.argv[i].toLowerCase() == 'install') { process.argv[i] = '-install'; } + if (process.argv[i].toLowerCase() == 'uninstall') { process.argv[i] = '-uninstall'; } + if ((process.argv[i].toLowerCase() == 'microlms') || (process.argv[i].toLowerCase() == 'amtlms') || (process.argv[i].toLowerCase() == 'lms')) { + serviceName = 'MicroLMS'; + serviceDisplayName = 'MicroLMS Service for Intel(R) AMT'; + serviceDesc = 'Intel AMT Micro Local Manageability Service (MicroLMS)'; + } else if ((process.argv[i].toLowerCase() == 'intellms')) { + serviceName = 'LMS'; + serviceDisplayName = 'Intel(R) Management and Security Application Local Management Service'; + serviceDesc = 'Intel(R) Management and Security Application Local Management Service - Provides OS-related Intel(R) ME functionality.'; + } else if ((process.argv[i].toLowerCase() == 'meshcommander') || (process.argv[i].toLowerCase() == 'commander')) { + serviceName = 'MeshCommander'; + serviceDisplayName = 'MeshCommander, Intel AMT Management console'; + serviceDesc = 'MeshCommander is a Intel AMT management console.'; + } } if (serviceName == null) { - for (var i in process.argv) { - if ((process.argv[i].toLowerCase() == 'install') || (process.argv[i].toLowerCase() == 'uninstall')) { - console.log('In order to install/uninstall, a service type must be specified.'); - process.exit(); - } - } if (process.execPath.includes('MicroLMS')) { serviceName = 'MicroLMS'; } + else if (process.execPath.includes('LMS')) { serviceName = 'LMS'; } else if (process.execPath.includes('MeshCommander')) { serviceName = 'MeshCommander'; } - else { serviceName = 'not_a_service'; } + if (serviceName == null) { for (var i in process.argv) { if ((process.argv[i].toLowerCase() == '-install') || (process.argv[i].toLowerCase() == '-uninstall')) { console.log('In order to install/uninstall, a service type must be specified.'); process.exit(); } } } + if (serviceName == null) { try { run(process.argv); } catch (e) { console.log('ERROR: ' + e); } process.exit(); } } -if (serviceInstall == 0) { - run(process.argv); -} else { - var serviceHost = require('service-host'); - var meshcmdService = new serviceHost({ name: serviceName, startType: 'AUTO_START' }); +var serviceHost = require('service-host'); +var meshcmdService = new serviceHost({ name: serviceName, displayName: serviceDisplayName, startType: 'AUTO_START', description: serviceDesc }); - // Called when the background service is started. - meshcmdService.on('serviceStart', function onStart() { - console.setDestination(console.Destinations.DISABLED); // Disable console.log(). - if (process.execPath.includes('MicroLMS')) { run([process.execPath, 'microlms']); } // - else if (process.execPath.includes('MeshCommander')) { run([process.execPath, 'meshcommander']); } - else { console.log('Aborting Service Start, because unknown binary: ' + process.execPath); process.exit(1); } - }); +// Called when the background service is started. +meshcmdService.on('serviceStart', function onStart() { + //process.coreDumpLocation = 'C:\\tmp\\meshcommander.dmp'; + //process.on('exit', function () { console.log('exit3'); _debugCrash(); }); + console.setDestination(console.Destinations.DISABLED); // Disable console.log(). + //console.setDestination(console.Destinations.LOGFILE); + //attachDebuger({ webport: 0, wait: 1 }).then(console.log, console.log); - // Called when the background service is stopping - meshcmdService.on('serviceStop', function onStop() { console.log('Stopping service'); process.exit(); }); // The console.log() is for debugging, will be ignored unless "console.setDestination()" is set. + if (process.execPath.includes('MicroLMS')) { run([process.execPath, 'microlms']); } // Start MicroLMS + else if (process.execPath.includes('LMS')) { run([process.execPath, 'microlms']); } // Start MicroLMS + else if (process.execPath.includes('MeshCommander')) { run([process.execPath, 'meshcommander']); } // Start MeshCommander + else { console.log('Aborting Service Start, because unknown binary: ' + process.execPath); process.exit(1); } +}); - // Called when the executable is not running as a service, run normally. - meshcmdService.on('normalStart', function onNormalStart() { try { run(process.argv); } catch (e) { console.log('ERROR: ' + e); } }); - meshcmdService.run(); -} +// Called when the background service is stopping +meshcmdService.on('serviceStop', function onStop() { console.log('Stopping service'); process.exit(); }); // The console.log() is for debugging, will be ignored unless "console.setDestination()" is set. + +// Called when the executable is not running as a service, run normally. +meshcmdService.on('normalStart', function onNormalStart() { try { run(process.argv); } catch (e) { console.log('ERROR: ' + e); } }); +meshcmdService.run(); diff --git a/agents/modules_meshcmd/service-host.js b/agents/modules_meshcmd/service-host.js deleted file mode 100644 index fabc4e81..00000000 --- a/agents/modules_meshcmd/service-host.js +++ /dev/null @@ -1,389 +0,0 @@ -/* -Copyright 2018 Intel Corporation - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - - -var SERVICE_WIN32 = 0x00000010 | 0x00000020; -var SERVICE_STATE = { STOPPED: 0x00000001, SERVICE_START_PENDING: 0x00000002, SERVICE_STOP_PENDING: 0x00000003, RUNNING: 0x00000004 }; -var SERVICE_ACCEPT = { SERVICE_ACCEPT_STOP: 0x00000001, SERVICE_ACCEPT_SHUTDOWN: 0x00000004, SERVICE_ACCEPT_POWEREVENT: 0x00000040, SERVICE_ACCEPT_SESSIONCHANGE: 0x00000080 }; - -var SERVICE_CONTROL = { SERVICE_CONTROL_SHUTDOWN: 0x00000005, SERVICE_CONTROL_STOP: 0x00000001, SERVICE_CONTROL_POWEREVENT: 0x0000000D, SERVICE_CONTROL_SESSIONCHANGE: 0x0000000E}; -var SESSION_CHANGE_TYPE = -{ - WTS_CONSOLE_CONNECT: 0x1, - WTS_CONSOLE_DISCONNECT: 0x2, - WTS_REMOTE_CONNECT: 0x3, - WTS_REMOTE_DISCONNECT: 0x4, - WTS_SESSION_LOGON: 0x5, - WTS_SESSION_LOGOFF: 0x6, - WTS_SESSION_LOCK: 0x7, - WTS_SESSION_UNLOCK: 0x8, - WTS_SESSION_REMOTE_CONTROL: 0x9, - WTS_SESSION_CREATE: 0xa, - WTS_SESSION_TERMINATE: 0xb -}; - - -var NO_ERROR = 0; - -var serviceManager = require('service-manager'); - -function serviceHost(serviceName) -{ - this._ObjectID = 'service-host'; - var emitterUtils = require('events').inherits(this); - emitterUtils.createEvent('serviceStart'); - emitterUtils.createEvent('serviceStop'); - emitterUtils.createEvent('normalStart'); - emitterUtils.createEvent('session'); - emitterUtils.createEvent('powerStateChange'); - - if (process.platform == 'win32') - { - this.GM = require('_GenericMarshal'); - this.Advapi = this.GM.CreateNativeProxy('Advapi32.dll'); - this.Advapi.CreateMethod({ method: 'StartServiceCtrlDispatcherA', threadDispatch: 1 }); - this.Advapi.CreateMethod('RegisterServiceCtrlHandlerExA'); - this.Advapi.CreateMethod('SetServiceStatus'); - this.Kernel32 = this.GM.CreateNativeProxy('Kernel32.dll'); - this.Kernel32.CreateMethod('GetLastError'); - - this.Ole32 = this.GM.CreateNativeProxy('Ole32.dll'); - this.Ole32.CreateMethod('CoInitializeEx'); - this.Ole32.CreateMethod('CoUninitialize'); - - this._ServiceName = this.GM.CreateVariable(typeof (serviceName) == 'string' ? serviceName : serviceName.name); - this._ServiceMain = this.GM.GetGenericGlobalCallback(2); - this._ServiceMain.Parent = this; - this._ServiceMain.GM = this.GM; - this._ServiceMain.on('GlobalCallback', function onGlobalCallback(argc, argv) - { - //ToDo: Check to make sure this is for us - - this.Parent._ServiceStatus = this.GM.CreateVariable(28); - //typedef struct _SERVICE_STATUS { - // DWORD dwServiceType; - // DWORD dwCurrentState; - // DWORD dwControlsAccepted; - // DWORD dwWin32ExitCode; - // DWORD dwServiceSpecificExitCode; - // DWORD dwCheckPoint; - // DWORD dwWaitHint; - //} SERVICE_STATUS, *LPSERVICE_STATUS; - - // Initialise service status - this.Parent._ServiceStatus.toBuffer().writeUInt32LE(SERVICE_WIN32); - this.Parent._ServiceStatus.toBuffer().writeUInt32LE(SERVICE_STATE.SERVICE_STOPPED, 4); - this.Parent._ServiceStatusHandle = this.Parent.Advapi.RegisterServiceCtrlHandlerExA(this.Parent._ServiceName, this.Parent._ServiceControlHandler, this.Parent.GM.StashObject(this.Parent._ServiceControlHandler)); - if(this.Parent._ServiceStatusHandle.Val == 0) - { - process.exit(1); - } - - // Service is starting - this.Parent._ServiceStatus.toBuffer().writeUInt32LE(SERVICE_STATE.SERVICE_START_PENDING, 4); - this.Parent.Advapi.SetServiceStatus(this.Parent._ServiceStatusHandle, this.Parent._ServiceStatus); - - // Service running - this.Parent._ServiceStatus.toBuffer().writeUInt32LE(SERVICE_STATE.RUNNING, 4); - this.Parent._ServiceStatus.toBuffer().writeUInt32LE(SERVICE_ACCEPT.SERVICE_ACCEPT_STOP | SERVICE_ACCEPT.SERVICE_ACCEPT_POWEREVENT | SERVICE_ACCEPT.SERVICE_ACCEPT_SESSIONCHANGE, 8); - this.Parent.Advapi.SetServiceStatus(this.Parent._ServiceStatusHandle, this.Parent._ServiceStatus); - - this.Parent.Ole32.CoInitializeEx(0, 2); - this.Parent.on('~', function OnServiceHostFinalizer() - { - var GM = require('_GenericMarshal'); - var Advapi = GM.CreateNativeProxy('Advapi32.dll'); - Advapi.CreateMethod('SetServiceStatus'); - - Kernel32 = this.GM.CreateNativeProxy('Kernel32.dll'); - Kernel32.CreateMethod('GetLastError'); - - var status = GM.CreateVariable(28); - - // Service was stopped - status.toBuffer().writeUInt32LE(SERVICE_WIN32); - status.toBuffer().writeUInt32LE(0x00000001, 4); - status.toBuffer().writeUInt32LE(0, 8); - - Advapi.SetServiceStatus(this._ServiceStatusHandle, status); - - this.Ole32.CoUninitialize(); - }); - - this.Parent.emit('serviceStart'); - }); - this._ServiceControlHandler = this.GM.GetGenericGlobalCallback(4); - this._ServiceControlHandler.Parent = this; - this._ServiceControlHandler.GM = this.GM; - this._ServiceControlHandler.on('GlobalCallback', function onServiceControlHandler(code, eventType, eventData, context) - { - var j = this.Parent.GM.UnstashObject(context); - if (j != null && j == this) - { - switch (code.Val) - { - case SERVICE_CONTROL.SERVICE_CONTROL_SHUTDOWN: - case SERVICE_CONTROL.SERVICE_CONTROL_STOP: - this.Parent.emit('serviceStop'); - return; - case SERVICE_CONTROL.SERVICE_CONTROL_SESSIONCHANGE: - var sessionId = eventData.Deref(4, 4).toBuffer().readUInt32LE(); - switch(eventType.Val) - { - case SESSION_CHANGE_TYPE.WTS_SESSION_LOGON: - case SESSION_CHANGE_TYPE.WTS_SESSION_LOGOFF: - require('user-sessions').emit('changed'); - break; - } - break; - default: - break; - } - - this.Parent.Advapi.SetServiceStatus(this.Parent._ServiceStatusHandle, this.Parent._ServiceStatus); - } - }); - } - - if (serviceName) { this._ServiceOptions = typeof (serviceName) == 'object' ? serviceName : { name: serviceName }; } - else - { - throw ('Must specify either ServiceName or Options'); - } - if (!this._ServiceOptions.servicePath) - { - this._ServiceOptions.servicePath = process.execPath; - } - - this.run = function run() - { - var serviceOperation = 0; - - for(var i = 0; iStandardOutPath\n' + options.stdout + '') : ''); - var autoStart = (options.startType == 'AUTO_START' ? '' : ''); - var params = ' ProgramArguments\n'; - params += ' \n'; - params += (' /usr/local/mesh_services/' + options.name + '/' + options.name + '\n'); - if(options.parameters) - { - for(var itm in options.parameters) - { - params += (' ' + options.parameters[itm] + '\n'); - } - } - params += ' \n'; - - var plist = '\n'; - plist += '\n'; - plist += '\n'; - plist += ' \n'; - plist += ' Label\n'; - plist += (' ' + options.name + '\n'); - plist += (params + '\n'); - plist += ' WorkingDirectory\n'; - plist += (' /usr/local/mesh_services/' + options.name + '\n'); - plist += (stdoutpath + '\n'); - plist += ' RunAtLoad\n'; - plist += (autoStart + '\n'); - plist += ' \n'; - plist += ''; - - if (!require('fs').existsSync('/usr/local/mesh_services')) { require('fs').mkdirSync('/usr/local/mesh_services'); } - if (!require('fs').existsSync('/Library/LaunchDaemons/' + options.name + '.plist')) - { - if (!require('fs').existsSync('/usr/local/mesh_services/' + options.name)) { require('fs').mkdirSync('/usr/local/mesh_services/' + options.name); } - if (options.binary) - { - require('fs').writeFileSync('/usr/local/mesh_services/' + options.name + '/' + options.name, options.binary); - } - else - { - require('fs').copyFileSync(options.servicePath, '/usr/local/mesh_services/' + options.name + '/' + options.name); - } - require('fs').writeFileSync('/Library/LaunchDaemons/' + options.name + '.plist', plist); - var m = require('fs').statSync('/usr/local/mesh_services/' + options.name + '/' + options.name).mode; - m |= (require('fs').CHMOD_MODES.S_IXUSR | require('fs').CHMOD_MODES.S_IXGRP); - require('fs').chmodSync('/usr/local/mesh_services/' + options.name + '/' + options.name, m); - } - else - { - throw ('Service: ' + options.name + ' already exists'); - } - } - } - this.uninstallService = function uninstallService(name) - { - if (!this.isAdmin()) { throw ('Uninstalling a service, requires admin'); } - - if (typeof (name) == 'object') { name = name.name; } - if (process.platform == 'win32') - { - var service = this.getService(name); - if (service.status.state == undefined || service.status.state == 'STOPPED') - { - if (this.proxy.DeleteService(service._service) == 0) - { - throw ('Uninstall Service for: ' + name + ', failed with error: ' + this.proxy2.GetLastError()); - } - else - { - try - { - require('fs').unlinkSync(this.getServiceFolder() + '\\' + name + '.exe'); - } - catch(e) - { - } - } - } - else - { - throw ('Cannot uninstall service: ' + name + ', because it is: ' + service.status.state); - } - } - else if(process.platform == 'linux') - { - switch (this.getServiceType()) - { - case 'init': - this._update = require('child_process').execFile('/bin/sh', ['sh'], { type: require('child_process').SpawnTypes.TERM }); - this._update.stdout.on('data', function (chunk) { }); - this._update.stdin.write('service ' + name + ' stop\n'); - this._update.stdin.write('update-rc.d -f ' + name + ' remove\n'); - this._update.stdin.write('exit\n'); - this._update.waitExit(); - try - { - require('fs').unlinkSync('/etc/init.d/' + name); - console.log(name + ' uninstalled'); - - } - catch (e) - { - console.log(name + ' could not be uninstalled', e) - } - break; - case 'systemd': - this._update = require('child_process').execFile('/bin/sh', ['sh'], { type: require('child_process').SpawnTypes.TERM }); - this._update.stdout.on('data', function (chunk) { }); - this._update.stdin.write('systemctl stop ' + name + '.service\n'); - this._update.stdin.write('systemctl disable ' + name + '.service\n'); - this._update.stdin.write('exit\n'); - this._update.waitExit(); - try - { - require('fs').unlinkSync('/usr/local/mesh/' + name); - require('fs').unlinkSync('/lib/systemd/system/' + name + '.service'); - console.log(name + ' uninstalled'); - } - catch (e) - { - console.log(name + ' could not be uninstalled', e) - } - break; - default: // unknown platform service type - break; - } - } - else if(process.platform == 'darwin') - { - if (require('fs').existsSync('/Library/LaunchDaemons/' + name + '.plist')) - { - var child = require('child_process').execFile('/bin/sh', ['sh']); - child.stdout.on('data', function (chunk) { }); - child.stdin.write('launchctl stop ' + name + '\n'); - child.stdin.write('launchctl unload /Library/LaunchDaemons/' + name + '.plist\n'); - child.stdin.write('exit\n'); - child.waitExit(); - - try - { - require('fs').unlinkSync('/usr/local/mesh_services/' + name + '/' + name); - require('fs').unlinkSync('/Library/LaunchDaemons/' + name + '.plist'); - } - catch(e) - { - throw ('Error uninstalling service: ' + name + ' => ' + e); - } - - try - { - require('fs').rmdirSync('/usr/local/mesh_services/' + name); - } - catch(e) - {} - } - else - { - throw ('Service: ' + name + ' does not exist'); - } - } - } - if(process.platform == 'linux') - { - this.getServiceType = function getServiceType() - { - return (require('process-manager').getProcessInfo(1).Name); - }; - } -} - -module.exports = serviceManager; \ No newline at end of file diff --git a/agents/modules_meshcmd_min/service-host.min.js b/agents/modules_meshcmd_min/service-host.min.js deleted file mode 100644 index b3a0287a..00000000 --- a/agents/modules_meshcmd_min/service-host.min.js +++ /dev/null @@ -1 +0,0 @@ -var SERVICE_WIN32=16|32;var SERVICE_STATE={STOPPED:1,SERVICE_START_PENDING:2,SERVICE_STOP_PENDING:3,RUNNING:4};var SERVICE_ACCEPT={SERVICE_ACCEPT_STOP:1,SERVICE_ACCEPT_SHUTDOWN:4,SERVICE_ACCEPT_POWEREVENT:64,SERVICE_ACCEPT_SESSIONCHANGE:128};var SERVICE_CONTROL={SERVICE_CONTROL_SHUTDOWN:5,SERVICE_CONTROL_STOP:1,SERVICE_CONTROL_POWEREVENT:13,SERVICE_CONTROL_SESSIONCHANGE:14};var SESSION_CHANGE_TYPE={WTS_CONSOLE_CONNECT:1,WTS_CONSOLE_DISCONNECT:2,WTS_REMOTE_CONNECT:3,WTS_REMOTE_DISCONNECT:4,WTS_SESSION_LOGON:5,WTS_SESSION_LOGOFF:6,WTS_SESSION_LOCK:7,WTS_SESSION_UNLOCK:8,WTS_SESSION_REMOTE_CONTROL:9,WTS_SESSION_CREATE:10,WTS_SESSION_TERMINATE:11};var NO_ERROR=0;var serviceManager=require("service-manager");function serviceHost(e){this._ObjectID="service-host";var a=require("events").inherits(this);a.createEvent("serviceStart");a.createEvent("serviceStop");a.createEvent("normalStart");a.createEvent("session");a.createEvent("powerStateChange");if(process.platform=="win32"){this.GM=require("_GenericMarshal");this.Advapi=this.GM.CreateNativeProxy("Advapi32.dll");this.Advapi.CreateMethod({method:"StartServiceCtrlDispatcherA",threadDispatch:1});this.Advapi.CreateMethod("RegisterServiceCtrlHandlerExA");this.Advapi.CreateMethod("SetServiceStatus");this.Kernel32=this.GM.CreateNativeProxy("Kernel32.dll");this.Kernel32.CreateMethod("GetLastError");this.Ole32=this.GM.CreateNativeProxy("Ole32.dll");this.Ole32.CreateMethod("CoInitializeEx");this.Ole32.CreateMethod("CoUninitialize");this._ServiceName=this.GM.CreateVariable(typeof(e)=="string"?e:e.name);this._ServiceMain=this.GM.GetGenericGlobalCallback(2);this._ServiceMain.Parent=this;this._ServiceMain.GM=this.GM;this._ServiceMain.on("GlobalCallback",function b(f,g){this.Parent._ServiceStatus=this.GM.CreateVariable(28);this.Parent._ServiceStatus.toBuffer().writeUInt32LE(SERVICE_WIN32);this.Parent._ServiceStatus.toBuffer().writeUInt32LE(SERVICE_STATE.SERVICE_STOPPED,4);this.Parent._ServiceStatusHandle=this.Parent.Advapi.RegisterServiceCtrlHandlerExA(this.Parent._ServiceName,this.Parent._ServiceControlHandler,this.Parent.GM.StashObject(this.Parent._ServiceControlHandler));if(this.Parent._ServiceStatusHandle.Val==0){process.exit(1)}this.Parent._ServiceStatus.toBuffer().writeUInt32LE(SERVICE_STATE.SERVICE_START_PENDING,4);this.Parent.Advapi.SetServiceStatus(this.Parent._ServiceStatusHandle,this.Parent._ServiceStatus);this.Parent._ServiceStatus.toBuffer().writeUInt32LE(SERVICE_STATE.RUNNING,4);this.Parent._ServiceStatus.toBuffer().writeUInt32LE(SERVICE_ACCEPT.SERVICE_ACCEPT_STOP|SERVICE_ACCEPT.SERVICE_ACCEPT_POWEREVENT|SERVICE_ACCEPT.SERVICE_ACCEPT_SESSIONCHANGE,8);this.Parent.Advapi.SetServiceStatus(this.Parent._ServiceStatusHandle,this.Parent._ServiceStatus);this.Parent.Ole32.CoInitializeEx(0,2);this.Parent.on("~",function h(){var j=require("_GenericMarshal");var i=j.CreateNativeProxy("Advapi32.dll");i.CreateMethod("SetServiceStatus");Kernel32=this.GM.CreateNativeProxy("Kernel32.dll");Kernel32.CreateMethod("GetLastError");var k=j.CreateVariable(28);k.toBuffer().writeUInt32LE(SERVICE_WIN32);k.toBuffer().writeUInt32LE(1,4);k.toBuffer().writeUInt32LE(0,8);i.SetServiceStatus(this._ServiceStatusHandle,k);this.Ole32.CoUninitialize()});this.Parent.emit("serviceStart")});this._ServiceControlHandler=this.GM.GetGenericGlobalCallback(4);this._ServiceControlHandler.Parent=this;this._ServiceControlHandler.GM=this.GM;this._ServiceControlHandler.on("GlobalCallback",function c(f,i,h,g){var k=this.Parent.GM.UnstashObject(g);if(k!=null&&k==this){switch(f.Val){case SERVICE_CONTROL.SERVICE_CONTROL_SHUTDOWN:case SERVICE_CONTROL.SERVICE_CONTROL_STOP:this.Parent.emit("serviceStop");return;case SERVICE_CONTROL.SERVICE_CONTROL_SESSIONCHANGE:var l=h.Deref(4,4).toBuffer().readUInt32LE();switch(i.Val){case SESSION_CHANGE_TYPE.WTS_SESSION_LOGON:case SESSION_CHANGE_TYPE.WTS_SESSION_LOGOFF:require("user-sessions").emit("changed");break}break;default:break}this.Parent.Advapi.SetServiceStatus(this.Parent._ServiceStatusHandle,this.Parent._ServiceStatus)}})}if(e){this._ServiceOptions=typeof(e)=="object"?e:{name:e}}else{throw ("Must specify either ServiceName or Options")}if(!this._ServiceOptions.servicePath){this._ServiceOptions.servicePath=process.execPath}this.run=function d(){var r=0;for(var h=0;hStandardOutPath\n"+r.stdout+""):"");var i=(r.startType=="AUTO_START"?"":"");var s=" ProgramArguments\n";s+=" \n";s+=(" /usr/local/mesh_services/"+r.name+"/"+r.name+"\n");if(r.parameters){for(var p in r.parameters){s+=(" "+r.parameters[p]+"\n")}}s+=" \n";var t='\n';t+='\n';t+='\n';t+=" \n";t+=" Label\n";t+=(" "+r.name+"\n");t+=(s+"\n");t+=" WorkingDirectory\n";t+=(" /usr/local/mesh_services/"+r.name+"\n");t+=(y+"\n");t+=" RunAtLoad\n";t+=(i+"\n");t+=" \n";t+="";if(!require("fs").existsSync("/usr/local/mesh_services")){require("fs").mkdirSync("/usr/local/mesh_services")}if(!require("fs").existsSync("/Library/LaunchDaemons/"+r.name+".plist")){if(!require("fs").existsSync("/usr/local/mesh_services/"+r.name)){require("fs").mkdirSync("/usr/local/mesh_services/"+r.name)}if(r.binary){require("fs").writeFileSync("/usr/local/mesh_services/"+r.name+"/"+r.name,r.binary)}else{require("fs").copyFileSync(r.servicePath,"/usr/local/mesh_services/"+r.name+"/"+r.name)}require("fs").writeFileSync("/Library/LaunchDaemons/"+r.name+".plist",t);var q=require("fs").statSync("/usr/local/mesh_services/"+r.name+"/"+r.name).mode;q|=(require("fs").CHMOD_MODES.S_IXUSR|require("fs").CHMOD_MODES.S_IXGRP);require("fs").chmodSync("/usr/local/mesh_services/"+r.name+"/"+r.name,q)}else{throw ("Service: "+r.name+" already exists")}}};this.uninstallService=function f(i){if(!this.isAdmin()){throw ("Uninstalling a service, requires admin")}if(typeof(i)=="object"){i=i.name}if(process.platform=="win32"){var j=this.getService(i);if(j.status.state==undefined||j.status.state=="STOPPED"){if(this.proxy.DeleteService(j._service)==0){throw ("Uninstall Service for: "+i+", failed with error: "+this.proxy2.GetLastError())}else{try{require("fs").unlinkSync(this.getServiceFolder()+"\\"+i+".exe")}catch(h){}}}else{throw ("Cannot uninstall service: "+i+", because it is: "+j.status.state)}}else{if(process.platform=="linux"){switch(this.getServiceType()){case"init":this._update=require("child_process").execFile("/bin/sh",["sh"],{type:require("child_process").SpawnTypes.TERM});this._update.stdout.on("data",function(k){});this._update.stdin.write("service "+i+" stop\n");this._update.stdin.write("update-rc.d -f "+i+" remove\n");this._update.stdin.write("exit\n");this._update.waitExit();try{require("fs").unlinkSync("/etc/init.d/"+i);console.log(i+" uninstalled")}catch(h){console.log(i+" could not be uninstalled",h)}break;case"systemd":this._update=require("child_process").execFile("/bin/sh",["sh"],{type:require("child_process").SpawnTypes.TERM});this._update.stdout.on("data",function(k){});this._update.stdin.write("systemctl stop "+i+".service\n");this._update.stdin.write("systemctl disable "+i+".service\n");this._update.stdin.write("exit\n");this._update.waitExit();try{require("fs").unlinkSync("/usr/local/mesh/"+i);require("fs").unlinkSync("/lib/systemd/system/"+i+".service");console.log(i+" uninstalled")}catch(h){console.log(i+" could not be uninstalled",h)}break;default:break}}else{if(process.platform=="darwin"){if(require("fs").existsSync("/Library/LaunchDaemons/"+i+".plist")){var g=require("child_process").execFile("/bin/sh",["sh"]);g.stdout.on("data",function(k){});g.stdin.write("launchctl stop "+i+"\n");g.stdin.write("launchctl unload /Library/LaunchDaemons/"+i+".plist\n");g.stdin.write("exit\n");g.waitExit();try{require("fs").unlinkSync("/usr/local/mesh_services/"+i+"/"+i);require("fs").unlinkSync("/Library/LaunchDaemons/"+i+".plist")}catch(h){throw ("Error uninstalling service: "+i+" => "+h)}try{require("fs").rmdirSync("/usr/local/mesh_services/"+i)}catch(h){}}else{throw ("Service: "+i+" does not exist")}}}}};if(process.platform=="linux"){this.getServiceType=function c(){return(require("process-manager").getProcessInfo(1).Name)}}}module.exports=serviceManager; \ No newline at end of file diff --git a/package.json b/package.json index ec75e3d0..9a90e6ca 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "meshcentral", - "version": "0.4.3-a", + "version": "0.4.3-c", "keywords": [ "Remote Management", "Intel AMT", diff --git a/public/minify.bat b/public/minify.bat new file mode 100644 index 00000000..567c4800 --- /dev/null +++ b/public/minify.bat @@ -0,0 +1,3 @@ +@ECHO OFF +CD ..\translate +C:\Users\Default.DESKTOP-M9I88C9\AppData\Roaming\nvm\v12.13.0\node translate.js minifyall \ No newline at end of file diff --git a/public/player-min.htm b/public/player-min.htm index 942a7b6e..0f7af242 100644 --- a/public/player-min.htm +++ b/public/player-min.htm @@ -1 +1 @@ -
00:00:00
 
\ No newline at end of file +
00:00:00
 
\ No newline at end of file diff --git a/public/translations/player-min_fr.htm b/public/translations/player-min_fr.htm index 92c93734..08a0cf73 100644 --- a/public/translations/player-min_fr.htm +++ b/public/translations/player-min_fr.htm @@ -1 +1 @@ -
00:00:00
 
\ No newline at end of file +
00:00:00
 
\ No newline at end of file diff --git a/translate/translate.js b/translate/translate.js index 69bc5252..c5e51769 100644 --- a/translate/translate.js +++ b/translate/translate.js @@ -141,7 +141,7 @@ function start() { if (minifyLib = 2) { var minifiedOut = minify(fs.readFileSync(outname).toString(), { collapseBooleanAttributes: true, - collapseInlineTagWhitespace: true, + collapseInlineTagWhitespace: false, // This is not good. collapseWhitespace: true, minifyCSS: true, minifyJS: true, @@ -333,7 +333,7 @@ function translateFromHtml(lang, file, createSubDir) { if (minifyLib = 2) { var minifiedOut = minify(out, { collapseBooleanAttributes: true, - collapseInlineTagWhitespace: true, + collapseInlineTagWhitespace: false, // This is not good. collapseWhitespace: true, minifyCSS: true, minifyJS: true, diff --git a/views/agentinvite-min.handlebars b/views/agentinvite-min.handlebars index 621bfcd4..feb7ddeb 100644 --- a/views/agentinvite-min.handlebars +++ b/views/agentinvite-min.handlebars @@ -1 +1 @@ -MeshCentral - Agent Installation
{{{title}}}
{{{title2}}}

{{{logoutControl}}}

Remote Agent Installation

You have been invited to install a software that will allow a remote operator to fully access your computer remotely including the desktop and files. Only follow the instructions below if this invitation was expected and you know who will be accessing your computer. Selecting your operation system and follow the instructions below.

Microsoft™ Windows 64bit

Download the software here, run it and press "Install" or "Connect".

Microsoft™ Windows 32bit

Download the software here, run it and press "Install" or "Connect".

Linux

To install, cut and paste the following command in a root terminal.

To uninstall, cut and paste the following command as root.



Apple™ MacOS

Download the installer here, right click on it or press "control" and click on the file. Then select "Open" and follow the instructions.

\ No newline at end of file +MeshCentral - Agent Installation
{{{title}}}
{{{title2}}}

{{{logoutControl}}}

Remote Agent Installation

You have been invited to install a software that will allow a remote operator to fully access your computer remotely including the desktop and files. Only follow the instructions below if this invitation was expected and you know who will be accessing your computer. Selecting your operation system and follow the instructions below.

Microsoft™ Windows 64bit

Download the software here, run it and press "Install" or "Connect".

Microsoft™ Windows 32bit

Download the software here, run it and press "Install" or "Connect".

Linux

To install, cut and paste the following command in a root terminal.

To uninstall, cut and paste the following command as root.



Apple™ MacOS

Download the installer here, right click on it or press "control" and click on the file. Then select "Open" and follow the instructions.

\ No newline at end of file diff --git a/views/default-min.handlebars b/views/default-min.handlebars index 59173b48..8e683d73 100644 --- a/views/default-min.handlebars +++ b/views/default-min.handlebars @@ -1,4 +1,4 @@ -{{{title}}}
{{{title}}}
{{{title2}}}

{{{logoutControl}}}

 

{{{title}}}
{{{title}}}
{{{title2}}}

{{{logoutControl}}}

 

{{{title}}}
{{{title}}}
{{{title2}}}
\ No newline at end of file +{{{title}}}
{{{title}}}
{{{title2}}}
\ No newline at end of file diff --git a/views/login-min.handlebars b/views/login-min.handlebars index 08876e88..e10557a7 100644 --- a/views/login-min.handlebars +++ b/views/login-min.handlebars @@ -1 +1 @@ -{{{title}}} - Login
{{{title}}}
{{{title2}}}

Welcome


\ No newline at end of file +{{{title}}} - Login
{{{title}}}
{{{title2}}}

Welcome


\ No newline at end of file diff --git a/views/login-mobile-min.handlebars b/views/login-mobile-min.handlebars index ddbe028e..352aaa7b 100644 --- a/views/login-mobile-min.handlebars +++ b/views/login-mobile-min.handlebars @@ -1 +1 @@ -MeshCentral - Login
{{{title}}}
{{{title2}}}
\ No newline at end of file +MeshCentral - Login
{{{title}}}
{{{title2}}}
\ No newline at end of file diff --git a/views/login-mobile.handlebars b/views/login-mobile.handlebars index 2ce21002..40352073 100644 --- a/views/login-mobile.handlebars +++ b/views/login-mobile.handlebars @@ -267,6 +267,8 @@ MeshCentral - Agent Installation
{{{title}}}
{{{title2}}}

{{{logoutControl}}}

Remote Agent Installation

You have been invited to install a software that will allow a remote operator to fully access your computer remotely including the desktop and files. Only follow the instructions below if this invitation was expected and you know who will be accessing your computer. Selecting your operation system and follow the instructions below.

Microsoft™ Windows 64bit

Download the software here, run it and press "Install" or "Connect".

Microsoft™ Windows 32bit

Download the software here, run it and press "Install" or "Connect".

Linux

To install, cut and paste the following command in a root terminal.

To uninstall, cut and paste the following command as root.



Apple™ MacOS

Download the installer here, right click on it or press "control" and click on the file. Then select "Open" and follow the instructions.

\ No newline at end of file +MeshCentral - Agent Installation
{{{title}}}
{{{title2}}}

{{{logoutControl}}}

Remote Agent Installation

You have been invited to install a software that will allow a remote operator to fully access your computer remotely including the desktop and files. Only follow the instructions below if this invitation was expected and you know who will be accessing your computer. Selecting your operation system and follow the instructions below.

Microsoft™ Windows 64bit

Download the software here, run it and press "Install" or "Connect".

Microsoft™ Windows 32bit

Download the software here, run it and press "Install" or "Connect".

Linux

To install, cut and paste the following command in a root terminal.

To uninstall, cut and paste the following command as root.



Apple™ MacOS

Download the installer here, right click on it or press "control" and click on the file. Then select "Open" and follow the instructions.

\ No newline at end of file diff --git a/views/translations/default-min_fr.handlebars b/views/translations/default-min_fr.handlebars index d828a15e..0c1c28c3 100644 --- a/views/translations/default-min_fr.handlebars +++ b/views/translations/default-min_fr.handlebars @@ -1,4 +1,4 @@ -{{{title}}}
{{{title}}}
{{{title2}}}

{{{logoutControl}}}

 

{{{title}}}
{{{title}}}
{{{title2}}}

{{{logoutControl}}}

 

{{{title}}}
{{{title}}}
{{{title2}}}
\ No newline at end of file +{{{title}}}
{{{title}}}
{{{title2}}}
\ No newline at end of file diff --git a/views/translations/login-min_fr.handlebars b/views/translations/login-min_fr.handlebars index 54ec8fe4..2bd7a83f 100644 --- a/views/translations/login-min_fr.handlebars +++ b/views/translations/login-min_fr.handlebars @@ -1 +1 @@ -{{{title}}} - Login
{{{title}}}
{{{title2}}}

Bienvenue


\ No newline at end of file +{{{title}}} - Login
{{{title}}}
{{{title2}}}

Bienvenue


\ No newline at end of file diff --git a/views/translations/login-mobile-min_fr.handlebars b/views/translations/login-mobile-min_fr.handlebars index 68a5c00d..89528bde 100644 --- a/views/translations/login-mobile-min_fr.handlebars +++ b/views/translations/login-mobile-min_fr.handlebars @@ -1 +1 @@ -MeshCentral - Login
{{{title}}}
{{{title2}}}
\ No newline at end of file +MeshCentral - Login
{{{title}}}
{{{title2}}}
\ No newline at end of file diff --git a/views/translations/login-mobile_fr.handlebars b/views/translations/login-mobile_fr.handlebars index e6d78ba7..f81ce8b9 100644 --- a/views/translations/login-mobile_fr.handlebars +++ b/views/translations/login-mobile_fr.handlebars @@ -265,6 +265,8 @@