Factor out node id and domain validation
Noah Zalev committed
Jul 13, 2021 at 17:51 UTC
34aab9c10a2396f6c2344cc54683356739bc0616
1 file changed
+8
-7
meshuser.js
+8
-7
@@ -5532,10 +5532,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
5532
};
5533
5534
function serverCommandGetNetworkInfo(command) {
5535
- // Argument validation
5536
- if (common.validateString(command.nodeid, 1, 1024) == false) return; // Check nodeid
5537
- if (command.nodeid.indexOf('/') == -1) { command.nodeid = 'node/' + domain.id + '/' + command.nodeid; }
5538
- if ((command.nodeid.split('/').length != 3) || (command.nodeid.split('/')[1] != domain.id)) return; // Invalid domain, operation only valid for current domain
5535
+ if (!validNodeIdAndDomain(command)) return;
5536
5537
// Get the node and the rights for this node
5538
parent.GetNodeWithRights(domain, user, command.nodeid, function (node, rights, visible) {
@@ -5560,9 +5557,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
5557
}
5558
5559
function serverCommandLastConnect(command) {
5563
- if (common.validateString(command.nodeid, 1, 1024) == false) return; // Check the nodeid
5564
- if (command.nodeid.indexOf('/') == -1) { command.nodeid = 'node/' + domain.id + '/' + command.nodeid; }
5565
- if ((command.nodeid.split('/').length != 3) || (command.nodeid.split('/')[1] != domain.id)) return; // Invalid domain, operation only valid for current domain
5560
+ if (!validNodeIdAndDomain(command)) return;
5561
5562
// Get the node and the rights for this node
5563
parent.GetNodeWithRights(domain, user, command.nodeid, function (node, rights, visible) {
@@ -6154,6 +6149,12 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
6149
}
6150
6151
6152
+ function validNodeIdAndDomain(command) {
6153
+ if (common.validateString(command.nodeid, 1, 1024) == false) return false; // Check nodeid
6154
+ if (command.nodeid.indexOf('/') == -1) { command.nodeid = 'node/' + domain.id + '/' + command.nodeid; }
6155
+ if ((command.nodeid.split('/').length != 3) || (command.nodeid.split('/')[1] != domain.id)) return false; // Invalid domain, operation only valid for current domain
6156
+ return true;
6157
+ }
6158
6159
function csvClean(s) { return '\"' + s.split('\"').join('').split(',').join('').split('\r').join('').split('\n').join('') + '\"'; }
6160