Fixed agent invite codes to make them unique per domain.

Ylian Saint-Hilaire committed Apr 30, 2020 at 18:52 UTC 3b11d528c3149e2d422b723c2fda72656b49ec84
3 files changed +3 -3
meshuser.js
+1 -1
@@ -2457,7 +2457,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
2457 var dup = null;
2458 for (var i in command.invite.codes) {
2459 for (var j in parent.meshes) {
2460 - if ((j != command.meshid) && (parent.meshes[j].invite != null) && (parent.meshes[j].invite.codes.indexOf(command.invite.codes[i]) >= 0)) { dup = command.invite.codes[i]; break; }
2460 + if ((j != command.meshid) && (parent.meshes[j].domain == domain.id) && (parent.meshes[j].invite != null) && (parent.meshes[j].invite.codes.indexOf(command.invite.codes[i]) >= 0)) { dup = command.invite.codes[i]; break; }
2461 }
2462 }
2463 if (dup != null) {
translate/translate.json
+1 -1
@@ -29886,4 +29886,4 @@
29886 ]
29887 }
29888 ]
29889 -}
29889 +}
\ No newline at end of file
webserver.js
+1 -1
@@ -1481,7 +1481,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1481
1482 // Each for a device group that has this invite code.
1483 for (var i in obj.meshes) {
1484 - if ((obj.meshes[i].invite != null) && (obj.meshes[i].invite.codes.indexOf(req.body.inviteCode) >= 0)) {
1484 + if ((obj.meshes[i].domain == domain.id) && (obj.meshes[i].invite != null) && (obj.meshes[i].invite.codes.indexOf(req.body.inviteCode) >= 0)) {
1485 // Send invitation link, valid for 1 minute.
1486 res.redirect(domain.url + 'agentinvite?c=' + parent.encodeCookie({ a: 4, mid: i, f: obj.meshes[i].invite.flags, expire: 1 }, parent.invitationLinkEncryptionKey) + (req.query.key ? ('&key=' + req.query.key) : ''));
1487 return;