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.
This commit is contained in:
Ryan Blenis 2019-10-24 16:41:35 -04:00
parent 8e57eb5a23
commit 6432467bf6
3 changed files with 7 additions and 19 deletions

View File

@ -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:

View File

@ -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:

View File

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