From b99fb686750ee49cac64478ac895acc236dbd94c Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Mon, 2 Oct 2023 00:30:16 -0700 Subject: [PATCH] Fixed #5378, in some cases MPS crash when reverse lookup of IPv6 address. --- mpsserver.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mpsserver.js b/mpsserver.js index 515069bb..7b443f70 100644 --- a/mpsserver.js +++ b/mpsserver.js @@ -733,7 +733,7 @@ module.exports.CreateMpsServer = function (parent, db, args, certificates) { return; } else { // Attempts reverse DNS loopup on the device IP address - require('dns').reverse(socket.remoteAddr, function (err, hostnames) { + const reverseDnsLookupHandler = function (err, hostnames) { var hostname = socket.remoteAddr; if ((err == null) && (hostnames != null) && (hostnames.length > 0)) { hostname = hostnames[0]; } @@ -752,7 +752,8 @@ module.exports.CreateMpsServer = function (parent, db, args, certificates) { addedDeviceCount++; var change = 'Added CIRA device ' + socket.tag.name + ' to group ' + initialMesh.name; obj.parent.DispatchEvent(['*', socket.tag.meshid], obj, { etype: 'node', action: 'addnode', node: parent.webserver.CloneSafeNode(device), msg: change, domain: initialMesh.domain }); - }); + } + try { require('dns').reverse(socket.remoteAddr, reverseDnsLookupHandler); } catch (ex) { reverseDnsLookupHandler(ex, null); } } } else { // Node is already present