Added DropAllCira command to server console, #2976

Ylian Saint-Hilaire committed Jul 30, 2021 at 17:09 UTC d7e41d8366c19bba71f2d2683ea9975a6651fa21
2 files changed +17
meshuser.js
+7
@@ -5448,6 +5448,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
5448 'dbcounters': [serverUserCommandDbCounters, ""],
5449 'dbstats': [serverUserCommandDbStats, ""],
5450 'dispatchtable': [serverUserCommandDispatchTable, ""],
5451 + 'dropallcira': [serverUserCommandDropAllCira, ""],
5452 'dupagents': [serverUserCommandDupAgents, ""],
5453 'email': [serverUserCommandEmail, ""],
5454 'firebase': [serverUserCommandFirebase, ""],
@@ -5854,6 +5855,12 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
5855 }
5856 }
5857
5858 + function serverUserCommandDropAllCira(cmdData) {
5859 + if (parent.parent.mpsserver == null) { cmdData.result = 'MPS not setup.'; return; }
5860 + const dropCount = parent.parent.mpsserver.dropAllConnections();
5861 + cmdData.result = 'Dropped ' + dropCount + ' connection(s).';
5862 + }
5863 +
5864 function serverUserCommandDupAgents(cmdData) {
5865 for (var i in parent.duplicateAgentsLog) {
5866 cmdData.result += JSON.stringify(parent.duplicateAgentsLog[i]) + '\r\n';
mpsserver.js
+10
@@ -1325,6 +1325,16 @@ module.exports.CreateMpsServer = function (parent, db, args, certificates) {
1325 for (var i in obj.httpResponses) { if ((obj.httpResponses[i].maxtime != null) && (obj.httpResponses[i].maxtime < now)) { delete obj.httpResponses[i]; } }
1326 }
1327
1328 + // Drop all CIRA connections
1329 + obj.dropAllConnections = function () {
1330 + var dropCount = 0;
1331 + for (var nodeid in obj.ciraConnections) {
1332 + const connections = obj.ciraConnections[nodeid];
1333 + for (var i in connections) { if (connections[i].end) { connections[i].end(); dropCount++; } } // This will drop all TCP CIRA connections
1334 + }
1335 + return dropCount;
1336 + }
1337 +
1338 function guidToStr(g) { return g.substring(6, 8) + g.substring(4, 6) + g.substring(2, 4) + g.substring(0, 2) + "-" + g.substring(10, 12) + g.substring(8, 10) + "-" + g.substring(14, 16) + g.substring(12, 14) + "-" + g.substring(16, 20) + "-" + g.substring(20); }
1339
1340 // Clean a IPv6 address that encodes a IPv4 address