Added a lot of the load-balancing support
Ylian Saint-Hilaire committed
Sep 13, 2017 at 11:25 UTC
fb5114399ffaa53c15101c819945ec5e0d60cd59
10 files changed
+2195
-105
agents/meshcore.js
+6
@@ -776,6 +776,12 @@ function createMeshCore(agent) {
776
}
777
break;
778
}
779
+ case 'location': {
780
+ getIpLocationData(function (location) {
781
+ sendConsoleText(objToString({ "action": "iplocation", "type": "publicip", "value": location }, 0, '.'));
782
+ });
783
+ break;
784
+ }
785
default: { // This is an unknown command, return an error message
786
response = 'Unknown command \"' + cmd + '\", type \"help\" for list of avaialble commands.';
787
break;
db.js
+13
@@ -18,6 +18,8 @@
18
module.exports.CreateDB = function (args, datapath) {
19
var obj = {};
20
obj.path = require('path');
21
+ obj.identifier = null;
22
+
23
if (args.mongodb) {
24
// Use MongoDB
25
obj.databaseType = 2;
@@ -35,6 +37,17 @@ module.exports.CreateDB = function (args, datapath) {
37
}
38
39
obj.SetupDatabase = function (func) {
40
+ // Check if the database unique identifier is present
41
+ // This is used to check that in server peering mode, everyone is using the same database.
42
+ obj.Get('DatabaseIdentifier', function (err, docs) {
43
+ if ((docs.length == 1) && (docs[0].value != null)) {
44
+ obj.identifier = docs[0].value;
45
+ } else {
46
+ obj.identifier = new Buffer(require('crypto').randomBytes(32), 'binary').toString('hex');
47
+ obj.Set({ _id: 'DatabaseIdentifier', value: obj.identifier });
48
+ }
49
+ });
50
+
51
// Load database schema version and check if we need to update
52
obj.Get('SchemaVersion', function (err, docs) {
53
var ver = 0;
meshagent.js
+2
-2
@@ -30,7 +30,7 @@ module.exports.CreateMeshAgent = function (parent, db, ws, req, args, domain) {
30
if (obj.remoteaddr.startsWith('::ffff:')) { obj.remoteaddr = obj.remoteaddr.substring(7); }
31
32
// Send a message to the mesh agent
33
- obj.send = function (data) { if (typeof data == 'string') { obj.ws.send(new Buffer(data, 'binary')); } else { obj.ws.send(data); } }
33
+ obj.send = function (data) { try { if (typeof data == 'string') { obj.ws.send(new Buffer(data, 'binary')); } else { obj.ws.send(data); } } catch (e) { } }
34
35
// Disconnect this agent
36
obj.close = function (arg) {
@@ -92,7 +92,7 @@ module.exports.CreateMeshAgent = function (parent, db, ws, req, args, domain) {
92
if (err) { return console.error(err); }
93
obj.agentUpdate = { oldHash: agenthash, ptr: 0, buf: new Buffer(agentUpdateBlockSize + 4), fd: fd };
94
95
- // We got the agent file open ont he server side, tell the agent we are sending an update starting with the SHA256 hash of the result
95
+ // We got the agent file open on the server side, tell the agent we are sending an update starting with the SHA256 hash of the result
96
//console.log("Agent update file open.");
97
obj.send(obj.common.ShortToStr(13) + obj.common.ShortToStr(0)); // Command 13, start mesh agent download
98
meshcentral.js
+160
-57
@@ -21,8 +21,8 @@ function CreateMeshCentralServer() {
21
obj.args = require('minimist')(process.argv.slice(2));
22
obj.common = require('./common.js');
23
obj.certificates = null;
24
- obj.connectivityByMesh = {}; // This object keeps a list of all connected CIRA and agents, by meshid->nodeid->value (value: 1 = Agent, 2 = CIRA, 4 = AmtDirect)
24
obj.connectivityByNode = {}; // This object keeps a list of all connected CIRA and agents, by nodeid->value (value: 1 = Agent, 2 = CIRA, 4 = AmtDirect)
25
+ obj.peerConnectivityByNode = {}; // This object keeps a list of all connected CIRA and agents of peers, by serverid->nodeid->value (value: 1 = Agent, 2 = CIRA, 4 = AmtDirect)
26
obj.debugLevel = 0;
27
obj.config = {}; // Configuration file
28
obj.dbconfig = {}; // Persistance values, loaded from database
@@ -36,6 +36,7 @@ function CreateMeshCentralServer() {
36
obj.multiServer = null;
37
obj.currentVer = null;
38
obj.maintenanceTimer = null;
39
+ obj.serverId = null;
40
41
// Create data and files folders if needed
42
try { obj.fs.mkdirSync(obj.datapath); } catch (e) { }
@@ -136,6 +137,7 @@ function CreateMeshCentralServer() {
137
} else {
138
if (error != null) {
139
// This is an un-expected restart
140
+ console.log(error);
141
console.log('ERROR: MeshCentral failed with critical error, check MeshErrors.txt. Restarting...');
142
setTimeout(function () { obj.launchChildServer(startLine); }, 1000);
143
}
@@ -289,6 +291,10 @@ function CreateMeshCentralServer() {
291
require('crypto').randomBytes(32, function (err, buf) {
292
// Setup Mesh Multi-Server if needed
293
obj.multiServer = require('./multiserver.js').CreateMultiServer(obj, obj.args);
294
+ if (obj.multiServer != null) {
295
+ obj.serverId = obj.config.peers.serverId;
296
+ for (var serverid in obj.config.peers.servers) { obj.peerConnectivityByNode[serverid] = {}; }
297
+ }
298
299
if (obj.args.secret) {
300
// This secret is used to encrypt HTTP session information, if specified, user it.
@@ -414,10 +420,54 @@ function CreateMeshCentralServer() {
420
}
421
}
422
}
417
- if ((fromPeerServer == undefined) && (obj.multiServer != null)) { obj.multiServer.DispatchEvent(ids, source, event); }
423
+ if ((fromPeerServer == undefined) && (obj.multiServer != null) && (event.nopeers != 1)) { obj.multiServer.DispatchEvent(ids, source, event); }
424
delete targets;
425
}
426
427
+ // Get the connection state of a node
428
+ obj.GetConnectivityState = function (nodeid) { return obj.connectivityByNode[nodeid]; }
429
+
430
+ // Update the connection state of a node when in multi-server mode
431
+ // Update obj.connectivityByNode using obj.peerConnectivityByNode for the list of nodes in argument
432
+ obj.UpdateConnectivityState = function (nodeids) {
433
+ for (var nodeid in nodeids) {
434
+ var meshid = null, state = null, oldConnectivity = 0, oldPowerState = 0, newConnectivity = 0, newPowerState = 0;
435
+ var oldState = obj.connectivityByNode[nodeid];
436
+ if (oldState != null) { meshid = oldState.meshid; oldConnectivity = oldState.connectivity; oldPowerState = oldState.powerState; }
437
+ for (serverid in obj.peerConnectivityByNode) {
438
+ var peerState = obj.peerConnectivityByNode[serverid][nodeid];
439
+ if (peerState != null) {
440
+ if (state == null) {
441
+ // Copy the state
442
+ state = {};
443
+ newConnectivity = state.connectivity = peerState.connectivity;
444
+ newPowerState = state.powerState = peerState.powerState;
445
+ meshid = state.meshid = peerState.meshid;
446
+ //if (peerState.agentPower) { state.agentPower = peerState.agentPower; }
447
+ //if (peerState.ciraPower) { state.ciraPower = peerState.ciraPower; }
448
+ //if (peerState.amtPower) { state.amtPower = peerState.amtPower; }
449
+ } else {
450
+ // Merge the state
451
+ state.connectivity |= peerState.connectivity;
452
+ newConnectivity = state.connectivity;
453
+ if ((peerState.powerState != 0) && ((state.powerState == 0) || (peerState.powerState < state.powerState))) { newPowerState = state.powerState = peerState.powerState; }
454
+ meshid = state.meshid = peerState.meshid;
455
+ //if (peerState.agentPower) { state.agentPower = peerState.agentPower; }
456
+ //if (peerState.ciraPower) { state.ciraPower = peerState.ciraPower; }
457
+ //if (peerState.amtPower) { state.amtPower = peerState.amtPower; }
458
+ }
459
+ }
460
+ }
461
+ obj.connectivityByNode[nodeid] = state;
462
+
463
+ //console.log('xx', nodeid, meshid, newConnectivity, oldPowerState, newPowerState, oldPowerState);
464
+
465
+ // Event any changes on this server only
466
+ if ((newConnectivity != oldPowerState) || (newPowerState != oldPowerState)) {
467
+ obj.DispatchEvent(['*', meshid], obj, { action: 'nodeconnect', meshid: meshid, nodeid: nodeid, conn: newConnectivity, pwr: newPowerState, nolog: 1, nopeers: 1 });
468
+ }
469
+ }
470
+ }
471
472
// Set the connectivity state of a node and setup the server so that messages can be routed correctly.
473
// meshId: mesh identifier of format mesh/domain/meshidhex
@@ -427,79 +477,132 @@ function CreateMeshCentralServer() {
477
// powerState: Value, 0 = Unknown, 1 = S0 power on, 2 = S1 Sleep, 3 = S2 Sleep, 4 = S3 Sleep, 5 = S4 Hibernate, 6 = S5 Soft-Off, 7 = Present
478
var connectTypeStrings = ['', 'MeshAgent', 'Intel AMT CIRA', '', 'Intel AMT local'];
479
var powerStateStrings = ['Unknown', 'Powered', 'Sleep', 'Sleep', 'Deep Sleep', 'Hibernating', 'Soft-Off', 'Present'];
430
- obj.SetConnectivityState = function (meshid, nodeid, connectTime, connectType, powerState) {
431
- //console.log('SetConnectivity for ' + nodeid.substring(0, 16) + ', Type: ' + connectTypeStrings[connectType] + ', Power: ' + powerStateStrings[powerState]);
432
-
433
- // Change the node connection state
434
- var eventConnectChange = 0;
435
- var state = obj.connectivityByNode[nodeid];
436
- if (state) {
437
- // Change the connection in the node and mesh state lists
438
- if ((state.connectivity & connectType) == 0) {
439
- state.connectivity |= connectType;
480
+ obj.SetConnectivityState = function (meshid, nodeid, connectTime, connectType, powerState, serverid) {
481
+ //console.log('SetConnectivity for ' + nodeid.substring(0, 16) + ', Type: ' + connectTypeStrings[connectType] + ', Power: ' + powerStateStrings[powerState] + (serverid == null ? ('') : (', ServerId: ' + serverid)));
482
+ if ((serverid == null) && (obj.multiServer != null)) { obj.multiServer.DispatchMessage({ action: 'SetConnectivityState', meshid: meshid, nodeid: nodeid, connectTime: connectTime, connectType: connectType, powerState: powerState }); }
483
+
484
+ if (obj.multiServer == null) {
485
+ // Single server mode
486
+
487
+ // Change the node connection state
488
+ var eventConnectChange = 0;
489
+ var state = obj.connectivityByNode[nodeid];
490
+ if (state) {
491
+ // Change the connection in the node and mesh state lists
492
+ if ((state.connectivity & connectType) == 0) { state.connectivity |= connectType; eventConnectChange = 1; }
493
+ state.meshid = meshid;
494
+ } else {
495
+ // Add the connection to the node and mesh state list
496
+ obj.connectivityByNode[nodeid] = state = { connectivity: connectType, meshid: meshid };
497
+ eventConnectChange = 1;
498
+ }
499
+
500
+ // Set node power state
501
+ if (connectType == 1) { state.agentPower = powerState; } else if (connectType == 2) { state.ciraPower = powerState; } else if (connectType == 4) { state.amtPower = powerState; }
502
+ var powerState = 0, oldPowerState = state.powerState;
503
+ if ((state.connectivity & 1) != 0) { powerState = state.agentPower; } else if ((state.connectivity & 2) != 0) { powerState = state.ciraPower; } else if ((state.connectivity & 4) != 0) { powerState = state.amtPower; }
504
+ if ((state.powerState == undefined) || (state.powerState != powerState)) {
505
+ state.powerState = powerState;
506
eventConnectChange = 1;
507
+
508
+ // Set new power state in database
509
+ obj.db.file.insert({ type: 'power', time: connectTime, node: nodeid, power: powerState, oldPower: oldPowerState });
510
}
511
+
512
+ // Event the node connection change
513
+ if (eventConnectChange == 1) { obj.DispatchEvent(['*', meshid], obj, { action: 'nodeconnect', meshid: meshid, nodeid: nodeid, conn: state.connectivity, pwr: state.powerState, ct: connectTime, nolog: 1, nopeers: 1 }); }
514
} else {
443
- // Add the connection to the node and mesh state list
444
- obj.connectivityByNode[nodeid] = state = { connectivity: connectType };
445
- if (!obj.connectivityByMesh[meshid]) { obj.connectivityByMesh[meshid] = {}; }
446
- obj.connectivityByMesh[meshid][nodeid] = state;
447
- eventConnectChange = 1;
448
- }
515
+ // Multi server mode
516
+
517
+ // Change the node connection state
518
+ if (serverid == null) { serverid = obj.serverId; }
519
+ if (obj.peerConnectivityByNode[serverid] == null) return; // Guard against unknown serverid's
520
+ var state = obj.peerConnectivityByNode[serverid][nodeid];
521
+ if (state) {
522
+ // Change the connection in the node and mesh state lists
523
+ if ((state.connectivity & connectType) == 0) { state.connectivity |= connectType; }
524
+ state.meshid = meshid;
525
+ } else {
526
+ // Add the connection to the node and mesh state list
527
+ obj.peerConnectivityByNode[serverid][nodeid] = state = { connectivity: connectType, meshid: meshid };
528
+ }
529
450
- // Set node power state
451
- if (connectType == 1) { state.agentPower = powerState; } else if (connectType == 2) { state.ciraPower = powerState; } else if (connectType == 4) { state.amtPower = powerState; }
452
- var powerState = 0, oldPowerState = state.powerState;
453
- if ((state.connectivity & 1) != 0) { powerState = state.agentPower; } else if ((state.connectivity & 2) != 0) { powerState = state.ciraPower; } else if ((state.connectivity & 4) != 0) { powerState = state.amtPower; }
454
- if ((state.powerState == undefined) || (state.powerState != powerState)) {
455
- state.powerState = powerState;
456
- eventConnectChange = 1;
530
+ // Set node power state
531
+ if (connectType == 1) { state.agentPower = powerState; } else if (connectType == 2) { state.ciraPower = powerState; } else if (connectType == 4) { state.amtPower = powerState; }
532
+ var powerState = 0;
533
+ if ((state.connectivity & 1) != 0) { powerState = state.agentPower; } else if ((state.connectivity & 2) != 0) { powerState = state.ciraPower; } else if ((state.connectivity & 4) != 0) { powerState = state.amtPower; }
534
+ if ((state.powerState == undefined) || (state.powerState != powerState)) { state.powerState = powerState; }
535
458
- // Set new power state in database
459
- obj.db.file.insert({ type: 'power', time: connectTime, node: nodeid, power: powerState, oldPower: oldPowerState });
536
+ // Update the combined node state
537
+ var x = {}; x[nodeid] = 1;
538
+ obj.UpdateConnectivityState(x);
539
}
461
-
462
- // Event the node connection change
463
- if (eventConnectChange == 1) { obj.DispatchEvent(['*', meshid], obj, { action: 'nodeconnect', meshid: meshid, nodeid: nodeid, conn: state.connectivity, pwr: state.powerState, ct: connectTime, nolog: 1 }); }
540
}
541
542
// Clear the connectivity state of a node and setup the server so that messages can be routed correctly.
543
// meshId: mesh identifier of format mesh/domain/meshidhex
544
// nodeId: node identifier of format node/domain/nodeidhex
545
// connectType: Bitmask, 1 = MeshAgent, 2 = Intel AMT CIRA, 3 = Intel AMT local.
470
- obj.ClearConnectivityState = function (meshid, nodeid, connectType) {
471
- //console.log('ClearConnectivity for ' + nodeid.substring(0, 16) + ', Type: ' + connectTypeStrings[connectType]);
546
+ obj.ClearConnectivityState = function (meshid, nodeid, connectType, serverid) {
547
+ //console.log('ClearConnectivity for ' + nodeid.substring(0, 16) + ', Type: ' + connectTypeStrings[connectType] + (serverid == null?(''):(', ServerId: ' + serverid)));
548
+ if ((serverid == null) && (obj.multiServer != null)) { obj.multiServer.DispatchMessage({ action: 'ClearConnectivityState', meshid: meshid, nodeid: nodeid, connectType: connectType }); }
549
473
- // Remove the agent connection from the nodes connection list
474
- var state = obj.connectivityByNode[nodeid];
475
- if (state == undefined) return;
550
+ if (obj.multiServer == null) {
551
+ // Single server mode
552
477
- if ((state.connectivity & connectType) != 0) {
478
- state.connectivity -= connectType;
553
+ // Remove the agent connection from the nodes connection list
554
+ var state = obj.connectivityByNode[nodeid];
555
+ if (state == undefined) return;
556
480
- // If the node is completely disconnected, clean it up completely
481
- if (state.connectivity == 0) {
482
- delete obj.connectivityByNode[nodeid];
483
- delete obj.connectivityByMesh[meshid][nodeid];
484
- state.powerState = 0;
557
+ if ((state.connectivity & connectType) != 0) {
558
+ state.connectivity -= connectType;
559
+
560
+ // If the node is completely disconnected, clean it up completely
561
+ if (state.connectivity == 0) { delete obj.connectivityByNode[nodeid]; state.powerState = 0; }
562
+ eventConnectChange = 1;
563
}
486
- eventConnectChange = 1;
487
- }
564
489
- // Clear node power state
490
- if (connectType == 1) { state.agentPower = 0; } else if (connectType == 2) { state.ciraPower = 0; } else if (connectType == 4) { state.amtPower = 0; }
491
- var powerState = 0, oldPowerState = state.powerState;
492
- if ((state.connectivity & 1) != 0) { powerState = state.agentPower; } else if ((state.connectivity & 2) != 0) { powerState = state.ciraPower; } else if ((state.connectivity & 4) != 0) { powerState = state.amtPower; }
493
- if ((state.powerState == undefined) || (state.powerState != powerState)) {
494
- state.powerState = powerState;
495
- eventConnectChange = 1;
565
+ // Clear node power state
566
+ if (connectType == 1) { state.agentPower = 0; } else if (connectType == 2) { state.ciraPower = 0; } else if (connectType == 4) { state.amtPower = 0; }
567
+ var powerState = 0, oldPowerState = state.powerState;
568
+ if ((state.connectivity & 1) != 0) { powerState = state.agentPower; } else if ((state.connectivity & 2) != 0) { powerState = state.ciraPower; } else if ((state.connectivity & 4) != 0) { powerState = state.amtPower; }
569
+ if ((state.powerState == undefined) || (state.powerState != powerState)) {
570
+ state.powerState = powerState;
571
+ eventConnectChange = 1;
572
497
- // Set new power state in database
498
- obj.db.file.insert({ type: 'power', time: Date.now(), node: nodeid, power: powerState, oldPower: oldPowerState });
499
- }
573
+ // Set new power state in database
574
+ obj.db.file.insert({ type: 'power', time: Date.now(), node: nodeid, power: powerState, oldPower: oldPowerState });
575
+ }
576
501
- // Event the node connection change
502
- if (eventConnectChange == 1) { obj.DispatchEvent(['*', meshid], obj, { action: 'nodeconnect', meshid: meshid, nodeid: nodeid, conn: state.connectivity, pwr: state.powerState, nolog: 1 }); }
577
+ // Event the node connection change
578
+ if (eventConnectChange == 1) { obj.DispatchEvent(['*', meshid], obj, { action: 'nodeconnect', meshid: meshid, nodeid: nodeid, conn: state.connectivity, pwr: state.powerState, nolog: 1, nopeers: 1 }); }
579
+ } else {
580
+ // Multi server mode
581
+
582
+ // Remove the agent connection from the nodes connection list
583
+ if (serverid == null) { serverid = obj.serverId; }
584
+ if (obj.peerConnectivityByNode[serverid] == null) return; // Guard against unknown serverid's
585
+ var state = obj.peerConnectivityByNode[serverid][nodeid];
586
+ if (state == undefined) return;
587
+
588
+ // If existing state exist, remove this connection
589
+ if ((state.connectivity & connectType) != 0) {
590
+ state.connectivity -= connectType; // Remove one connectivity mode
591
+
592
+ // If the node is completely disconnected, clean it up completely
593
+ if (state.connectivity == 0) { delete obj.peerConnectivityByNode[serverid][nodeid]; state.powerState = 0; }
594
+ }
595
+
596
+ // Clear node power state
597
+ if (connectType == 1) { state.agentPower = 0; } else if (connectType == 2) { state.ciraPower = 0; } else if (connectType == 4) { state.amtPower = 0; }
598
+ var powerState = 0;
599
+ if ((state.connectivity & 1) != 0) { powerState = state.agentPower; } else if ((state.connectivity & 2) != 0) { powerState = state.ciraPower; } else if ((state.connectivity & 4) != 0) { powerState = state.amtPower; }
600
+ if ((state.powerState == undefined) || (state.powerState != powerState)) { state.powerState = powerState; }
601
+
602
+ // Update the combined node state
603
+ var x = {}; x[nodeid] = 1;
604
+ obj.UpdateConnectivityState(x);
605
+ }
606
}
607
608
// Update the default mesh core
@@ -689,7 +792,7 @@ function InstallModule(modulename, func, tag1, tag2) {
792
process.on('SIGINT', function () { if (meshserver != null) { meshserver.Stop(); meshserver = null; } console.log('Server Ctrl-C exit...'); process.exit(); });
793
794
// Build the list of required modules
692
-var modules = ['nedb', 'https', 'unzip', 'xmldom', 'express', 'mongojs', 'archiver', 'minimist', 'multiparty', 'node-forge', 'express-ws', 'compression', 'body-parser', 'connect-redis', 'express-session', 'express-handlebars'];
795
+var modules = ['nedb', 'https', 'unzip', 'xmldom', 'express', 'mongojs', 'archiver', 'websocket', 'minimist', 'multiparty', 'node-forge', 'express-ws', 'compression', 'body-parser', 'connect-redis', 'express-session', 'express-handlebars'];
796
if (require('os').platform() == 'win32') { modules.push("node-windows"); }
797
798
// Run as a command line, if we are not using service arguments, don't need to install the service package.
mesherrors.txt
+1544
@@ -251,3 +251,1547 @@ Error: ENOENT: no such file or directory, stat 'C:\Users\Default.DESKTOP-M9I88C9
251
at Error (native)
252
253
254
+-------- 9/11/2017, 4:02:32 PM --------
255
+
256
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:335
257
+ obj.peerServers[serverId] = CreatePeerServer(obj, serverId, url);
258
+ ^
259
+
260
+ReferenceError: CreatePeerServer is not defined
261
+ at Object.obj.ConnectToPeer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:335:37)
262
+ at Object.obj.ConnectToPeers (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:328:21)
263
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:360:9)
264
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:291:71)
265
+
266
+
267
+-------- 9/11/2017, 4:02:34 PM --------
268
+
269
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:335
270
+ obj.peerServers[serverId] = CreatePeerServer(obj, serverId, url);
271
+ ^
272
+
273
+ReferenceError: CreatePeerServer is not defined
274
+ at Object.obj.ConnectToPeer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:335:37)
275
+ at Object.obj.ConnectToPeers (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:328:21)
276
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:360:9)
277
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:291:71)
278
+
279
+
280
+-------- 9/11/2017, 4:03:00 PM --------
281
+
282
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:20
283
+ obj.db = db;
284
+ ^
285
+
286
+ReferenceError: db is not defined
287
+ at Object.obj.CreatePeerServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:20:18)
288
+ at Object.obj.ConnectToPeer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:335:41)
289
+ at Object.obj.ConnectToPeers (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:328:21)
290
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:360:9)
291
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:291:71)
292
+
293
+
294
+-------- 9/11/2017, 4:08:08 PM --------
295
+
296
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:22
297
+ obj.settings = settings;
298
+ ^
299
+
300
+ReferenceError: settings is not defined
301
+ at Object.obj.CreatePeerServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:22:24)
302
+ at Object.obj.ConnectToPeer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:255:41)
303
+ at Object.obj.ConnectToPeers (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:248:21)
304
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:280:9)
305
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:291:71)
306
+
307
+
308
+-------- 9/11/2017, 4:08:10 PM --------
309
+
310
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:22
311
+ obj.settings = settings;
312
+ ^
313
+
314
+ReferenceError: settings is not defined
315
+ at Object.obj.CreatePeerServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:22:24)
316
+ at Object.obj.ConnectToPeer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:255:41)
317
+ at Object.obj.ConnectToPeers (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:248:21)
318
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:280:9)
319
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:291:71)
320
+
321
+
322
+-------- 9/11/2017, 4:08:55 PM --------
323
+
324
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:22
325
+ obj.settings = settings;
326
+ ^
327
+
328
+ReferenceError: settings is not defined
329
+ at Object.obj.CreatePeerServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:22:24)
330
+ at Object.obj.ConnectToPeer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:255:41)
331
+ at Object.obj.ConnectToPeers (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:248:21)
332
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:280:9)
333
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:292:71)
334
+
335
+
336
+-------- 9/11/2017, 4:09:38 PM --------
337
+
338
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:22
339
+ obj.certificates = certificates;
340
+ ^
341
+
342
+ReferenceError: certificates is not defined
343
+ at Object.obj.CreatePeerServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:22:28)
344
+ at Object.obj.ConnectToPeer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:254:41)
345
+ at Object.obj.ConnectToPeers (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:247:21)
346
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:279:9)
347
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:292:71)
348
+
349
+
350
+-------- 9/11/2017, 4:10:15 PM --------
351
+
352
+module.js:440
353
+ throw err;
354
+ ^
355
+
356
+Error: Cannot find module 'websocket'
357
+ at Function.Module._resolveFilename (module.js:438:15)
358
+ at Function.Module._load (module.js:386:25)
359
+ at Module.require (module.js:466:17)
360
+ at require (internal/module.js:20:19)
361
+ at connect (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:44:31)
362
+ at Object.obj.CreatePeerServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:185:9)
363
+ at Object.obj.ConnectToPeer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:254:41)
364
+ at Object.obj.ConnectToPeers (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:247:21)
365
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:279:9)
366
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:292:71)
367
+
368
+
369
+-------- 9/11/2017, 4:59:13 PM --------
370
+
371
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:541
372
+});
373
+^
374
+SyntaxError: Unexpected token }
375
+ at exports.runInThisContext (vm.js:53:16)
376
+ at Module._compile (module.js:511:25)
377
+ at Object.Module._extensions..js (module.js:550:10)
378
+ at Module.load (module.js:456:32)
379
+ at tryModuleLoad (module.js:415:12)
380
+ at Function.Module._load (module.js:407:3)
381
+ at Module.require (module.js:466:17)
382
+ at require (internal/module.js:20:19)
383
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:292:43)
384
+
385
+
386
+-------- 9/11/2017, 4:59:15 PM --------
387
+
388
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:541
389
+});
390
+^
391
+SyntaxError: Unexpected token }
392
+ at exports.runInThisContext (vm.js:53:16)
393
+ at Module._compile (module.js:511:25)
394
+ at Object.Module._extensions..js (module.js:550:10)
395
+ at Module.load (module.js:456:32)
396
+ at tryModuleLoad (module.js:415:12)
397
+ at Function.Module._load (module.js:407:3)
398
+ at Module.require (module.js:466:17)
399
+ at require (internal/module.js:20:19)
400
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:292:43)
401
+
402
+
403
+-------- 9/11/2017, 5:02:48 PM --------
404
+
405
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:239
406
+ if (obj.parent.webCertificatHash != msg.substring(2, 34)) { obj.close(); return; }
407
+ ^
408
+
409
+TypeError: Cannot read property 'webCertificatHash' of undefined
410
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:239:35)
411
+ at emitTwo (events.js:106:13)
412
+ at WebSocket.emit (events.js:191:7)
413
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
414
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
415
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
416
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
417
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
418
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
419
+ at Receiver.expectHandler (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:493:33)
420
+
421
+
422
+-------- 9/11/2017, 5:08:56 PM --------
423
+
424
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:247
425
+ if (obj.parent.webCertificatHash != msg.substring(2, 34)) { obj.close(); return; }
426
+ ^
427
+
428
+TypeError: Cannot read property 'webCertificatHash' of undefined
429
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:247:35)
430
+ at emitTwo (events.js:106:13)
431
+ at WebSocket.emit (events.js:191:7)
432
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
433
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
434
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
435
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
436
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
437
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
438
+ at Receiver.expectHandler (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:493:33)
439
+
440
+
441
+-------- 9/11/2017, 5:10:05 PM --------
442
+
443
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:247
444
+ if (obj.parent.webCertificatHash != msg.substring(2, 34)) { obj.close(); return; }
445
+ ^
446
+
447
+TypeError: Cannot read property 'webCertificatHash' of undefined
448
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:247:35)
449
+ at emitTwo (events.js:106:13)
450
+ at WebSocket.emit (events.js:191:7)
451
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
452
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
453
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
454
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
455
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
456
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
457
+ at Receiver.expectHandler (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:493:33)
458
+
459
+
460
+-------- 9/11/2017, 5:10:30 PM --------
461
+
462
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:213
463
+ if (obj.parent.wsagents[obj.dbNodeKey] == obj) {
464
+ ^
465
+
466
+TypeError: Cannot read property 'wsagents' of undefined
467
+ at Object.obj.close (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:213:27)
468
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:247:78)
469
+ at emitTwo (events.js:106:13)
470
+ at WebSocket.emit (events.js:191:7)
471
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
472
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
473
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
474
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
475
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
476
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
477
+
478
+
479
+-------- 9/11/2017, 5:11:05 PM --------
480
+
481
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:213
482
+ if (obj.parent.wsagents[obj.dbNodeKey] == obj) {
483
+ ^
484
+
485
+TypeError: Cannot read property 'wsagents' of undefined
486
+ at Object.obj.close (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:213:27)
487
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:247:78)
488
+ at emitTwo (events.js:106:13)
489
+ at WebSocket.emit (events.js:191:7)
490
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
491
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
492
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
493
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
494
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
495
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
496
+
497
+
498
+-------- 9/11/2017, 5:11:56 PM --------
499
+
500
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:214
501
+ if (obj.parent.wsagents[obj.dbNodeKey] == obj) {
502
+ ^
503
+
504
+TypeError: Cannot read property 'wsagents' of undefined
505
+ at Object.obj.close (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:214:27)
506
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:248:78)
507
+ at emitTwo (events.js:106:13)
508
+ at WebSocket.emit (events.js:191:7)
509
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
510
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
511
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
512
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
513
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
514
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
515
+
516
+
517
+-------- 9/11/2017, 5:12:29 PM --------
518
+
519
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:214
520
+ if (obj.parent.wsagents[obj.dbNodeKey] == obj) {
521
+ ^
522
+
523
+TypeError: Cannot read property 'wsagents' of undefined
524
+ at Object.obj.close (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:214:27)
525
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:248:78)
526
+ at emitTwo (events.js:106:13)
527
+ at WebSocket.emit (events.js:191:7)
528
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
529
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
530
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
531
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
532
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
533
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
534
+
535
+
536
+-------- 9/11/2017, 5:12:51 PM --------
537
+
538
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:214
539
+ if (obj.parent.wsagents[obj.dbNodeKey] == obj) {
540
+ ^
541
+
542
+TypeError: Cannot read property 'wsagents' of undefined
543
+ at Object.obj.close (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:214:27)
544
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:248:78)
545
+ at emitTwo (events.js:106:13)
546
+ at WebSocket.emit (events.js:191:7)
547
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
548
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
549
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
550
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
551
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
552
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
553
+
554
+
555
+-------- 9/11/2017, 5:16:57 PM --------
556
+
557
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:214
558
+ if (obj.parent.wsagents[obj.dbNodeKey] == obj) {
559
+ ^
560
+
561
+TypeError: Cannot read property 'wsagents' of undefined
562
+ at Object.obj.close (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:214:27)
563
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:248:78)
564
+ at emitTwo (events.js:106:13)
565
+ at WebSocket.emit (events.js:191:7)
566
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
567
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
568
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
569
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
570
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
571
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
572
+
573
+
574
+-------- 9/11/2017, 5:18:01 PM --------
575
+
576
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:311
577
+ ws.on('close', function (req) { console.log('InPeer: Close'); obj.parent.parent.debug(1, 'InPeer disconnect ' + obj.nodeid + ' (' + obj.remoteaddr + ')'); obj.close(0); });
578
+ ^
579
+
580
+TypeError: Cannot read property 'parent' of undefined
581
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:311:81)
582
+ at emitTwo (events.js:111:20)
583
+ at WebSocket.emit (events.js:191:7)
584
+ at WebSocket.cleanupWebsocketResources (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:950:8)
585
+ at emitNone (events.js:91:20)
586
+ at TLSSocket.emit (events.js:185:7)
587
+ at endReadableNT (_stream_readable.js:926:12)
588
+ at _combinedTickCallback (internal/process/next_tick.js:74:11)
589
+ at process._tickCallback (internal/process/next_tick.js:98:9)
590
+
591
+
592
+-------- 9/11/2017, 5:18:41 PM --------
593
+
594
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:255
595
+ var privateKey = obj.forge.pki.privateKeyFromPem(obj.parent.certificates.agent.key);
596
+ ^
597
+
598
+TypeError: Cannot read property 'agent' of undefined
599
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:255:93)
600
+ at emitTwo (events.js:106:13)
601
+ at WebSocket.emit (events.js:191:7)
602
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
603
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
604
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
605
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
606
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
607
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
608
+ at Receiver.expectHandler (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:493:33)
609
+
610
+
611
+-------- 9/11/2017, 5:19:16 PM --------
612
+
613
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:262
614
+ obj.send(obj.common.ShortToStr(2) + obj.common.ShortToStr(parent.agentCertificatAsn1.length) + parent.agentCertificatAsn1 + privateKey.sign(md)); // Command 2, certificate + signature
615
+ ^
616
+
617
+TypeError: Cannot read property 'length' of undefined
618
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:262:105)
619
+ at emitTwo (events.js:106:13)
620
+ at WebSocket.emit (events.js:191:7)
621
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
622
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
623
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
624
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
625
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
626
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
627
+ at Receiver.expectHandler (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:493:33)
628
+
629
+
630
+-------- 9/11/2017, 5:21:07 PM --------
631
+
632
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:264
633
+ obj.send(obj.common.ShortToStr(2) + obj.common.ShortToStr(parent.agentCertificatAsn1.length) + parent.agentCertificatAsn1 + privateKey.sign(md)); // Command 2, certificate + signature
634
+ ^
635
+
636
+TypeError: Cannot read property 'length' of undefined
637
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:264:105)
638
+ at emitTwo (events.js:106:13)
639
+ at WebSocket.emit (events.js:191:7)
640
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
641
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
642
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
643
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
644
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
645
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
646
+ at Receiver.expectHandler (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:493:33)
647
+
648
+
649
+-------- 9/11/2017, 5:21:54 PM --------
650
+
651
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
652
+ var len = msg.length;
653
+ ^
654
+
655
+TypeError: Cannot read property 'length' of undefined
656
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
657
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:117:36)
658
+ at emitOne (events.js:96:13)
659
+ at WebSocketConnection.emit (events.js:188:7)
660
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
661
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
662
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
663
+ at process._tickCallback (internal/process/next_tick.js:98:9)
664
+
665
+
666
+-------- 9/11/2017, 5:26:34 PM --------
667
+
668
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
669
+ var len = msg.length;
670
+ ^
671
+
672
+TypeError: Cannot read property 'length' of undefined
673
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
674
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:117:36)
675
+ at emitOne (events.js:96:13)
676
+ at WebSocketConnection.emit (events.js:188:7)
677
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
678
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
679
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
680
+ at process._tickCallback (internal/process/next_tick.js:98:9)
681
+
682
+
683
+-------- 9/11/2017, 5:28:45 PM --------
684
+
685
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
686
+ var len = msg.length;
687
+ ^
688
+
689
+TypeError: Cannot read property 'length' of undefined
690
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
691
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:118:36)
692
+ at emitOne (events.js:96:13)
693
+ at WebSocketConnection.emit (events.js:188:7)
694
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
695
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
696
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
697
+ at process._tickCallback (internal/process/next_tick.js:98:9)
698
+
699
+
700
+-------- 9/11/2017, 5:30:02 PM --------
701
+
702
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
703
+ var len = msg.length;
704
+ ^
705
+
706
+TypeError: Cannot read property 'length' of undefined
707
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
708
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:119:36)
709
+ at emitOne (events.js:96:13)
710
+ at WebSocketConnection.emit (events.js:188:7)
711
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
712
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
713
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
714
+ at process._tickCallback (internal/process/next_tick.js:98:9)
715
+
716
+
717
+-------- 9/11/2017, 5:30:40 PM --------
718
+
719
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
720
+ var len = msg.length;
721
+ ^
722
+
723
+TypeError: Cannot read property 'length' of undefined
724
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
725
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:119:36)
726
+ at emitOne (events.js:96:13)
727
+ at WebSocketConnection.emit (events.js:188:7)
728
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
729
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
730
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
731
+ at process._tickCallback (internal/process/next_tick.js:98:9)
732
+
733
+
734
+-------- 9/11/2017, 5:31:57 PM --------
735
+
736
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
737
+ var len = msg.length;
738
+ ^
739
+
740
+TypeError: Cannot read property 'length' of undefined
741
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
742
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:118:36)
743
+ at emitOne (events.js:96:13)
744
+ at WebSocketConnection.emit (events.js:188:7)
745
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
746
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
747
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
748
+ at process._tickCallback (internal/process/next_tick.js:98:9)
749
+
750
+
751
+-------- 9/11/2017, 5:32:34 PM --------
752
+
753
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
754
+ var len = msg.length;
755
+ ^
756
+
757
+TypeError: Cannot read property 'length' of undefined
758
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
759
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:118:36)
760
+ at emitOne (events.js:96:13)
761
+ at WebSocketConnection.emit (events.js:188:7)
762
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
763
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
764
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
765
+ at process._tickCallback (internal/process/next_tick.js:98:9)
766
+
767
+
768
+-------- 9/11/2017, 5:32:37 PM --------
769
+
770
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
771
+ var len = msg.length;
772
+ ^
773
+
774
+TypeError: Cannot read property 'length' of undefined
775
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
776
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:118:36)
777
+ at emitOne (events.js:96:13)
778
+ at WebSocketConnection.emit (events.js:188:7)
779
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
780
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
781
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
782
+ at process._tickCallback (internal/process/next_tick.js:98:9)
783
+
784
+
785
+-------- 9/11/2017, 5:34:16 PM --------
786
+
787
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
788
+ var len = msg.length;
789
+ ^
790
+
791
+TypeError: Cannot read property 'length' of undefined
792
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
793
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:118:36)
794
+ at emitOne (events.js:96:13)
795
+ at WebSocketConnection.emit (events.js:188:7)
796
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
797
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
798
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
799
+ at process._tickCallback (internal/process/next_tick.js:98:9)
800
+
801
+
802
+-------- 9/11/2017, 5:34:19 PM --------
803
+
804
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
805
+ var len = msg.length;
806
+ ^
807
+
808
+TypeError: Cannot read property 'length' of undefined
809
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
810
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:118:36)
811
+ at emitOne (events.js:96:13)
812
+ at WebSocketConnection.emit (events.js:188:7)
813
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
814
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
815
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
816
+ at process._tickCallback (internal/process/next_tick.js:98:9)
817
+
818
+
819
+-------- 9/11/2017, 5:34:22 PM --------
820
+
821
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
822
+ var len = msg.length;
823
+ ^
824
+
825
+TypeError: Cannot read property 'length' of undefined
826
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
827
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:118:36)
828
+ at emitOne (events.js:96:13)
829
+ at WebSocketConnection.emit (events.js:188:7)
830
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
831
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
832
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
833
+ at process._tickCallback (internal/process/next_tick.js:98:9)
834
+
835
+
836
+-------- 9/11/2017, 5:34:25 PM --------
837
+
838
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
839
+ var len = msg.length;
840
+ ^
841
+
842
+TypeError: Cannot read property 'length' of undefined
843
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
844
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:118:36)
845
+ at emitOne (events.js:96:13)
846
+ at WebSocketConnection.emit (events.js:188:7)
847
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
848
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
849
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
850
+ at process._tickCallback (internal/process/next_tick.js:98:9)
851
+
852
+
853
+-------- 9/11/2017, 5:34:28 PM --------
854
+
855
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
856
+ var len = msg.length;
857
+ ^
858
+
859
+TypeError: Cannot read property 'length' of undefined
860
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
861
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:118:36)
862
+ at emitOne (events.js:96:13)
863
+ at WebSocketConnection.emit (events.js:188:7)
864
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
865
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
866
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
867
+ at process._tickCallback (internal/process/next_tick.js:98:9)
868
+
869
+
870
+-------- 9/11/2017, 5:34:31 PM --------
871
+
872
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
873
+ var len = msg.length;
874
+ ^
875
+
876
+TypeError: Cannot read property 'length' of undefined
877
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
878
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:118:36)
879
+ at emitOne (events.js:96:13)
880
+ at WebSocketConnection.emit (events.js:188:7)
881
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
882
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
883
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
884
+ at process._tickCallback (internal/process/next_tick.js:98:9)
885
+
886
+
887
+-------- 9/11/2017, 5:34:34 PM --------
888
+
889
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
890
+ var len = msg.length;
891
+ ^
892
+
893
+TypeError: Cannot read property 'length' of undefined
894
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
895
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:118:36)
896
+ at emitOne (events.js:96:13)
897
+ at WebSocketConnection.emit (events.js:188:7)
898
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
899
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
900
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
901
+ at process._tickCallback (internal/process/next_tick.js:98:9)
902
+
903
+
904
+-------- 9/11/2017, 5:34:37 PM --------
905
+
906
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
907
+ var len = msg.length;
908
+ ^
909
+
910
+TypeError: Cannot read property 'length' of undefined
911
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
912
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:118:36)
913
+ at emitOne (events.js:96:13)
914
+ at WebSocketConnection.emit (events.js:188:7)
915
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
916
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
917
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
918
+ at process._tickCallback (internal/process/next_tick.js:98:9)
919
+
920
+
921
+-------- 9/11/2017, 5:34:40 PM --------
922
+
923
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
924
+ var len = msg.length;
925
+ ^
926
+
927
+TypeError: Cannot read property 'length' of undefined
928
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
929
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:118:36)
930
+ at emitOne (events.js:96:13)
931
+ at WebSocketConnection.emit (events.js:188:7)
932
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
933
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
934
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
935
+ at process._tickCallback (internal/process/next_tick.js:98:9)
936
+
937
+
938
+-------- 9/11/2017, 5:39:14 PM --------
939
+
940
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
941
+ var len = msg.length;
942
+ ^
943
+
944
+TypeError: Cannot read property 'length' of undefined
945
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
946
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:119:36)
947
+ at emitOne (events.js:96:13)
948
+ at WebSocketConnection.emit (events.js:188:7)
949
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
950
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
951
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
952
+ at process._tickCallback (internal/process/next_tick.js:98:9)
953
+
954
+
955
+-------- 9/11/2017, 5:39:35 PM --------
956
+
957
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
958
+ var len = msg.length;
959
+ ^
960
+
961
+TypeError: Cannot read property 'length' of undefined
962
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
963
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:119:36)
964
+ at emitOne (events.js:96:13)
965
+ at WebSocketConnection.emit (events.js:188:7)
966
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
967
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
968
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
969
+ at process._tickCallback (internal/process/next_tick.js:98:9)
970
+
971
+
972
+-------- 9/11/2017, 5:41:15 PM --------
973
+
974
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
975
+ var len = msg.length;
976
+ ^
977
+
978
+TypeError: Cannot read property 'length' of undefined
979
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
980
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:122:36)
981
+ at emitOne (events.js:96:13)
982
+ at WebSocketConnection.emit (events.js:188:7)
983
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
984
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
985
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
986
+ at process._tickCallback (internal/process/next_tick.js:98:9)
987
+
988
+
989
+-------- 9/11/2017, 5:43:54 PM --------
990
+
991
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
992
+ var len = msg.length;
993
+ ^
994
+
995
+TypeError: Cannot read property 'length' of undefined
996
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
997
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:120:36)
998
+ at emitOne (events.js:96:13)
999
+ at WebSocketConnection.emit (events.js:188:7)
1000
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
1001
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
1002
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
1003
+ at process._tickCallback (internal/process/next_tick.js:98:9)
1004
+
1005
+
1006
+-------- 9/11/2017, 5:44:22 PM --------
1007
+
1008
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
1009
+ var len = msg.length;
1010
+ ^
1011
+
1012
+TypeError: Cannot read property 'length' of undefined
1013
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
1014
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:120:36)
1015
+ at emitOne (events.js:96:13)
1016
+ at WebSocketConnection.emit (events.js:188:7)
1017
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
1018
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
1019
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
1020
+ at process._tickCallback (internal/process/next_tick.js:98:9)
1021
+
1022
+
1023
+-------- 9/11/2017, 5:46:50 PM --------
1024
+
1025
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
1026
+ var len = msg.length;
1027
+ ^
1028
+
1029
+TypeError: Cannot read property 'length' of undefined
1030
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
1031
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:120:36)
1032
+ at emitOne (events.js:96:13)
1033
+ at WebSocketConnection.emit (events.js:188:7)
1034
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
1035
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
1036
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
1037
+ at process._tickCallback (internal/process/next_tick.js:98:9)
1038
+
1039
+
1040
+-------- 9/11/2017, 5:48:17 PM --------
1041
+
1042
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
1043
+ var len = msg.length;
1044
+ ^
1045
+
1046
+TypeError: Cannot read property 'length' of undefined
1047
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
1048
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:120:36)
1049
+ at emitOne (events.js:96:13)
1050
+ at WebSocketConnection.emit (events.js:188:7)
1051
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
1052
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
1053
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
1054
+ at process._tickCallback (internal/process/next_tick.js:98:9)
1055
+
1056
+
1057
+-------- 9/11/2017, 5:49:30 PM --------
1058
+
1059
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:105
1060
+ obj.conn.send(obj.common.ShortToStr(2) + obj.common.ShortToStr(obj.agentRootCertificatAsn1.length) + obj.agentRootCertificatAsn1 + privateKey.sign(md)); // Command 3, signature
1061
+ ^
1062
+
1063
+TypeError: Cannot read property 'length' of undefined
1064
+ at WebSocketConnection.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:105:123)
1065
+ at emitOne (events.js:96:13)
1066
+ at WebSocketConnection.emit (events.js:188:7)
1067
+ at WebSocketConnection.processFrame (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:524:26)
1068
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\websocket\lib\WebSocketConnection.js:321:40
1069
+ at _combinedTickCallback (internal/process/next_tick.js:67:7)
1070
+ at process._tickCallback (internal/process/next_tick.js:98:9)
1071
+
1072
+
1073
+-------- 9/11/2017, 5:54:31 PM --------
1074
+
1075
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99
1076
+ var len = msg.length;
1077
+ ^
1078
+
1079
+TypeError: Cannot read property 'length' of undefined
1080
+ at Object.md.update (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\sha256.js:99:18)
1081
+ at processAgentSignature (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:435:16)
1082
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:264:29)
1083
+ at emitTwo (events.js:106:13)
1084
+ at WebSocket.emit (events.js:191:7)
1085
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
1086
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
1087
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
1088
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
1089
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
1090
+
1091
+
1092
+-------- 9/11/2017, 5:56:39 PM --------
1093
+
1094
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:442
1095
+ obj.dbNodeKey = 'node/' + domain.id + '/' + obj.nodeid;
1096
+ ^
1097
+
1098
+ReferenceError: domain is not defined
1099
+ at processAgentSignature (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:442:39)
1100
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:264:29)
1101
+ at emitTwo (events.js:106:13)
1102
+ at WebSocket.emit (events.js:191:7)
1103
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
1104
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
1105
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
1106
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
1107
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
1108
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
1109
+
1110
+
1111
+-------- 9/12/2017, 9:15:05 AM --------
1112
+
1113
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:13
1114
+ obj.ourOwnServerRootId = obj.forge.pki.getPublicKeyFingerprint(parent.certificates.root.publicKey, { encoding: 'hex', md: obj.forge.md.sha256.create() });
1115
+ ^
1116
+
1117
+TypeError: Cannot read property 'pki' of undefined
1118
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:13:39)
1119
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:292:71)
1120
+
1121
+
1122
+-------- 9/12/2017, 9:15:07 AM --------
1123
+
1124
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:13
1125
+ obj.ourOwnServerRootId = obj.forge.pki.getPublicKeyFingerprint(parent.certificates.root.publicKey, { encoding: 'hex', md: obj.forge.md.sha256.create() });
1126
+ ^
1127
+
1128
+TypeError: Cannot read property 'pki' of undefined
1129
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:13:39)
1130
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:292:71)
1131
+
1132
+
1133
+-------- 9/12/2017, 9:15:09 AM --------
1134
+
1135
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:13
1136
+ obj.ourOwnServerRootId = obj.forge.pki.getPublicKeyFingerprint(parent.certificates.root.publicKey, { encoding: 'hex', md: obj.forge.md.sha256.create() });
1137
+ ^
1138
+
1139
+TypeError: Cannot read property 'pki' of undefined
1140
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:13:39)
1141
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:292:71)
1142
+
1143
+
1144
+-------- 9/12/2017, 9:15:11 AM --------
1145
+
1146
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:13
1147
+ obj.ourOwnServerRootId = obj.forge.pki.getPublicKeyFingerprint(parent.certificates.root.publicKey, { encoding: 'hex', md: obj.forge.md.sha256.create() });
1148
+ ^
1149
+
1150
+TypeError: Cannot read property 'pki' of undefined
1151
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:13:39)
1152
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:292:71)
1153
+
1154
+
1155
+-------- 9/12/2017, 9:15:50 AM --------
1156
+
1157
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:13
1158
+ obj.ourOwnServerRootId = require('node-forge').pki.getPublicKeyFingerprint(parent.certificates.root.publicKey, { encoding: 'hex', md: obj.forge.md.sha256.create() });
1159
+ ^
1160
+
1161
+TypeError: Cannot read property 'md' of undefined
1162
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:13:148)
1163
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:292:71)
1164
+
1165
+
1166
+-------- 9/12/2017, 9:16:06 AM --------
1167
+
1168
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\rsa.js:1389
1169
+ _bnToBytes(key.n)),
1170
+ ^
1171
+
1172
+TypeError: Cannot read property 'n' of undefined
1173
+ at Object.pki.publicKeyToRSAPublicKey (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\rsa.js:1389:21)
1174
+ at Object.pki.getPublicKeyFingerprint (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\x509.js:818:28)
1175
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:14:44)
1176
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:292:71)
1177
+
1178
+
1179
+-------- 9/12/2017, 9:16:51 AM --------
1180
+
1181
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\rsa.js:1680
1182
+ var hex = b.toString(16);
1183
+ ^
1184
+
1185
+TypeError: Cannot read property 'toString' of undefined
1186
+ at _bnToBytes (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\rsa.js:1680:14)
1187
+ at Object.pki.publicKeyToRSAPublicKey (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\rsa.js:1389:7)
1188
+ at Object.pki.getPublicKeyFingerprint (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\x509.js:818:28)
1189
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:14:44)
1190
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:292:71)
1191
+
1192
+
1193
+-------- 9/12/2017, 9:18:37 AM --------
1194
+
1195
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\asn1.js:491
1196
+ throw error;
1197
+ ^
1198
+
1199
+Error: Too few bytes to read ASN.1 value.
1200
+ at _fromDer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\asn1.js:487:19)
1201
+ at _fromDer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\asn1.js:524:20)
1202
+ at Object.asn1.fromDer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\asn1.js:448:10)
1203
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:14:73)
1204
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:292:71)
1205
+
1206
+
1207
+-------- 9/12/2017, 9:23:44 AM --------
1208
+
1209
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:15
1210
+ obj.webCertificatHash = obj.parent.webserver.webCertificatHash;
1211
+ ^
1212
+
1213
+TypeError: Cannot read property 'webCertificatHash' of undefined
1214
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:15:49)
1215
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:292:71)
1216
+
1217
+
1218
+-------- 9/12/2017, 9:24:58 AM --------
1219
+
1220
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\asn1.js:491
1221
+ throw error;
1222
+ ^
1223
+
1224
+Error: Too few bytes to read ASN.1 value.
1225
+ at _fromDer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\asn1.js:487:19)
1226
+ at _fromDer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\asn1.js:524:20)
1227
+ at Object.asn1.fromDer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\asn1.js:448:10)
1228
+ at Object.module.exports.CreateMultiServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:14:73)
1229
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:292:71)
1230
+
1231
+
1232
+-------- 9/12/2017, 9:38:03 AM --------
1233
+
1234
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\db.js:45
1235
+ obj.identifier = new Buffer(obj.crypto.randomBytes(32), 'binary').toString('hex');
1236
+ ^
1237
+
1238
+TypeError: Cannot read property 'randomBytes' of undefined
1239
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\db.js:45:55
1240
+ at newArguments.(anonymous function) (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\nedb\lib\executor.js:29:17)
1241
+ at Cursor.execFn (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\nedb\lib\datastore.js:484:12)
1242
+ at callback (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\nedb\lib\cursor.js:126:19)
1243
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\nedb\lib\cursor.js:193:12
1244
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\nedb\lib\datastore.js:329:14
1245
+ at Object.async.eachSeries (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\async\lib\async.js:130:20)
1246
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\nedb\lib\datastore.js:323:11
1247
+ at fn (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\async\lib\async.js:582:34)
1248
+ at Immediate._onImmediate (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\async\lib\async.js:498:34)
1249
+
1250
+
1251
+-------- 9/12/2017, 9:58:55 AM --------
1252
+
1253
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\rsa.js:544
1254
+ throw new Error('Encrypted message is invalid.');
1255
+ ^
1256
+
1257
+Error: Encrypted message is invalid.
1258
+ at Object.pki.rsa.decrypt (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\rsa.js:544:11)
1259
+ at Object.key.verify (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\node-forge\js\rsa.js:1070:22)
1260
+ at processAgentSignature (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:437:47)
1261
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:263:29)
1262
+ at emitTwo (events.js:106:13)
1263
+ at WebSocket.emit (events.js:191:7)
1264
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
1265
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
1266
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
1267
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
1268
+
1269
+
1270
+-------- 9/12/2017, 10:28:53 AM --------
1271
+
1272
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:280
1273
+ completeAgentConnection();
1274
+ ^
1275
+
1276
+ReferenceError: completeAgentConnection is not defined
1277
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:280:21)
1278
+ at emitTwo (events.js:106:13)
1279
+ at WebSocket.emit (events.js:191:7)
1280
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
1281
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
1282
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
1283
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
1284
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
1285
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
1286
+ at Receiver.expectHandler (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:493:33)
1287
+
1288
+
1289
+-------- 9/12/2017, 10:28:56 AM --------
1290
+
1291
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:280
1292
+ completeAgentConnection();
1293
+ ^
1294
+
1295
+ReferenceError: completeAgentConnection is not defined
1296
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:280:21)
1297
+ at emitTwo (events.js:106:13)
1298
+ at WebSocket.emit (events.js:191:7)
1299
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
1300
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
1301
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
1302
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
1303
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
1304
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
1305
+ at Receiver.expectHandler (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:493:33)
1306
+
1307
+
1308
+-------- 9/12/2017, 10:35:18 AM --------
1309
+
1310
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:263
1311
+ if (processAgentSignature(obj.unauthsign) == false) { disonnect(); return; } else { completeAgentConnection(); }
1312
+ ^
1313
+
1314
+ReferenceError: completeAgentConnection is not defined
1315
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:263:109)
1316
+ at emitTwo (events.js:106:13)
1317
+ at WebSocket.emit (events.js:191:7)
1318
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
1319
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
1320
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
1321
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
1322
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
1323
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
1324
+ at Receiver.expectHandler (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:493:33)
1325
+
1326
+
1327
+-------- 9/12/2017, 10:36:49 AM --------
1328
+
1329
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:308
1330
+ var msg = { action: 'info', serverid: obj.peerConfig.serverId, dbid: obj.parent.db.identifier };
1331
+ ^
1332
+
1333
+TypeError: Cannot read property 'serverId' of undefined
1334
+ at completePeerServerConnection (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:308:65)
1335
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:280:21)
1336
+ at emitTwo (events.js:106:13)
1337
+ at WebSocket.emit (events.js:191:7)
1338
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
1339
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
1340
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
1341
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
1342
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
1343
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
1344
+
1345
+
1346
+-------- 9/12/2017, 10:36:52 AM --------
1347
+
1348
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:308
1349
+ var msg = { action: 'info', serverid: obj.peerConfig.serverId, dbid: obj.parent.db.identifier };
1350
+ ^
1351
+
1352
+TypeError: Cannot read property 'serverId' of undefined
1353
+ at completePeerServerConnection (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:308:65)
1354
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:280:21)
1355
+ at emitTwo (events.js:106:13)
1356
+ at WebSocket.emit (events.js:191:7)
1357
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
1358
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
1359
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
1360
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
1361
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
1362
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
1363
+
1364
+
1365
+-------- 9/12/2017, 10:38:31 AM --------
1366
+
1367
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:308
1368
+ var msg = { action: 'info', serverid: obj.parent.peerConfig.serverId, dbid: obj.parent.db.identifier };
1369
+ ^
1370
+
1371
+TypeError: Cannot read property 'identifier' of undefined
1372
+ at completePeerServerConnection (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:308:102)
1373
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:280:21)
1374
+ at emitTwo (events.js:106:13)
1375
+ at WebSocket.emit (events.js:191:7)
1376
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
1377
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
1378
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
1379
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
1380
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
1381
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
1382
+
1383
+
1384
+-------- 9/12/2017, 11:10:29 AM --------
1385
+
1386
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:309
1387
+ if ((obj.authenticated == 1) && (infoSent == false)) {
1388
+ ^
1389
+
1390
+ReferenceError: infoSent is not defined
1391
+ at completePeerServerConnection (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:309:46)
1392
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:266:109)
1393
+ at emitTwo (events.js:106:13)
1394
+ at WebSocket.emit (events.js:191:7)
1395
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
1396
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
1397
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
1398
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
1399
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
1400
+ at Receiver.opcodes.1.finish (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:541:12)
1401
+
1402
+
1403
+-------- 9/12/2017, 5:23:34 PM --------
1404
+
1405
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:440
1406
+ obj.send(JSON.stringify({ action: 'connectivityTable', connectivityTable: obj.parent.connectivityByMesh }));
1407
+ ^
1408
+
1409
+TypeError: obj.send is not a function
1410
+ at Object.obj.SetupPeerServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:440:13)
1411
+ at processServerData (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:360:40)
1412
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:251:49)
1413
+ at emitTwo (events.js:106:13)
1414
+ at WebSocket.emit (events.js:191:7)
1415
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
1416
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
1417
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
1418
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
1419
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
1420
+
1421
+
1422
+-------- 9/12/2017, 5:23:37 PM --------
1423
+
1424
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:440
1425
+ obj.send(JSON.stringify({ action: 'connectivityTable', connectivityTable: obj.parent.connectivityByMesh }));
1426
+ ^
1427
+
1428
+TypeError: obj.send is not a function
1429
+ at Object.obj.SetupPeerServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:440:13)
1430
+ at processServerData (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:360:40)
1431
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:251:49)
1432
+ at emitTwo (events.js:106:13)
1433
+ at WebSocket.emit (events.js:191:7)
1434
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
1435
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
1436
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
1437
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
1438
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
1439
+
1440
+
1441
+-------- 9/12/2017, 5:24:26 PM --------
1442
+
1443
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:460
1444
+ obj.peerConnectivityByMesh[peerServerId] = msg.connectivityTable;
1445
+ ^
1446
+
1447
+TypeError: Cannot set property 'amtmachine7' of undefined
1448
+ at Object.obj.ProcessPeerServerMessage (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:460:58)
1449
+ at processServerData (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:365:32)
1450
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:251:49)
1451
+ at emitTwo (events.js:106:13)
1452
+ at WebSocket.emit (events.js:191:7)
1453
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
1454
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
1455
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
1456
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
1457
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
1458
+
1459
+
1460
+-------- 9/12/2017, 5:24:29 PM --------
1461
+
1462
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:460
1463
+ obj.peerConnectivityByMesh[peerServerId] = msg.connectivityTable;
1464
+ ^
1465
+
1466
+TypeError: Cannot set property 'amtmachine7' of undefined
1467
+ at Object.obj.ProcessPeerServerMessage (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:460:58)
1468
+ at processServerData (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:365:32)
1469
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:251:49)
1470
+ at emitTwo (events.js:106:13)
1471
+ at WebSocket.emit (events.js:191:7)
1472
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
1473
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
1474
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
1475
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
1476
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
1477
+
1478
+
1479
+-------- 9/12/2017, 5:25:43 PM --------
1480
+
1481
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:463
1482
+ for (var nodeid in connectionsForMesh) { obj.parent.peerConnectivityByNode[peerServerId][nodeid] = connectionsForMesh[nodeid]; }
1483
+ ^
1484
+
1485
+TypeError: Cannot set property 'node//26ED2CDC337C2EA5AD1509ACDF03C58DF0351B353372EEA8F7FDE48AC111CED5' of undefined
1486
+ at Object.obj.ProcessPeerServerMessage (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:463:118)
1487
+ at processServerData (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:365:32)
1488
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:251:49)
1489
+ at emitTwo (events.js:106:13)
1490
+ at WebSocket.emit (events.js:191:7)
1491
+ at Receiver.ontext (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:841:10)
1492
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:536:18
1493
+ at Receiver.applyExtensions (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:371:5)
1494
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:508:14
1495
+ at Receiver.flush (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\Receiver.js:347:3)
1496
+
1497
+
1498
+-------- 9/12/2017, 5:32:16 PM --------
1499
+
1500
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:296
1501
+ if (obj.multiServer != null) { obj.serverid = obj.peerConfig.serverId; console.log('RRR', obj.serverid); }
1502
+ ^
1503
+
1504
+TypeError: Cannot read property 'serverId' of undefined
1505
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:296:85)
1506
+
1507
+
1508
+-------- 9/12/2017, 5:32:18 PM --------
1509
+
1510
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:296
1511
+ if (obj.multiServer != null) { obj.serverid = obj.peerConfig.serverId; console.log('RRR', obj.serverid); }
1512
+ ^
1513
+
1514
+TypeError: Cannot read property 'serverId' of undefined
1515
+ at InternalFieldObject.ondone (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:296:85)
1516
+
1517
+
1518
+-------- 9/12/2017, 10:31:38 PM --------
1519
+
1520
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:483
1521
+ var state = obj.peerConnectivityByNode[serverid][nodeid];
1522
+ ^
1523
+
1524
+TypeError: Cannot read property 'node//26ED2CDC337C2EA5AD1509ACDF03C58DF0351B353372EEA8F7FDE48AC111CED5' of undefined
1525
+ at Object.CreateMeshCentralServer.obj.SetConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:483:61)
1526
+ at obj.changeConnectState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:216:28)
1527
+ at Object.obj.parseRmcpPacket (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:199:43)
1528
+ at Socket.server.on (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:157:57)
1529
+ at emitTwo (events.js:106:13)
1530
+ at Socket.emit (events.js:191:7)
1531
+ at UDP.onMessage (dgram.js:532:8)
1532
+
1533
+
1534
+-------- 9/12/2017, 10:31:40 PM --------
1535
+
1536
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:483
1537
+ var state = obj.peerConnectivityByNode[serverid][nodeid];
1538
+ ^
1539
+
1540
+TypeError: Cannot read property 'node//26ED2CDC337C2EA5AD1509ACDF03C58DF0351B353372EEA8F7FDE48AC111CED5' of undefined
1541
+ at Object.CreateMeshCentralServer.obj.SetConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:483:61)
1542
+ at obj.changeConnectState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:216:28)
1543
+ at Object.obj.parseRmcpPacket (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:199:43)
1544
+ at Socket.server.on (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:157:57)
1545
+ at emitTwo (events.js:106:13)
1546
+ at Socket.emit (events.js:191:7)
1547
+ at UDP.onMessage (dgram.js:532:8)
1548
+
1549
+
1550
+-------- 9/12/2017, 10:33:42 PM --------
1551
+
1552
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:486
1553
+ var state = obj.peerConnectivityByNode[serverid][nodeid];
1554
+ ^
1555
+
1556
+TypeError: Cannot read property 'node//26ED2CDC337C2EA5AD1509ACDF03C58DF0351B353372EEA8F7FDE48AC111CED5' of undefined
1557
+ at Object.CreateMeshCentralServer.obj.SetConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:486:61)
1558
+ at obj.changeConnectState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:216:28)
1559
+ at Object.obj.parseRmcpPacket (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:199:43)
1560
+ at Socket.server.on (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:157:57)
1561
+ at emitTwo (events.js:106:13)
1562
+ at Socket.emit (events.js:191:7)
1563
+ at UDP.onMessage (dgram.js:532:8)
1564
+
1565
+
1566
+-------- 9/12/2017, 10:34:04 PM --------
1567
+
1568
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:486
1569
+ var state = obj.peerConnectivityByNode[serverid][nodeid];
1570
+ ^
1571
+
1572
+TypeError: Cannot read property 'node//26ED2CDC337C2EA5AD1509ACDF03C58DF0351B353372EEA8F7FDE48AC111CED5' of undefined
1573
+ at Object.CreateMeshCentralServer.obj.SetConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:486:61)
1574
+ at obj.changeConnectState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:216:28)
1575
+ at Object.obj.parseRmcpPacket (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:199:43)
1576
+ at Socket.server.on (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:157:57)
1577
+ at emitTwo (events.js:106:13)
1578
+ at Socket.emit (events.js:191:7)
1579
+ at UDP.onMessage (dgram.js:532:8)
1580
+
1581
+
1582
+-------- 9/12/2017, 10:58:04 PM --------
1583
+
1584
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:436
1585
+ var state = null, oldState = obj.connectivityByNode[nodeid];
1586
+ ^
1587
+
1588
+ReferenceError: nodeid is not defined
1589
+ at Object.CreateMeshCentralServer.obj.UpdateConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:436:65)
1590
+ at Object.CreateMeshCentralServer.obj.SetConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:529:17)
1591
+ at obj.changeConnectState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:216:28)
1592
+ at Object.obj.parseRmcpPacket (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:199:43)
1593
+ at Socket.server.on (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:157:57)
1594
+ at emitTwo (events.js:106:13)
1595
+ at Socket.emit (events.js:191:7)
1596
+ at UDP.onMessage (dgram.js:532:8)
1597
+
1598
+
1599
+-------- 9/12/2017, 10:58:30 PM --------
1600
+
1601
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:450
1602
+ state.connectivity |= peerState.connectivity;
1603
+ ^
1604
+
1605
+TypeError: Cannot read property 'connectivity' of null
1606
+ at Object.CreateMeshCentralServer.obj.UpdateConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:450:26)
1607
+ at Object.CreateMeshCentralServer.obj.SetConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:529:17)
1608
+ at obj.changeConnectState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:216:28)
1609
+ at Object.obj.parseRmcpPacket (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:199:43)
1610
+ at Socket.server.on (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:157:57)
1611
+ at emitTwo (events.js:106:13)
1612
+ at Socket.emit (events.js:191:7)
1613
+ at UDP.onMessage (dgram.js:532:8)
1614
+
1615
+
1616
+-------- 9/12/2017, 11:00:05 PM --------
1617
+
1618
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:450
1619
+ state.connectivity |= peerState.connectivity;
1620
+ ^
1621
+
1622
+TypeError: Cannot read property 'connectivity' of undefined
1623
+ at Object.CreateMeshCentralServer.obj.UpdateConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:450:26)
1624
+ at Object.CreateMeshCentralServer.obj.SetConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:529:17)
1625
+ at obj.changeConnectState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:216:28)
1626
+ at Object.obj.parseRmcpPacket (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:199:43)
1627
+ at Socket.server.on (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:157:57)
1628
+ at emitTwo (events.js:106:13)
1629
+ at Socket.emit (events.js:191:7)
1630
+ at UDP.onMessage (dgram.js:532:8)
1631
+
1632
+
1633
+-------- 9/12/2017, 11:00:07 PM --------
1634
+
1635
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:450
1636
+ state.connectivity |= peerState.connectivity;
1637
+ ^
1638
+
1639
+TypeError: Cannot read property 'connectivity' of undefined
1640
+ at Object.CreateMeshCentralServer.obj.UpdateConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:450:26)
1641
+ at Object.CreateMeshCentralServer.obj.SetConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:529:17)
1642
+ at obj.changeConnectState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:216:28)
1643
+ at Object.obj.parseRmcpPacket (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:199:43)
1644
+ at Socket.server.on (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:157:57)
1645
+ at emitTwo (events.js:106:13)
1646
+ at Socket.emit (events.js:191:7)
1647
+ at UDP.onMessage (dgram.js:532:8)
1648
+
1649
+
1650
+-------- 9/12/2017, 11:25:31 PM --------
1651
+
1652
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:598
1653
+ delete obj.peerConnectivityByNode[serverid][meshid][nodeid];
1654
+ ^
1655
+
1656
+TypeError: Cannot convert undefined or null to object
1657
+ at Object.CreateMeshCentralServer.obj.ClearConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:598:73)
1658
+ at Object.obj.close (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshagent.js:41:31)
1659
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshagent.js:216:133)
1660
+ at emitTwo (events.js:111:20)
1661
+ at WebSocket.emit (events.js:191:7)
1662
+ at WebSocket.cleanupWebsocketResources (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:950:8)
1663
+ at emitNone (events.js:91:20)
1664
+ at TLSSocket.emit (events.js:185:7)
1665
+ at endReadableNT (_stream_readable.js:926:12)
1666
+ at _combinedTickCallback (internal/process/next_tick.js:74:11)
1667
+
1668
+
1669
+-------- 9/12/2017, 11:26:16 PM --------
1670
+
1671
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:616
1672
+ if (((newstate != null) && (oldstate == null)) || (oldstate.connectivity != newstate.connectivity) || (oldstate.powerState != newstate.powerState)) {
1673
+ ^
1674
+
1675
+TypeError: Cannot read property 'connectivity' of null
1676
+ at Object.CreateMeshCentralServer.obj.ClearConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:616:97)
1677
+ at Object.obj.close (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshagent.js:41:31)
1678
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshagent.js:216:133)
1679
+ at emitTwo (events.js:111:20)
1680
+ at WebSocket.emit (events.js:191:7)
1681
+ at WebSocket.cleanupWebsocketResources (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:950:8)
1682
+ at emitNone (events.js:91:20)
1683
+ at TLSSocket.emit (events.js:185:7)
1684
+ at endReadableNT (_stream_readable.js:926:12)
1685
+ at _combinedTickCallback (internal/process/next_tick.js:74:11)
1686
+
1687
+
1688
+-------- 9/12/2017, 11:27:27 PM --------
1689
+
1690
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:617
1691
+ if (((newstate != null) && (oldstate == null)) || (oldstate.connectivity != newstate.connectivity) || (oldstate.powerState != newstate.powerState)) {
1692
+ ^
1693
+
1694
+TypeError: Cannot read property 'connectivity' of null
1695
+ at Object.CreateMeshCentralServer.obj.ClearConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:617:97)
1696
+ at Object.obj.close (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshagent.js:41:31)
1697
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshagent.js:216:133)
1698
+ at emitTwo (events.js:111:20)
1699
+ at WebSocket.emit (events.js:191:7)
1700
+ at WebSocket.cleanupWebsocketResources (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:950:8)
1701
+ at emitNone (events.js:91:20)
1702
+ at TLSSocket.emit (events.js:185:7)
1703
+ at endReadableNT (_stream_readable.js:926:12)
1704
+ at _combinedTickCallback (internal/process/next_tick.js:74:11)
1705
+
1706
+
1707
+-------- 9/12/2017, 11:29:50 PM --------
1708
+
1709
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:620
1710
+ obj.DispatchEvent(['*', meshid], obj, { action: 'nodeconnect', meshid: meshid, nodeid: nodeid, conn: newstate.connectivity, pwr: newstate.powerState, nolog: 1, nopeers: 1 });
1711
+ ^
1712
+
1713
+TypeError: Cannot read property 'connectivity' of null
1714
+ at Object.CreateMeshCentralServer.obj.ClearConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:620:126)
1715
+ at Object.obj.close (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshagent.js:41:31)
1716
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshagent.js:216:133)
1717
+ at emitTwo (events.js:111:20)
1718
+ at WebSocket.emit (events.js:191:7)
1719
+ at WebSocket.cleanupWebsocketResources (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:950:8)
1720
+ at emitNone (events.js:91:20)
1721
+ at TLSSocket.emit (events.js:185:7)
1722
+ at endReadableNT (_stream_readable.js:926:12)
1723
+ at _combinedTickCallback (internal/process/next_tick.js:74:11)
1724
+
1725
+
1726
+-------- 9/12/2017, 11:47:49 PM --------
1727
+
1728
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:443
1729
+ var peerState = obj.peerConnectivityByNode[serverid][nodeid];
1730
+ ^
1731
+
1732
+TypeError: Cannot read property 'node//46EE880CF680F1665D00FE085FE1DE9D909BF62251BDC5DA54887231469FF086' of undefined
1733
+ at Object.CreateMeshCentralServer.obj.UpdateConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:443:69)
1734
+ at Object.CreateMeshCentralServer.obj.SetConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:535:17)
1735
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshagent.js:281:39
1736
+ at newArguments.(anonymous function) (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\nedb\lib\executor.js:29:17)
1737
+ at Cursor.execFn (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\nedb\lib\datastore.js:484:12)
1738
+ at callback (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\nedb\lib\cursor.js:126:19)
1739
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\nedb\lib\cursor.js:193:12
1740
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\nedb\lib\datastore.js:329:14
1741
+ at Object.async.eachSeries (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\async\lib\async.js:130:20)
1742
+ at C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\nedb\lib\datastore.js:323:11
1743
+
1744
+
1745
+-------- 9/13/2017, 10:16:17 AM --------
1746
+
1747
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:471
1748
+ obj.DispatchEvent(['*', meshid], obj, { action: 'nodeconnect', meshid: meshid, nodeid: nodeid, conn: newstate.connectivity, pwr: newstate.powerState, nolog: 1, nopeers: 1 });
1749
+ ^
1750
+
1751
+ReferenceError: newstate is not defined
1752
+ at Object.CreateMeshCentralServer.obj.UpdateConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:471:118)
1753
+ at Object.CreateMeshCentralServer.obj.SetConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:546:17)
1754
+ at obj.changeConnectState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:216:28)
1755
+ at Object.obj.parseRmcpPacket (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:199:43)
1756
+ at Socket.server.on (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:157:57)
1757
+ at emitTwo (events.js:106:13)
1758
+ at Socket.emit (events.js:191:7)
1759
+ at UDP.onMessage (dgram.js:532:8)
1760
+
1761
+
1762
+-------- 9/13/2017, 10:16:19 AM --------
1763
+
1764
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:471
1765
+ obj.DispatchEvent(['*', meshid], obj, { action: 'nodeconnect', meshid: meshid, nodeid: nodeid, conn: newstate.connectivity, pwr: newstate.powerState, nolog: 1, nopeers: 1 });
1766
+ ^
1767
+
1768
+ReferenceError: newstate is not defined
1769
+ at Object.CreateMeshCentralServer.obj.UpdateConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:471:118)
1770
+ at Object.CreateMeshCentralServer.obj.SetConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:546:17)
1771
+ at obj.changeConnectState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:216:28)
1772
+ at Object.obj.parseRmcpPacket (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:199:43)
1773
+ at Socket.server.on (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\amtscanner.js:157:57)
1774
+ at emitTwo (events.js:106:13)
1775
+ at Socket.emit (events.js:191:7)
1776
+ at UDP.onMessage (dgram.js:532:8)
1777
+
1778
+
1779
+-------- 9/13/2017, 10:41:12 AM --------
1780
+
1781
+C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:468
1782
+ console.log('xx', nodeid, state.meshid, newConnectivity, oldPowerState, newPowerState, oldPowerState);
1783
+ ^
1784
+
1785
+TypeError: Cannot read property 'meshid' of null
1786
+ at Object.CreateMeshCentralServer.obj.UpdateConnectivityState (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\meshcentral.js:468:44)
1787
+ at Object.obj.ClearPeerServer (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:455:20)
1788
+ at Object.obj.close (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:241:54)
1789
+ at WebSocket.<anonymous> (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\multiserver.js:310:138)
1790
+ at emitTwo (events.js:111:20)
1791
+ at WebSocket.emit (events.js:191:7)
1792
+ at WebSocket.cleanupWebsocketResources (C:\Users\Default.DESKTOP-M9I88C9\Desktop\AmtWebApp\meshcentral\node_modules\ws\lib\WebSocket.js:950:8)
1793
+ at emitOne (events.js:101:20)
1794
+ at TLSSocket.emit (events.js:188:7)
1795
+ at emitErrorNT (net.js:1265:8)
1796
+
1797
+
multiserver.js
+426
-17
@@ -9,10 +9,381 @@ module.exports.CreateMultiServer = function (parent, args) {
9
var obj = {};
10
obj.parent = parent;
11
obj.crypto = require('crypto');
12
+ obj.peerConfig = parent.config.peers;
13
+ obj.forge = require('node-forge');
14
+ obj.outPeerServers = {}; // Outgoing peer servers
15
+ obj.peerServers = {}; // All connected servers (in & out). Only present in this list if the connection is setup
16
+
17
+ // Create a mesh server module that will connect to other servers
18
+ obj.CreatePeerOutServer = function (parent, serverid, url) {
19
+ var obj = {};
20
+ obj.parent = parent;
21
+ obj.serverid = serverid;
22
+ obj.url = url;
23
+ obj.ws = null;
24
+ obj.conn = null;
25
+ obj.certificates = parent.parent.certificates;
26
+ obj.common = require('./common.js');
27
+ obj.forge = require('node-forge');
28
+ obj.crypto = require('crypto');
29
+ obj.pki = obj.forge.pki;
30
+ obj.connectionState = 0;
31
+ obj.retryTimer = null;
32
+ obj.retryBackoff = 0;
33
+ obj.connectHandler = null;
34
+ obj.webCertificatHash = obj.parent.parent.webserver.webCertificatHash;
35
+ obj.agentCertificatHashHex = obj.parent.parent.webserver.agentCertificatHashHex;
36
+ obj.agentCertificatAsn1 = obj.parent.parent.webserver.agentCertificatAsn1;
37
+ obj.peerServerId = null;
38
+ obj.authenticated = 0;
39
+
40
+ // Disconnect from the server and/or stop trying
41
+ obj.stop = function () {
42
+ obj.connectionState = 0;
43
+ disconnect();
44
+ }
45
+
46
+ // Make one attempt at connecting to the server
47
+ function connect() {
48
+ obj.retryTimer = null;
49
+ obj.connectionState = 1;
50
+
51
+ // Get the web socket setup
52
+ const WebSocket = require('websocket');
53
+ var WebSocketClient = require('websocket').client;
54
+ obj.ws = new WebSocketClient();
55
+ obj.parent.parent.debug(1, 'OutPeer ' + obj.serverid + ': Connecting to: ' + url + 'meshserver.ashx');
56
+
57
+ // Register the connection failed event
58
+ obj.ws.on('connectFailed', function (error) { obj.parent.parent.debug(1, 'OutPeer ' + obj.serverid + ': Failed connection'); disconnect(); });
59
+
60
+ // Register the connection event
61
+ obj.ws.on('connect', function (connection) {
62
+ obj.parent.parent.debug(1, 'OutPeer ' + obj.serverid + ': Connected');
63
+ if (obj.meshScanner != null) { obj.meshScanner.stop(); }
64
+ obj.connectionState |= 2;
65
+ obj.conn = connection;
66
+ obj.nonce = obj.forge.random.getBytesSync(32);
67
+
68
+ // If the connection has an error or closes
69
+ obj.conn.on('error', function (error) { obj.parent.parent.debug(1, 'OutPeer ' + obj.serverid + ': Error: ' + error); disconnect(); });
70
+ obj.conn.on('close', function () { obj.parent.parent.debug(1, 'OutPeer ' + obj.serverid + ': Disconnected'); disconnect(); });
71
+
72
+ // Get the peer server's certificate and compute the server public key hash
73
+ if (obj.ws.socket == undefined) return;
74
+ var rawcertbuf = obj.ws.socket.getPeerCertificate().raw, rawcert = '';
75
+ for (var i = 0; i < rawcertbuf.length; i++) { rawcert += String.fromCharCode(rawcertbuf[i]); }
76
+ var serverCert = obj.forge.pki.certificateFromAsn1(obj.forge.asn1.fromDer(rawcert));
77
+ obj.serverCertHash = obj.forge.pki.getPublicKeyFingerprint(serverCert.publicKey, { encoding: 'binary', md: obj.forge.md.sha256.create() });
78
+
79
+ // If a message is received
80
+ obj.conn.on('message', function (msg) {
81
+ if (msg.type == 'binary') { var msg2 = ""; for (var i = 0; i < msg.binaryData.length; i++) { msg2 += String.fromCharCode(msg.binaryData[i]); } msg = msg2; }
82
+ else if (msg.type == 'utf8') { msg = msg.utf8Data; }
83
+ if (msg.length < 2) return;
84
+
85
+ if (msg.charCodeAt(0) == 123) {
86
+ if (obj.connectionState == 15) { processServerData(msg); }
87
+ } else {
88
+ var cmd = obj.common.ReadShort(msg, 0);
89
+ switch (cmd) {
90
+ case 1: {
91
+ // Server authentication request
92
+ if (msg.length != 66) { obj.parent.parent.debug(1, 'OutPeer: BAD MESSAGE(A1)'); return; }
93
+
94
+ // Check that the server hash matches the TLS server certificate public key hash
95
+ if (obj.serverCertHash != msg.substring(2, 34)) { obj.parent.parent.debug(1, 'OutPeer: Server hash mismatch.'); disconnect(); return; }
96
+ obj.servernonce = msg.substring(34);
97
+
98
+ // Use our agent root private key to sign the ServerHash + ServerNonce + AgentNonce
99
+ var privateKey = obj.forge.pki.privateKeyFromPem(obj.certificates.agent.key);
100
+ var md = obj.forge.md.sha256.create();
101
+ md.update(msg.substring(2), 'binary');
102
+ md.update(obj.nonce, 'binary');
103
+
104
+ // Send back our certificate + signature
105
+ agentRootCertificatAsn1 = obj.forge.asn1.toDer(obj.forge.pki.certificateToAsn1(obj.forge.pki.certificateFromPem(obj.certificates.agent.cert))).getBytes();
106
+ obj.conn.send(obj.common.ShortToStr(2) + obj.common.ShortToStr(agentRootCertificatAsn1.length) + agentRootCertificatAsn1 + privateKey.sign(md)); // Command 3, signature
107
+ break;
108
+ }
109
+ case 2: {
110
+ // Server certificate
111
+ var certlen = obj.common.ReadShort(msg, 2), serverCert = null;
112
+ try { serverCert = obj.forge.pki.certificateFromAsn1(obj.forge.asn1.fromDer(msg.substring(4, 4 + certlen))); } catch (e) { }
113
+ if (serverCert == null) { obj.parent.parent.debug(1, 'OutPeer: Invalid server certificate.'); disconnect(); return; }
114
+ var serverid = obj.forge.pki.getPublicKeyFingerprint(serverCert.publicKey, { encoding: 'hex', md: obj.forge.md.sha256.create() });
115
+ if (serverid !== obj.agentCertificatHashHex) { obj.parent.parent.debug(1, 'OutPeer: Server hash mismatch.'); disconnect(); return; }
116
+
117
+ // Server signature, verify it
118
+ var md = obj.forge.md.sha256.create();
119
+ md.update(obj.serverCertHash, 'binary');
120
+ md.update(obj.nonce, 'binary');
121
+ md.update(obj.servernonce, 'binary');
122
+ if (serverCert.publicKey.verify(md.digest().bytes(), msg.substring(4 + certlen)) == false) { obj.parent.parent.debug(1, 'OutPeer: Server sign check failed.'); disconnect(); return; }
123
+
124
+ // Connection is a success, clean up
125
+ delete obj.nonce;
126
+ delete obj.servernonce;
127
+ delete obj.serverCertHash;
128
+ obj.connectionState |= 4;
129
+ obj.retryBackoff = 0; // Set backoff connection timer back to fast.
130
+ obj.parent.parent.debug(1, 'OutPeer ' + obj.serverid + ': Verified peer connection to ' + obj.url);
131
+
132
+ // Send information about our server to the peer
133
+ if (obj.connectionState == 15) { obj.conn.send(JSON.stringify({ action: 'info', serverid: obj.parent.peerConfig.serverId, dbid: obj.parent.parent.db.identifier, key: obj.parent.serverKey })); }
134
+ //if ((obj.connectionState == 15) && (obj.connectHandler != null)) { obj.connectHandler(1); }
135
+ break;
136
+ }
137
+ case 4: {
138
+ // Server confirmed authentication, we are allowed to send commands to the server
139
+ obj.connectionState |= 8;
140
+ if (obj.connectionState == 15) { obj.conn.send(JSON.stringify({ action: 'info', serverid: obj.parent.peerConfig.serverId, dbid: obj.parent.parent.db.identifier, key: obj.parent.serverKey })); }
141
+ //if ((obj.connectionState == 15) && (obj.connectHandler != null)) { obj.connectHandler(1); }
142
+ break;
143
+ }
144
+ default: {
145
+ obj.parent.parent.debug(1, 'OutPeer ' + obj.serverid + ': Un-handled command: ' + cmd);
146
+ break;
147
+ }
148
+ }
149
+ }
150
+ });
151
+
152
+ // Not sure why, but we need to delay the first send
153
+ setTimeout(function () {
154
+ if ((obj.ws == null) || (obj.conn == null)) return;
155
+ // Start authenticate the mesh agent by sending a auth nonce & server TLS cert hash.
156
+ // Send 256 bits SHA256 hash of TLS cert public key + 256 bits nonce
157
+ obj.conn.send(obj.common.ShortToStr(1) + obj.serverCertHash + obj.nonce); // Command 1, hash + nonce
158
+ }, 10);
159
+ });
160
+
161
+ obj.ws.connect(obj.url + 'meshserver.ashx', null, null, null, { rejectUnauthorized: false, cert: obj.certificates.agent.cert, key: obj.certificates.agent.key });
162
+ }
163
+
164
+ // Disconnect from the server, if we need to, try again with a delay.
165
+ function disconnect() {
166
+ if (obj.authenticated == 3) { obj.parent.ClearPeerServer(obj, obj.peerServerId); obj.authenticated = 0; }
167
+ if ((obj.connectionState == 15) && (obj.connectHandler != null)) { obj.connectHandler(0); }
168
+ if (obj.conn != null) { obj.conn.close(); obj.conn = null; }
169
+ if (obj.ws != null) { obj.ws = null; }
170
+ if (obj.retryTimer != null) { clearTimeout(obj.retryTimer); obj.retryTimer = null; }
171
+ // Re-try connection
172
+ if (obj.connectionState >= 1) { obj.connectionState = 1; if (obj.retryTimer == null) { obj.retryTimer = setTimeout(connect, getConnectRetryTime()); } }
173
+ }
174
+
175
+ // Get the next retry time in milliseconds
176
+ function getConnectRetryTime() {
177
+ if (obj.retryBackoff < 30000) { obj.retryBackoff += Math.floor((Math.random() * 3000) + 1000); }
178
+ return obj.retryBackoff;
179
+ }
180
+
181
+ // Send a JSON message to the peer server
182
+ obj.send = function (msg) {
183
+ try {
184
+ if (obj.ws == null || obj.conn == null || obj.connectionState != 15) { return; }
185
+ if (typeof msg == 'object') { obj.conn.send(JSON.stringify(msg)); return; }
186
+ if (typeof msg == 'string') { obj.conn.send(msg); return; }
187
+ } catch (e) { }
188
+ }
189
+
190
+ // Process incoming peer server JSON data
191
+ function processServerData(msg) {
192
+ var str = msg.toString('utf8');
193
+ if (str[0] == '{') {
194
+ try { command = JSON.parse(str) } catch (e) { obj.parent.parent.debug(1, 'Unable to parse JSON (' + obj.remoteaddr + ').'); return; } // If the command can't be parsed, ignore it.
195
+ if (command.action == 'info') {
196
+ if (obj.authenticated != 3) {
197
+ // We get the peer's serverid and database identifier.
198
+ if ((command.serverid != null) && (command.dbid != null)) {
199
+ if (command.serverid == obj.parent.peerConfig.serverId) { console.log('ERROR: Same server ID, trying to peer with self. (' + obj.url + ', ' + command.serverid + ').'); return; }
200
+ if (command.dbid != obj.parent.parent.db.identifier) { console.log('ERROR: Database ID mismatch. Trying to peer to a server with the wrong database. (' + obj.url + ', ' + command.serverid + ').'); return; }
201
+ obj.peerServerId = command.serverid;
202
+ obj.peerServerKey = command.key;
203
+ obj.authenticated = 3;
204
+ obj.parent.SetupPeerServer(obj, obj.peerServerId);
205
+ }
206
+ }
207
+ } else if (obj.authenticated == 3) {
208
+ // Pass the message to the parent object for processing.
209
+ obj.parent.ProcessPeerServerMessage(obj, obj.peerServerId, command);
210
+ }
211
+ }
212
+ }
213
+
214
+ connect();
215
+ return obj;
216
+ }
217
+
218
+ // Create a mesh server module that received a connection to another server
219
+ obj.CreatePeerInServer = function (parent, ws, req) {
220
+ var obj = {};
221
+ obj.ws = ws;
222
+ obj.parent = parent;
223
+ obj.common = require('./common.js');
224
+ obj.forge = require('node-forge');
225
+ obj.crypto = require('crypto');
226
+ obj.authenticated = 0;
227
+ obj.remoteaddr = obj.ws._socket.remoteAddress;
228
+ obj.receivedCommands = 0;
229
+ obj.webCertificatHash = obj.parent.parent.webserver.webCertificatHash;
230
+ obj.agentCertificatHashHex = obj.parent.parent.webserver.agentCertificatHashHex;
231
+ obj.agentCertificatAsn1 = obj.parent.parent.webserver.agentCertificatAsn1;
232
+ obj.infoSent = 0;
233
+ obj.peerServerId = null;
234
+ if (obj.remoteaddr.startsWith('::ffff:')) { obj.remoteaddr = obj.remoteaddr.substring(7); }
235
+
236
+ // Send a message to the peer server
237
+ obj.send = function (data) {
238
+ try {
239
+ if (typeof data == 'string') { obj.ws.send(new Buffer(data, 'binary')); return; }
240
+ if (typeof data == 'object') { obj.ws.send(JSON.stringify(data)); return; }
241
+ obj.ws.send(data);
242
+ } catch (e) { }
243
+ }
244
+
245
+ // Disconnect this server
246
+ obj.close = function (arg) {
247
+ if ((arg == 1) || (arg == null)) { try { obj.ws.close(); obj.parent.parent.debug(1, 'InPeer: Soft disconnect ' + obj.peerServerId + ' (' + obj.remoteaddr + ')'); } catch (e) { console.log(e); } } // Soft close, close the websocket
248
+ if (arg == 2) { try { obj.ws._socket._parent.end(); obj.parent.parent.debug(1, 'InPeer: Hard disconnect ' + obj.peerServerId + ' (' + obj.remoteaddr + ')'); } catch (e) { console.log(e); } } // Hard close, close the TCP socket
249
+ if (obj.authenticated == 3) { obj.parent.ClearPeerServer(obj, obj.peerServerId); obj.authenticated = 0; }
250
+ }
251
+
252
+ // When data is received from the mesh agent web socket
253
+ ws.on('message', function (msg) {
254
+ if (msg.type == 'binary') { var msg2 = ""; for (var i = 0; i < msg.binaryData.length; i++) { msg2 += String.fromCharCode(msg.binaryData[i]); } msg = msg2; }
255
+ else if (msg.type == 'utf8') { msg = msg.utf8Data; }
256
+ if (msg.length < 2) return;
257
+
258
+ if (obj.authenticated >= 2) { // We are authenticated
259
+ if (msg.charCodeAt(0) == 123) { processServerData(msg); }
260
+ if (msg.length < 2) return;
261
+ var cmdid = obj.common.ReadShort(msg, 0);
262
+ // Process binary commands (if any). None right now.
263
+ }
264
+ else if (obj.authenticated < 2) { // We are not authenticated
265
+ var cmd = obj.common.ReadShort(msg, 0);
266
+ if (cmd == 1) {
267
+ // Agent authentication request
268
+ if ((msg.length != 66) || ((obj.receivedCommands & 1) != 0)) return;
269
+ obj.receivedCommands += 1; // Agent can't send the same command twice on the same connection ever. Block DOS attack path.
270
+
271
+ // Check that the server hash matches out own web certificate hash
272
+ if (obj.webCertificatHash != msg.substring(2, 34)) { obj.close(); return; }
273
+
274
+ // Use our server private key to sign the ServerHash + AgentNonce + ServerNonce
275
+ var privateKey = obj.forge.pki.privateKeyFromPem(obj.parent.parent.certificates.agent.key);
276
+ var md = obj.forge.md.sha256.create();
277
+ md.update(msg.substring(2), 'binary');
278
+ md.update(obj.nonce, 'binary');
279
+ obj.agentnonce = msg.substring(34);
280
+
281
+ // Send back our certificate + signature
282
+ obj.send(obj.common.ShortToStr(2) + obj.common.ShortToStr(obj.agentCertificatAsn1.length) + obj.agentCertificatAsn1 + privateKey.sign(md)); // Command 2, certificate + signature
283
+
284
+ // Check the agent signature if we can
285
+ if (obj.unauthsign != undefined) {
286
+ if (processAgentSignature(obj.unauthsign) == false) { disconnect(); return; } else { completePeerServerConnection(); }
287
+ }
288
+ }
289
+ else if (cmd == 2) {
290
+ // Agent certificate
291
+ if ((msg.length < 4) || ((obj.receivedCommands & 2) != 0)) return;
292
+ obj.receivedCommands += 2; // Agent can't send the same command twice on the same connection ever. Block DOS attack path.
293
+
294
+ // Decode the certificate
295
+ var certlen = obj.common.ReadShort(msg, 2);
296
+ obj.unauth = {};
297
+ obj.unauth.nodeCert = null;
298
+ try { obj.unauth.nodeCert = obj.forge.pki.certificateFromAsn1(obj.forge.asn1.fromDer(msg.substring(4, 4 + certlen))); } catch (e) { return; }
299
+ obj.unauth.nodeid = obj.forge.pki.getPublicKeyFingerprint(obj.unauth.nodeCert.publicKey, { encoding: 'hex', md: obj.forge.md.sha256.create() });
300
+
301
+ // Check the agent signature if we can
302
+ if (obj.agentnonce == undefined) { obj.unauthsign = msg.substring(4 + certlen); } else { if (processAgentSignature(msg.substring(4 + certlen)) == false) { disconnect(); return; } }
303
+ completePeerServerConnection();
304
+ }
305
+ else if (cmd == 3) {
306
+ // Agent meshid
307
+ if ((msg.length < 56) || ((obj.receivedCommands & 4) != 0)) return;
308
+ obj.receivedCommands += 4; // Agent can't send the same command twice on the same connection ever. Block DOS attack path.
309
+ completePeerServerConnection();
310
+ }
311
+ }
312
+ });
313
+
314
+ // If error, do nothing
315
+ ws.on('error', function (err) { obj.parent.parent.debug(1, 'InPeer: Connection Error: ' + err); });
316
+
317
+ // If the mesh agent web socket is closed, clean up.
318
+ ws.on('close', function (req) { obj.parent.parent.debug(1, 'InPeer disconnect ' + obj.nodeid + ' (' + obj.remoteaddr + ')'); obj.close(0); });
319
+ // obj.ws._socket._parent.on('close', function (req) { obj.parent.parent.debug(1, 'Agent TCP disconnect ' + obj.nodeid + ' (' + obj.remoteaddr + ')'); });
320
+
321
+ // Start authenticate the mesh agent by sending a auth nonce & server TLS cert hash.
322
+ // Send 256 bits SHA256 hash of TLS cert public key + 256 bits nonce
323
+ obj.nonce = obj.forge.random.getBytesSync(32);
324
+ obj.send(obj.common.ShortToStr(1) + obj.webCertificatHash + obj.nonce); // Command 1, hash + nonce
325
+
326
+ // Once we get all the information about an agent, run this to hook everything up to the server
327
+ function completePeerServerConnection() {
328
+ if (obj.authenticated != 1) return;
329
+ obj.send(obj.common.ShortToStr(4));
330
+ obj.send(JSON.stringify({ action: 'info', serverid: obj.parent.peerConfig.serverId, dbid: obj.parent.parent.db.identifier, key: obj.parent.serverKey }));
331
+ obj.authenticated = 2;
332
+ }
333
+
334
+ // Verify the agent signature
335
+ function processAgentSignature(msg) {
336
+ var md = obj.forge.md.sha256.create(); // TODO: Switch this to SHA256 on node instead of forge.
337
+ md.update(obj.parent.parent.webserver.webCertificatHash, 'binary');
338
+ md.update(obj.nonce, 'binary');
339
+ md.update(obj.agentnonce, 'binary');
340
+ if (obj.unauth.nodeCert.publicKey.verify(md.digest().bytes(), msg) == false) { return false; }
341
+ if (obj.unauth.nodeid !== obj.agentCertificatHashHex) { return false; }
342
+
343
+ // Connection is a success, clean up
344
+ obj.nodeid = obj.unauth.nodeid.toUpperCase();
345
+ delete obj.nonce;
346
+ delete obj.agentnonce;
347
+ delete obj.unauth;
348
+ if (obj.unauthsign) delete obj.unauthsign;
349
+ obj.authenticated = 1;
350
+ return true;
351
+ }
352
+
353
+ // Process incoming peer server JSON data
354
+ function processServerData(msg) {
355
+ var str = msg.toString('utf8');
356
+ if (str[0] == '{') {
357
+ try { command = JSON.parse(str) } catch (e) { obj.parent.parent.debug(1, 'Unable to parse JSON (' + obj.remoteaddr + ').'); return; } // If the command can't be parsed, ignore it.
358
+ if (command.action == 'info') {
359
+ if (obj.authenticated != 3) {
360
+ // We get the peer's serverid and database identifier.
361
+ if ((command.serverid != null) && (command.dbid != null)) {
362
+ if (command.serverid == obj.parent.peerConfig.serverId) { console.log('ERROR: Same server ID, trying to peer with self. (' + obj.remoteaddr + ', ' + command.serverid + ').'); return; }
363
+ if (command.dbid != obj.parent.parent.db.identifier) { console.log('ERROR: Database ID mismatch. Trying to peer to a server with the wrong database. (' + obj.remoteaddr + ', ' + command.serverid + ').'); return; }
364
+ if (obj.parent.peerConfig.servers[command.serverid] == null) { console.log('ERROR: Unknown peer serverid: ' + command.serverid + ' (' + obj.remoteaddr + ').'); return; }
365
+ obj.peerServerId = command.serverid;
366
+ obj.peerServerKey = command.key;
367
+ obj.authenticated = 3;
368
+ obj.parent.SetupPeerServer(obj, obj.peerServerId);
369
+ }
370
+ }
371
+ } else if (obj.authenticated == 3) {
372
+ // Pass the message to the parent object for processing.
373
+ obj.parent.ProcessPeerServerMessage(obj, obj.peerServerId, command);
374
+ }
375
+ }
376
+ }
377
+
378
+ return obj;
379
+ }
380
+
381
+ // If we have no peering configuration, don't setup this object
382
+ if (obj.peerConfig == null) { return null; }
383
384
// Generate a cryptographic key used to encode and decode cookies
385
obj.generateCookieKey = function () {
15
- return new Buffer(obj.crypto.randomBytes(32), 'binary').toString('ascii');
386
+ return new Buffer(obj.crypto.randomBytes(32), 'binary').toString('hex');
387
}
388
389
// Encode an object as a cookie using a key
@@ -56,29 +427,67 @@ module.exports.CreateMultiServer = function (parent, args) {
427
428
// Dispatch an event to other MeshCentral2 peer servers
429
obj.DispatchEvent = function (ids, source, event) {
59
- // TODO
430
+ var busmsg = JSON.stringify({ action: 'bus', ids: ids, event: event });
431
+ for (var serverid in obj.peerServers) { obj.peerServers[serverid].send(busmsg); }
432
}
433
62
- // Handle websocket requests on "/meshserver.ashx" from other MeshCentral2 peer servers.
63
- obj.handleServerWebSocket = function (ws, req) {
64
- Debug(1, 'MeshServer connection open.');
434
+ // Dispatch a message to other MeshCentral2 peer servers
435
+ obj.DispatchMessage = function (msg) {
436
+ for (var serverid in obj.peerServers) { obj.peerServers[serverid].send(msg); }
437
+ }
438
66
- // Handle data from another mesh server
67
- ws.on('message', function (msg) {
68
- Debug(1, 'MeshServer data of length ' + msg.length);
69
- // TODO
70
- });
439
+ // Attempt to connect to all peers
440
+ obj.ConnectToPeers = function () {
441
+ for (serverId in obj.peerConfig.servers) {
442
+ // We will only connect to names that are larger then ours. This way, eveyone has one connection to everyone else (no cross-connections).
443
+ if ((serverId > obj.peerConfig.serverId) && (obj.peerConfig.servers[serverId].url != null) && (obj.outPeerServers[serverId] == null)) {
444
+ obj.outPeerServers[serverId] = obj.CreatePeerOutServer(obj, serverId, obj.peerConfig.servers[serverId].url);
445
+ }
446
+ }
447
+ }
448
72
- // If error, do nothing
73
- ws.on('error', function (err) { console.log(err); });
449
+ // We connected to a peer server, setup everything
450
+ obj.SetupPeerServer = function (server, peerServerId) {
451
+ console.log('Connected to peer server ' + peerServerId + '.');
452
+ obj.peerServers[peerServerId] = server;
453
+ server.send(JSON.stringify({ action: 'connectivityTable', connectivityTable: obj.parent.peerConnectivityByNode[obj.parent.serverId] }));
454
+ }
455
75
- // Another mesh server connection has closed
76
- ws.on('close', function (req) {
77
- Debug(1, 'MeshServer connection closed.');
78
- // TODO
79
- });
456
+ // We disconnected to a peer server, clean up everything
457
+ obj.ClearPeerServer = function (server, peerServerId) {
458
+ console.log('Disconnected from peer server ' + peerServerId + '.');
459
+ delete obj.peerServers[peerServerId];
460
+ //delete obj.parent.peerConnectivityByMesh[peerServerId]; // TODO: We will need to re-adjust all of the node power states.
461
+ var oldList = obj.parent.peerConnectivityByNode[peerServerId];
462
+ obj.parent.peerConnectivityByNode[peerServerId] = {};
463
+ obj.parent.UpdateConnectivityState(oldList);
464
+ }
465
+
466
+ // Process a message coming from a peer server
467
+ obj.ProcessPeerServerMessage = function (server, peerServerId, msg) {
468
+ //console.log('ProcessPeerServerMessage', peerServerId, msg.action, typeof msg, msg);
469
+ switch (msg.action) {
470
+ case 'bus': {
471
+ obj.parent.DispatchEvent(msg.ids, null, msg.event, true); // Dispatch the peer event
472
+ break;
473
+ }
474
+ case 'connectivityTable': {
475
+ obj.parent.peerConnectivityByNode[peerServerId] = msg.connectivityTable;
476
+ obj.parent.UpdateConnectivityState(msg.connectivityTable);
477
+ break;
478
+ }
479
+ case 'SetConnectivityState': {
480
+ obj.parent.SetConnectivityState(msg.meshid, msg.nodeid, msg.connectTime, msg.connectType, msg.powerState, peerServerId);
481
+ break;
482
+ }
483
+ case 'ClearConnectivityState': {
484
+ obj.parent.ClearConnectivityState(msg.meshid, msg.nodeid, msg.connectType, peerServerId);
485
+ break;
486
+ }
487
+ }
488
}
489
490
obj.serverKey = obj.generateCookieKey();
491
+ setTimeout(function () { obj.ConnectToPeers(); }, 1000); // Delay this a little to make sure we are ready on our side.
492
return obj;
493
}
package.json
+3
-2
@@ -1,6 +1,6 @@
1
{
2
"name": "meshcentral",
3
- "version": "0.0.7-p",
3
+ "version": "0.0.7-u",
4
"keywords": [
5
"Remote Management",
6
"Intel AMT",
@@ -25,7 +25,6 @@
25
"bin"
26
],
27
"dependencies": {
28
- "meshcentral": "*",
28
"archiver": "^1.3.0",
29
"body-parser": "^1.17.1",
30
"compression": "^1.6.2",
@@ -34,11 +33,13 @@
33
"express-handlebars": "^3.0.0",
34
"express-session": "^1.15.1",
35
"express-ws": "^2.0.0",
36
+ "meshcentral": "*",
37
"minimist": "^1.2.0",
38
"multiparty": "^4.1.3",
39
"nedb": "^1.8.0",
40
"node-forge": "^0.6.49",
41
"unzip": "^0.1.11",
42
+ "websocket": "^1.0.24",
43
"xmldom": "^0.1.27"
44
},
45
"optionalDependencies": {
public/commander.htm
+33
-20
@@ -340,13 +340,13 @@ th {
340
<div id="storagelinks" style="margin-top:4px"></div>
341
</div>
342
<div id="id_mainarea" class="maincell">
343
- <div id="id_scriptstatus" style="height:21px;background:#8fac8d;padding:5px;margin-bottom:1px;display:none">
343
+ <div id="id_scriptstatus" style="height:21px;background:#8fac8d;padding:5px;margin-bottom:1px;display:none;overflow:hidden">
344
<div style="float:right"><input type="button" value="Stop Script" onclick="script_Stop()"></div>
345
- <div style="font-size:16px;padding-top:2px"> <b>Running Script</b><span id="id_scriptstatusstr"></span></div>
345
+ <div style="font-size:16px;padding-top:2px;overflow:hidden"> <b>Running Script</b><span style="overflow:hidden" id="id_scriptstatusstr"></span></div>
346
</div>
347
<div id="id_versionWarning" style="height:21px;background:#8fac8d;padding:5px;margin-bottom:1px;display:none">
348
<div style="font-size:16px;float:right;cursor:pointer;padding-right:5px;padding-left:5px;padding-top:2px" onclick="QV('id_versionWarning', false)"><b>X</b></div>
349
- <div style="font-size:14px;padding-top:2px"> <b>This computer's firmware should be updated, <a style="cursor:pointer" onclick="require('nw.gui').Shell.openExternal('https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00075&languageid=en-fr')"><u>please check here</u></a>.</b><span id="id_scriptstatusstr"></span></div>
349
+ <div style="font-size:14px;padding-top:2px"> <b>This computer's firmware should be updated, <a style="cursor:pointer" onclick="require('nw.gui').Shell.openExternal('https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00075&languageid=en-fr')"><u>please check here</u></a>.</b></div>
350
</div>
351
<div id="id_mainarea_frame" style="width:100%;height:100%">
352
<iframe id="id_StorageIFrame" style="width:100%;height:100%;border:0"></iframe>
@@ -2103,7 +2103,9 @@ function AmtStackCreateService(wsmanStack) {
2103
e = null;
2104
try {
2105
// NodeJS detection
2106
- } catch (ex) { }
2106
+
2107
+ e = window.atob(ra[i]);
2108
+ } catch (ex) { }
2109
if (e != null) {
2110
TimeStamp = ReadIntX(e, 0);
2111
if ((TimeStamp > 0) && (TimeStamp < 0xFFFFFFFF)) {
@@ -35687,13 +35689,9 @@ if (typeof module !== "undefined" && module.exports) {
35689
}
35690
35691
function editEnvironmentDetectionDlg2(stack, name, response, status) {
35690
- if (status != 200) {
35691
- messagebox('Environment Detection', 'Failed to add server, status ' + status);
35692
- } else if (response.Body["ReturnValue"] != 0) {
35693
- messagebox('Environment Detection', response.Body.ReturnValueStr.replace(/_/g, ' '));
35694
- } else {
35695
- PullRemoteAccess();
35696
- }
35692
+ if (status != 200) { messagebox('Environment Detection', 'Failed to add server, status ' + status); }
35693
+ else if ((response.Body["ReturnValue"]) && (response.Body["ReturnValue"] != 0)) { messagebox('Environment Detection', response.Body.ReturnValueStr.replace(/_/g, ' ')); }
35694
+ else { PullRemoteAccess(); }
35695
}
35696
35697
function edInputChg() {
@@ -36134,7 +36132,8 @@ if (typeof module !== "undefined" && module.exports) {
36132
addOption('d5actionSelect', 'Power down', 8);
36133
addOption('d5actionSelect', 'Reset', 10);
36134
if (amtPowerBootCapabilities["ForceDiagnosticBoot"] == true) {
36137
- addOption('d5actionSelect', 'Diagnostic', 11);
36135
+ addOption('d5actionSelect', 'Power on to diagnostic', 300);
36136
+ addOption('d5actionSelect', 'Reset to diagnostic', 301);
36137
}
36138
if (amtversion > 9) {
36139
addOption('d5actionSelect', 'Soft-off', 12);
@@ -36267,7 +36266,7 @@ if (typeof module !== "undefined" && module.exports) {
36266
consentChanged();
36267
return;
36268
}
36270
- // console.log("Opt-in Required.", response.Body["OptInRequired"]);
36269
+ //console.log("Opt-in Required.", response.Body["OptInRequired"]);
36270
statusbox("Power Action", "Starting opt-in...");
36271
amtstack.IPS_OptInService_StartOptIn(powerActionResponseC1, 0, 1);
36272
} else {
@@ -36366,8 +36365,8 @@ if (typeof module !== "undefined" && module.exports) {
36365
r["LockResetButton"] = false;
36366
r["LockSleepButton"] = false;
36367
r["ReflashBIOS"] = false;
36369
- r["UseIDER"] = (action > 199);
36370
- r["UseSOL"] = ((currentView == 13) && (action != 8)); // If we are looking at the terminal, turn on SOL.
36368
+ r["UseIDER"] = ((action > 199) && (action < 300));
36369
+ r["UseSOL"] = ((currentView == 13) && (action != 8) && (action != 300) && (action != 301)); // If we are looking at the terminal, turn on SOL. SOL can't be used with diagnostic mode (300/301)
36370
r["UseSafeMode"] = false;
36371
r["UserPasswordBypass"] = false;
36372
if (r["SecureErase"]) { r["SecureErase"] = ((action == 104) && (amtPowerBootCapabilities["SecureErase"] == true)); }
@@ -36386,7 +36385,15 @@ if (typeof module !== "undefined" && module.exports) {
36385
//if (errcheck(status, stack)) return;
36386
//console.log("Setup next boot...");
36387
statusbox("Power Action", "Setting next boot...");
36389
- amtstack.SetBootConfigRole(1, powerActionResponse3, 0, 1);
36388
+ amtstack.SetBootConfigRole(1, powerActionResponse3x, 0, 1);
36389
+ }
36390
+
36391
+ function powerActionResponse3x(stack, name, response, status) {
36392
+ //console.log("powerActionResponse3x(" + name + "," + response + "," + status + ")");
36393
+ var action = d5actionSelect.value;
36394
+ var bootSource = null;
36395
+ if (action == 300 || action == 301) { bootSource = '<Address xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://schemas.xmlsoap.org/ws/2004/08/addressing</Address><ReferenceParameters xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing"><ResourceURI xmlns="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_BootSourceSetting</ResourceURI><SelectorSet xmlns="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd"><Selector Name="InstanceID">Intel(r) AMT: Force Diagnostic Boot</Selector></SelectorSet></ReferenceParameters>'; }
36396
+ amtstack.CIM_BootConfigSetting_ChangeBootOrder(bootSource, powerActionResponse3);
36397
}
36398
36399
var targetPowerAction = 0;
@@ -36396,12 +36403,14 @@ if (typeof module !== "undefined" && module.exports) {
36403
//console.log("Performing Power State Change...");
36404
statusbox("Power Action", "Performing power action...");
36405
var action = d5actionSelect.value;
36399
- if (action == 100 || action == 201 || action == 203) action = 2; // Power up
36400
- if (action == 101 || action == 200 || action == 202) action = 10; // Reset
36406
+ if (action == 100 || action == 201 || action == 203 || action == 300) action = 2; // Power up
36407
+ if (action == 101 || action == 200 || action == 202 || action == 301) action = 10; // Reset
36408
if (action == 104) action = 10; // Reset with Remote Secure Erase
36409
36410
if (action == 999) action = AvdPowerDlg.Action;
36411
targetPowerAction = action;
36412
+ //console.log('RequestPowerStateChange:' + action);
36413
+ if (action == 11) { action = 10; }
36414
if (action < 999) { amtstack.RequestPowerStateChange(action, powerActionResponse4); } else { messagebox("Power Action", "Next boot action set."); }
36415
}
36416
@@ -36910,6 +36919,9 @@ if (typeof module !== "undefined" && module.exports) {
36919
36920
// Called by a running script to update the console. The last message in the console is displayed in the top green bar.
36921
function script_console(msg) {
36922
+ if (msg.indexOf("INFO: ") == 0) { msg = msg.substring(6); }
36923
+ if (msg.indexOf("SUCCESS: ") == 0) { msg = msg.substring(9); }
36924
+ if (msg.indexOf("ERROR: ") == 0) { msg = msg.substring(7); }
36925
QH('id_scriptstatusstr', ', ' + msg);
36926
}
36927
@@ -37062,7 +37074,8 @@ if (typeof module !== "undefined" && module.exports) {
37074
function script_fonkeypress(e) {
37075
if (xxdialogMode) return;
37076
if (e.key == 'Delete' && script_BlockScriptSelectedId != null) {
37065
- delete script_BlockScript[script_BlockScriptSelectedId];
37077
+ //delete script_BlockScript[script_BlockScriptSelectedId];
37078
+ script_BlockScript.splice(script_BlockScriptSelectedId, 1);
37079
script_BlockScriptSelectedId = null;
37080
fupdatescript();
37081
}
@@ -37182,7 +37195,7 @@ if (typeof module !== "undefined" && module.exports) {
37195
if (xxdialogMode) return;
37196
if (button == 2) {
37197
// Delete this block
37185
- delete script_BlockScript[tag];
37198
+ script_BlockScript.splice(tag, 1);
37199
if (script_BlockScriptSelectedId == tag) { script_BlockScriptSelectedId = null; }
37200
} else {
37201
// Change this block with new arguments
views/login.handlebars
+3
-2
@@ -158,6 +158,7 @@
158
}
159
160
function go(x) {
161
+ setDialogMode(0);
162
QV("showPassHintLink", false);
163
QV('loginpanel', x == 1);
164
QV('createpanel', x == 2);
@@ -166,11 +167,11 @@
167
function validateLogin() {
168
var ok = (Q('username').value.length > 0 && Q('password').value.length > 0);
169
QE('loginButton', ok);
169
- QV("showPassHintLink", false);
170
+ setDialogMode(0);
171
}
172
173
function validateCreate() {
173
- QV("showPassHintLink", false);
174
+ setDialogMode(0);
175
var ok = (Q('ausername').value.length > 0 && Q('aemail').value.length > 0 && Q('apassword1').value.length > 0 && Q('apassword2').value == Q('apassword1').value);
176
QE('createButton', ok);
177
if (Q('apassword1').value == '') {
webserver.js
+5
-5
@@ -625,7 +625,7 @@ module.exports.CreateWebServer = function (parent, db, args, secret, certificate
625
if ((meshlinks.rights & 8) == 0) { console.log('ERR: Access denied (2)'); return; }
626
627
// Check what connectivity is available for this node
628
- var state = parent.connectivityByNode[req.query.host];
628
+ var state = parent.GetConnectivityState(req.query.host);
629
var conn = 0;
630
if (!state || state.connectivity == 0) {
631
conn = 4; // DEBUG: Allow local connections for now... change this later when we can monitor Intel AMT machines and confirm routing before connections.
@@ -958,7 +958,7 @@ module.exports.CreateWebServer = function (parent, db, args, secret, certificate
958
var r = {};
959
for (var i in docs) {
960
// Add the connection state
961
- var state = parent.connectivityByNode[docs[i]._id];
961
+ var state = parent.GetConnectivityState(docs[i]._id);
962
if (state) {
963
docs[i].conn = state.connectivity;
964
docs[i].pwr = state.powerState;
@@ -1017,7 +1017,7 @@ module.exports.CreateWebServer = function (parent, db, args, secret, certificate
1017
ws.send(JSON.stringify({ action: 'powertimeline', nodeid: command.nodeid, timeline: timeline }));
1018
} else {
1019
// No records found, send current state if we have it
1020
- var state = obj.parent.connectivityByNode[command.nodeid];
1020
+ var state = obj.parent.GetConnectivityState(command.nodeid);
1021
if (state != undefined) { ws.send(JSON.stringify({ action: 'powertimeline', nodeid: command.nodeid, timeline: [state.powerState, Date.now(), state.powerState] })); }
1022
}
1023
});
@@ -1400,7 +1400,7 @@ module.exports.CreateWebServer = function (parent, db, args, secret, certificate
1400
obj.parent.DispatchEvent(['*', node.meshid], obj, { etype: 'node', username: user.name, action: 'removenode', nodeid: node._id, msg: change, domain: domain.id })
1401
1402
// Disconnect all connections if needed
1403
- var state = obj.parent.connectivityByNode[command.nodeid];
1403
+ var state = obj.parent.GetConnectivityState(command.nodeid);
1404
if ((state != undefined) && (state.connectivity != undefined)) {
1405
if ((state.connectivity & 1) != 0) { obj.wsagents[command.nodeid].close(); } // Disconnect mesh agent
1406
if ((state.connectivity & 2) != 0) { obj.parent.mpsserver.close(obj.parent.mpsserver.ciraConnections[command.nodeid]); } // Disconnect CIRA connection
@@ -1895,7 +1895,7 @@ module.exports.CreateWebServer = function (parent, db, args, secret, certificate
1895
// Setup all HTTP handlers
1896
obj.app.get('/backup.zip', handleBackupRequest);
1897
obj.app.post('/restoreserver.ashx', handleRestoreRequest);
1898
- if (parent.multiServer != null) { obj.app.ws('/meshserver.ashx', parent.multiServer.handleServerWebSocket); }
1898
+ if (parent.multiServer != null) { obj.app.ws('/meshserver.ashx', function (ws, req) { parent.multiServer.CreatePeerInServer(parent.multiServer, ws, req); } ); }
1899
for (var i in parent.config.domains) {
1900
var url = parent.config.domains[i].url;
1901
obj.app.get(url, handleRootRequest);