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