dont log amt wsman events and fix start/end times in recordings

Signed-off-by: si458 <simonsmith5521@gmail.com>

si458 committed Apr 16, 2025 at 20:22 UTC f029abb1f8f70f543a27e0c118ca9b138acadd92
3 files changed +19 -21
views/default.handlebars
+1 -1
@@ -17503,7 +17503,7 @@
17503 if (rec.meshname) { x += addHtmlValue4("Device Group", EscapeHtml(rec.meshname)); }
17504 if (rec.size) { x += addHtmlValue4("Size", format("{0} bytes", rec.size)); }
17505 if (rec.startTime) { x += addHtmlValue4("Start Time", printTime(new Date(rec.startTime))); }
17506 - if (rec.time) { x += addHtmlValue4("End Time", printTime(new Date(rec.time))); }
17506 + if (rec.startTime && rec.lengthTime) { x += addHtmlValue4("End Time", printTime(new Date(rec.startTime + (rec.lengthTime * 1000)))); }
17507 if (rec.lengthTime) { x += addHtmlValue4("Duration", pad2(Math.floor(rec.lengthTime / 3600)) + ':' + pad2(Math.floor((rec.lengthTime % 3600) / 60)) + ':' + pad2(Math.floor(rec.lengthTime % 60))); }
17508 if (rec.multiplex == true) { x += addHtmlValue4("Multiplexor", "Enabled"); }
17509 if (rec.userids) { for (var i in rec.userids) { x += addHtmlValue4("User", rec.userids[i].split('/')[2]); } }
views/default3.handlebars
+1 -1
@@ -18769,7 +18769,7 @@
18769 if (rec.meshname) { x += addHtmlValue4("Device Group", EscapeHtml(rec.meshname)); }
18770 if (rec.size) { x += addHtmlValue4("Size", format("{0} bytes", rec.size)); }
18771 if (rec.startTime) { x += addHtmlValue4("Start Time", printTime(new Date(rec.startTime))); }
18772 - if (rec.time) { x += addHtmlValue4("End Time", printTime(new Date(rec.time))); }
18772 + if (rec.startTime && rec.lengthTime) { x += addHtmlValue4("End Time", printTime(new Date(rec.startTime + (rec.lengthTime * 1000)))); }
18773 if (rec.lengthTime) { x += addHtmlValue4("Duration", pad2(Math.floor(rec.lengthTime / 3600)) + ':' + pad2(Math.floor((rec.lengthTime % 3600) / 60)) + ':' + pad2(Math.floor(rec.lengthTime % 60))); }
18774 if (rec.multiplex == true) { x += addHtmlValue4("Multiplexor", "Enabled"); }
18775 if (rec.userids) { for (var i in rec.userids) { x += addHtmlValue4("User", rec.userids[i].split('/')[2]); } }
webserver.js
+17 -19
@@ -4953,12 +4953,12 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
4953
4954 // Log the disconnection
4955 if (ws.time) {
4956 - var msg = 'Ended relay session', msgid = 9, ip = ((ciraconn != null) ? ciraconn.remoteAddr : (((conn & 4) != 0) ? node.host : req.clientIp));
4957 - var nodeid = node._id;
4958 - var meshid = node.meshid;
4959 - if (user) {
4960 - var event = { etype: 'relay', action: 'relaylog', domain: domain.id, userid: user._id, username: user.name, msgid: msgid, msgArgs: [ws.id, req.clientIp, ip, Math.floor((Date.now() - ws.time) / 1000)], msg: msg + ' \"' + ws.id + '\" from ' + req.clientIp + ' to ' + ip + ', ' + Math.floor((Date.now() - ws.time) / 1000) + ' second(s)', protocol: ((req.query.p == 2) ? 101 : 100), nodeid: nodeid };
4961 - obj.parent.DispatchEvent(['*', user._id, nodeid, meshid], obj, event);
4956 + if (req.query.p == 2) { // Only log event if Intel Redirection, otherwise hundreds of logs for WSMAN are recorded
4957 + var msg = 'Ended relay session', msgid = 9, ip = ((ciraconn != null) ? ciraconn.remoteAddr : (((conn & 4) != 0) ? node.host : req.clientIp));
4958 + if (user) {
4959 + var event = { etype: 'relay', action: 'relaylog', domain: domain.id, userid: user._id, username: user.name, msgid: msgid, msgArgs: [ws.id, req.clientIp, ip, Math.floor((Date.now() - ws.time) / 1000)], msg: msg + ' \"' + ws.id + '\" from ' + req.clientIp + ' to ' + ip + ', ' + Math.floor((Date.now() - ws.time) / 1000) + ' second(s)', protocol: 101, nodeid: node._id };
4960 + obj.parent.DispatchEvent(['*', user._id, node._id, node.meshid], obj, event);
4961 + }
4962 }
4963 }
4964
@@ -4978,7 +4978,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
4978 parent.debug('relay', 'Relay: Finished recording to file: ' + ws.logfile.filename);
4979 // Compute session length
4980 var sessionLength = null;
4981 - if (ws.logfile.startTime != null) { sessionLength = Math.round((Date.now() - ws.logfile.startTime) / 1000); }
4981 + if (ws.logfile.startTime != null) { sessionLength = Math.round((Date.now() - ws.logfile.startTime) / 1000) - 5; }
4982 // Add a event entry about this recording
4983 var basefile = parent.path.basename(ws.logfile.filename);
4984 var event = { etype: 'relay', action: 'recording', domain: domain.id, nodeid: ws.logfile.nodeid, msg: "Finished recording session" + (sessionLength ? (', ' + sessionLength + ' second(s)') : ''), filename: basefile, size: ws.logfile.size };
@@ -5028,7 +5028,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
5028 parent.debug('relay', 'Relay1: Finished recording to file: ' + ws.logfile.filename);
5029 // Compute session length
5030 var sessionLength = null;
5031 - if (ws.logfile.startTime != null) { sessionLength = Math.round((Date.now() - ws.logfile.startTime) / 1000); }
5031 + if (ws.logfile.startTime != null) { sessionLength = Math.round((Date.now() - ws.logfile.startTime) / 1000) - 5; }
5032 // Add a event entry about this recording
5033 var basefile = parent.path.basename(ws.logfile.filename);
5034 var event = { etype: 'relay', action: 'recording', domain: domain.id, nodeid: ws.logfile.nodeid, msg: "Finished recording session" + (sessionLength ? (', ' + sessionLength + ' second(s)') : ''), filename: basefile, size: ws.logfile.size };
@@ -5087,11 +5087,9 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
5087 // Log the disconnection
5088 if (ws.time) {
5089 var msg = 'Ended relay session', msgid = 9, ip = ((ciraconn != null) ? ciraconn.remoteAddr : (((conn & 4) != 0) ? node.host : req.clientIp));
5090 - var nodeid = node._id;
5091 - var meshid = node.meshid;
5090 if (user) {
5093 - var event = { etype: 'relay', action: 'relaylog', domain: domain.id, userid: user._id, username: user.name, msgid: msgid, msgArgs: [ws.id, req.clientIp, ip, Math.floor((Date.now() - ws.time) / 1000)], msg: msg + ' \"' + ws.id + '\" from ' + req.clientIp + ' to ' + ip + ', ' + Math.floor((Date.now() - ws.time) / 1000) + ' second(s)', protocol: ((req.query.p == 2) ? 101 : 100), nodeid: nodeid };
5094 - obj.parent.DispatchEvent(['*', user._id, nodeid, meshid], obj, event);
5091 + var event = { etype: 'relay', action: 'relaylog', domain: domain.id, userid: user._id, username: user.name, msgid: msgid, msgArgs: [ws.id, req.clientIp, ip, Math.floor((Date.now() - ws.time) / 1000)], msg: msg + ' \"' + ws.id + '\" from ' + req.clientIp + ' to ' + ip + ', ' + Math.floor((Date.now() - ws.time) / 1000) + ' second(s)', protocol: ((req.query.p == 2) ? 101 : 100), nodeid: node._id };
5092 + obj.parent.DispatchEvent(['*', user._id, node._id, node.meshid], obj, event);
5093 }
5094 }
5095 if (ws.forwardclient) { try { ws.forwardclient.destroy(); } catch (e) { } }
@@ -5129,11 +5127,9 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
5127 // Log the disconnection
5128 if (ws.time) {
5129 var msg = 'Ended relay session', msgid = 9, ip = ((ciraconn != null) ? ciraconn.remoteAddr : (((conn & 4) != 0) ? node.host : req.clientIp));
5132 - var nodeid = node._id;
5133 - var meshid = node.meshid;
5130 if (user) {
5135 - var event = { etype: 'relay', action: 'relaylog', domain: domain.id, userid: user._id, username: user.name, msgid: msgid, msgArgs: [ws.id, req.clientIp, ip, Math.floor((Date.now() - ws.time) / 1000)], msg: msg + ' \"' + ws.id + '\" from ' + req.clientIp + ' to ' + ip + ', ' + Math.floor((Date.now() - ws.time) / 1000) + ' second(s)', protocol: ((req.query.p == 2) ? 101 : 100), nodeid: nodeid };
5136 - obj.parent.DispatchEvent(['*', user._id, nodeid, meshid], obj, event);
5131 + var event = { etype: 'relay', action: 'relaylog', domain: domain.id, userid: user._id, username: user.name, msgid: msgid, msgArgs: [ws.id, req.clientIp, ip, Math.floor((Date.now() - ws.time) / 1000)], msg: msg + ' \"' + ws.id + '\" from ' + req.clientIp + ' to ' + ip + ', ' + Math.floor((Date.now() - ws.time) / 1000) + ' second(s)', protocol: ((req.query.p == 2) ? 101 : 100), nodeid: node._id };
5132 + obj.parent.DispatchEvent(['*', user._id, node._id, node.meshid], obj, event);
5133 }
5134 }
5135 if (ws.forwardclient) { try { ws.forwardclient.destroy(); } catch (e) { } }
@@ -5237,9 +5233,11 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
5233
5234 // Log the connection
5235 if (user != null) {
5240 - var msg = 'Started relay session', msgid = 13, ip = ((ciraconn != null) ? ciraconn.remoteAddr : (((conn & 4) != 0) ? node.host : req.clientIp));
5241 - var event = { etype: 'relay', action: 'relaylog', domain: domain.id, userid: user._id, username: user.name, msgid: msgid, msgArgs: [ws.id, req.clientIp, ip], msg: msg + ' \"' + obj.id + '\" from ' + req.clientIp + ' to ' + ip, protocol: ((req.query.p == 2) ? 101 : 100), nodeid: node._id };
5242 - obj.parent.DispatchEvent(['*', user._id], obj, event);
5236 + if (req.query.p == 2) { // Only log event if Intel Redirection, otherwise hundreds of logs for WSMAN are recorded
5237 + var msg = 'Started relay session', msgid = 13, ip = ((ciraconn != null) ? ciraconn.remoteAddr : (((conn & 4) != 0) ? node.host : req.clientIp));
5238 + var event = { etype: 'relay', action: 'relaylog', domain: domain.id, userid: user._id, username: user.name, msgid: msgid, msgArgs: [ws.id, req.clientIp, ip], msg: msg + ' \"' + ws.id + '\" from ' + req.clientIp + ' to ' + ip, protocol: 101, nodeid: node._id };
5239 + obj.parent.DispatchEvent(['*', user._id], obj, event);
5240 + }
5241
5242 // Update user last access time
5243 if ((user != null)) {