Fix for #2731

Ylian Saint-Hilaire committed Jun 4, 2021 at 16:03 UTC 75bb1f3e52a130e51bfcd8e04f225be49b8e1745
2 files changed +12 -10
meshuser.js
+9 -9
@@ -155,12 +155,13 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
155 if (parent.parent.multiServer != null) { parent.parent.multiServer.DispatchMessage({ action: 'sessionEnd', sessionid: ws.sessionId }); }
156
157 // Aggressive cleanup
158 - if (obj.user) { delete obj.user; }
159 - if (obj.domain) { delete obj.domain; }
160 - if (ws.userid) { delete ws.userid; }
161 - if (ws.domainid) { delete ws.domainid; }
162 - if (ws.sessionId) { delete ws.sessionId; }
163 - if (ws.HandleEvent) { delete ws.HandleEvent; }
158 + delete obj.user;
159 + delete obj.domain;
160 + delete ws.userid;
161 + delete ws.domainid;
162 + delete ws.clientIp;
163 + delete ws.sessionId;
164 + delete ws.HandleEvent;
165 ws.removeAllListeners(['message', 'close', 'error']);
166 };
167
@@ -329,6 +330,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
330 // Associate this websocket session with the web session
331 ws.userid = user._id;
332 ws.domainid = domain.id;
333 + ws.clientIp = req.clientIp;
334
335 // Create a new session id for this user.
336 parent.crypto.randomBytes(20, function (err, randombuf) {
@@ -1299,9 +1301,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
1301 userSessionCount++;
1302 r += (i + ', ' + parent.wssessions[i].length + ' session' + ((parent.wssessions[i].length > 1) ? 's' : '') + '.\r\n');
1303 for (var j in parent.wssessions[i]) {
1302 - var addr = parent.wssessions[i][j]._socket.remoteAddress;
1303 - if (addr.startsWith('::ffff:')) { addr = addr.substring(7); }
1304 - r += ' ' + addr + ' --> ' + parent.wssessions[i][j].sessionId + '\r\n';
1304 + r += ' ' + parent.wssessions[i][j].clientIp + ' --> ' + parent.wssessions[i][j].sessionId + '\r\n';
1305 }
1306 }
1307 }
views/default.handlebars
+3 -1
@@ -12388,7 +12388,9 @@
12388 114: "Removed push notification authentication device",
12389 115: "Added login token",
12390 116: "Removed login token",
12391 - 117: "This is an old agent version, consider updating."
12391 + 117: "This is an old agent version, consider updating.",
12392 + 118: "This agent has an outstated certificate validation mechanism, consider updating.",
12393 + 119: "This agent is using insecure tunnels, consider updating."
12394 };
12395
12396 // Highlights the device being hovered