fix CIRA node overwrite on DB error (#7674)
Jakub Maruszczak committed
Mar 15, 2026 at 12:13 UTC
f9022e4a407c55e37d956341927dc241112c1356
1 file changed
+3
mpsserver.js
+3
@@ -459,6 +459,7 @@ module.exports.CreateMpsServer = function (parent, db, args, certificates) {
459
460
// Fetch the node
461
obj.db.Get(socket.tag.nodeid, function (err, nodes) {
462
+ if (err) { parent.debug('mps', 'CIRA db.Get error for ' + socket.tag.nodeid + ': ' + err); obj.close(socket); return; }
463
if ((nodes == null) || (nodes.length !== 1)) {
464
var mesh = obj.parent.webserver.meshes[socket.tag.meshid];
465
if (mesh == null) {
@@ -692,6 +693,7 @@ module.exports.CreateMpsServer = function (parent, db, args, certificates) {
693
socket.tag.connectTime = Date.now();
694
695
obj.db.Get(socket.tag.nodeid, function (err, nodes) {
696
+ if (err) { parent.debug('mps', 'CIRA db.Get error for ' + socket.tag.nodeid + ': ' + err); obj.close(socket); return; }
697
if ((nodes == null) || (nodes.length !== 1)) {
698
// Check if we already have too many devices for this domain
699
if (domain.limits && (typeof domain.limits.maxdevices == 'number')) {
@@ -770,6 +772,7 @@ module.exports.CreateMpsServer = function (parent, db, args, certificates) {
772
} else if (initialMesh.mtype == 2) { // If this is a agent mesh, search the mesh for this device UUID
773
// Intel AMT GUID (socket.tag.SystemId) will be used to search the node
774
obj.db.getAmtUuidMeshNode(initialMesh.domain, initialMesh.mtype, socket.tag.SystemId, function (err, nodes) { // TODO: Need to optimize this request with indexes
775
+ if (err) { parent.debug('mps', 'CIRA db.Get error for ' + socket.tag.SystemId + ': ' + err); obj.close(socket); return; }
776
if ((nodes == null) || (nodes.length === 0) || (obj.parent.webserver.meshes == null)) {
777
// New CIRA connection for unknown node, create a new device.
778
unknownNodeCount++;