Improved MeshCentral Router with individual device permission support.

Ylian Saint-Hilaire committed Apr 1, 2020 at 16:41 UTC d9ac60cad38945f54d907638b04f1826b6c2bc17
5 files changed +6 -1003
agents/MeshCentralRouter.exe
Binary files a/agents/MeshCentralRouter.exe and b/agents/MeshCentralRouter.exe differ
meshrelay.js
+4 -6
@@ -80,7 +80,7 @@ module.exports.CreateMeshRelay = function (parent, ws, req, domain, user, cookie
80 var agent = parent.wsagents[command.nodeid];
81 if (agent != null) {
82 // Check if we have permission to send a message to that node
83 - rights = user.links[agent.dbMeshKey]; // TODO: Need to include user group / node rights
83 + rights = parent.GetNodeRights(user, agent.dbMeshKey, agent.dbNodeKey);
84 mesh = parent.meshes[agent.dbMeshKey];
85 if ((rights != null) && (mesh != null) || ((rights & 16) != 0)) { // TODO: 16 is console permission, may need more gradular permission checking
86 if (ws.sessionId) { command.sessionid = ws.sessionId; } // Set the session id, required for responses.
@@ -98,7 +98,7 @@ module.exports.CreateMeshRelay = function (parent, ws, req, domain, user, cookie
98 var routing = parent.parent.GetRoutingServerId(command.nodeid, 1); // 1 = MeshAgent routing type
99 if (routing != null) {
100 // Check if we have permission to send a message to that node
101 - rights = user.links[routing.meshid]; // TODO: Need to include user groups / node rights
101 + rights = parent.GetNodeRights(user, routing.meshid, command.nodeid);
102 mesh = parent.meshes[routing.meshid];
103 if (rights != null || ((rights & 16) != 0)) { // TODO: 16 is console permission, may need more gradular permission checking
104 if (ws.sessionId) { command.fromSessionid = ws.sessionId; } // Set the session id, required for responses.
@@ -419,8 +419,7 @@ module.exports.CreateMeshRelay = function (parent, ws, req, domain, user, cookie
419 const node = docs[0];
420
421 // Check if this user has permission to manage this computer
422 - const meshlinks = user.links[node.meshid];
423 - if ((!meshlinks) || (!meshlinks.rights) || ((meshlinks.rights & MESHRIGHT_REMOTECONTROL) == 0)) { console.log('ERR: Access denied (2)'); try { obj.close(); } catch (e) { } return; }
422 + if ((parent.GetNodeRights(user, node.meshid, node._id) & MESHRIGHT_REMOTECONTROL) == 0) { console.log('ERR: Access denied (1)'); try { obj.close(); } catch (e) { } return; }
423
424 // Send connection request to agent
425 const rcookie = parent.parent.encodeCookie({ ruserid: user._id }, parent.parent.loginCookieEncryptionKey);
@@ -438,8 +437,7 @@ module.exports.CreateMeshRelay = function (parent, ws, req, domain, user, cookie
437 const node = docs[0];
438
439 // Check if this user has permission to manage this computer
441 - const meshlinks = user.links[node.meshid];
442 - if ((!meshlinks) || (!meshlinks.rights) || ((meshlinks.rights & MESHRIGHT_REMOTECONTROL) == 0)) { console.log('ERR: Access denied (2)'); try { obj.close(); } catch (e) { } return; }
440 + if ((parent.GetNodeRights(user, node.meshid, node._id) & MESHRIGHT_REMOTECONTROL) == 0) { console.log('ERR: Access denied (2)'); try { obj.close(); } catch (e) { } return; }
441
442 // Send connection request to agent
443 if (obj.id == null) { obj.id = ('' + Math.random()).substring(2); } // If there is no connection id, generate one.
package.json
+1 -1
@@ -1,6 +1,6 @@
1 {
2 "name": "meshcentral",
3 - "version": "0.5.0-y",
3 + "version": "0.5.0-z",
4 "keywords": [
5 "Remote Management",
6 "Intel AMT",
webserver.js
+1 -1
@@ -2525,7 +2525,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
2525 if (!node.intelamt) { console.log('ERR: Not AMT node'); try { ws.close(); } catch (e) { } return; } // Disconnect websocket
2526
2527 // Check if this user has permission to manage this computer
2528 - if ((obj.GetNodeRights(user, node.meshid, node._id) & MESHRIGHT_REMOTECONTROL) == 0) { console.log('ERR: Access denied (2)'); try { ws.close(); } catch (e) { } return; }
2528 + if ((obj.GetNodeRights(user, node.meshid, node._id) & MESHRIGHT_REMOTECONTROL) == 0) { console.log('ERR: Access denied (3)'); try { ws.close(); } catch (e) { } return; }
2529
2530 // Check what connectivity is available for this node
2531 var state = parent.GetConnectivityState(req.query.host);
x.txt deleted
-995
@@ -1,995 +0,0 @@
1 -[
2 - {
3 - _id: 'mesh//1nT1F9umCUQq88oBRjsRrrZzlGKCV$f1M5TYFHdh5xNGbBkRr60tMMILFBHz9R8m',
4 - desc: 'aaaaaaAA',
5 - domain: '',
6 - links: {
7 - 'user//aa@aa%252Ecom': [Object],
8 - 'user//bb@bb%252Ecom': [Object]
9 - },
10 - mtype: '1',
11 - name: 'amtgroup',
12 - type: 'mesh',
13 - amt: { type: 0 },
14 - deleted: '2019-07-10T18:13:29.359Z'
15 - },
16 - {
17 - _id: 'mesh//2OkP5uyAD2cAT04SYAR557liKxAheZbv@wjb46pMFMuc9qnlkRsl0nJA65f2uf0U',
18 - desc: '',
19 - domain: '',
20 - links: { 'user//admin': [Object] },
21 - mtype: '2',
22 - name: 'aaa',
23 - type: 'mesh',
24 - deleted: '2019-07-01T21:48:57.460Z'
25 - },
26 - {
27 - type: 'mesh',
28 - _id: 'mesh//2YIhZVvKXOLdJuO7JntcGjfvXmXii85xkE$A9m3jB@93q9tydXKQPEkVqrby04kX',
29 - name: 'aa',
30 - mtype: '2',
31 - desc: '',
32 - domain: '',
33 - links: { 'user//admin': [Object] },
34 - deleted: 2020-03-17T22:02:47.403Z
35 - },
36 - {
37 - _id: 'mesh//2bSZVMA5xXrPy6195M0pOlblRFg3xjWCRH0OLPjuUXLLmgS9Y7n4RY3SX2sA1gWM',
38 - desc: 'This is a test group',
39 - domain: '',
40 - links: { 'user//admin': [Object] },
41 - mtype: 2,
42 - name: 'Test2',
43 - type: 'mesh',
44 - deleted: '2019-06-30T18:32:57.821Z'
45 - },
46 - {
47 - _id: 'mesh//2odhtyJSNw0$wApTgsGPZoF1h5XovNbN9KbetvIzMkAhXsPyFXFfW@Dnwp6BMhis',
48 - type: 'mesh',
49 - name: 'BobMesh',
50 - mtype: '2',
51 - desc: '',
52 - domain: '',
53 - links: { 'user//544849534953415445535453494431': [Object] }
54 - },
55 - {
56 - _id: 'mesh//4C415JpzhmNvKPxRHTVulYklJOR7z3qwqzSr9kHsJH0YZpjGrkePjRiHr$iEm8hd',
57 - desc: '',
58 - domain: '',
59 - links: { 'user//admin': [Object] },
60 - mtype: '2',
61 - name: 'aaa',
62 - type: 'mesh',
63 - deleted: '2019-07-23T22:38:49.356Z'
64 - },
65 - {
66 - _id: 'mesh//4c84kKt4qhoBn678LzXKipyT2kWlbuTyd9N4@T5UIXkII@eGrAPClzwfQQjUQ$g6',
67 - type: 'mesh',
68 - name: 'sdfsdf"sdfsdf',
69 - mtype: '2',
70 - desc: '',
71 - domain: '',
72 - links: { 'user//admin': [Object] },
73 - deleted: '2019-05-09T18:08:51.985Z'
74 - },
75 - {
76 - _id: 'mesh//4yUyexeTpWLkDdT2XI@9SnrRFlKJlmaBLz8Aaf1hdQZbRg$@usL$le@TTndFzurg',
77 - desc: 'This is a test group',
78 - domain: '',
79 - links: { 'user//admin': [Object] },
80 - mtype: 2,
81 - name: 'Test2',
82 - type: 'mesh',
83 - deleted: '2019-06-30T18:31:39.798Z'
84 - },
85 - {
86 - _id: 'mesh//542dea438e6065bffa9318c149e9982440dba4ce6ba3ba2b577e0e127b6a7f24',
87 - type: 'mesh',
88 - name: 'test',
89 - domain: '',
90 - mtype: 2,
91 - links: { 'user//bryan': [Object] }
92 - },
93 - {
94 - type: 'mesh',
95 - _id: 'mesh//5LNNn8cM9vKaUFs91inT2SNpTXgp0mlmI6Q29kCFEmoypqxYDfjY5N7Ae3QxwIVO',
96 - name: 'Work Computers',
97 - mtype: '2',
98 - desc: '',
99 - domain: '',
100 - links: { 'user//admin': [Object] }
101 - },
102 - {
103 - _id: 'mesh//5UF4BiTaWGSopa2pInUNU7hpts@omoNFEA5r4nMClg8wy79jH6yb4oB2YEt5qYDn',
104 - desc: 'This is a test group',
105 - domain: '',
106 - links: { 'user//admin': [Object] },
107 - mtype: 2,
108 - name: 'Test2',
109 - type: 'mesh',
110 - deleted: '2019-06-30T18:33:11.188Z'
111 - },
112 - {
113 - _id: 'mesh//5rU@REWdkn3fVkWFUNDFfoZrv19hjG7$yHraRwPypiN9VYJaeDK5vFdfwqjqujDx',
114 - desc: 'This is a test group',
115 - domain: '',
116 - links: { 'user//admin': [Object] },
117 - mtype: 2,
118 - name: 'Test2',
119 - type: 'mesh',
120 - deleted: '2019-06-30T18:32:09.805Z'
121 - },
122 - {
123 - _id: 'mesh//6A1ZZ4YTOPEN$r1iKHGVBmzS68Zz0NYdUTTksK7n8GlXAdiXlm0KbeQjsWUjubzo',
124 - desc: '',
125 - domain: '',
126 - links: { 'user//admin': [Object] },
127 - mtype: '2',
128 - name: 'dfgdfgdfg',
129 - type: 'mesh',
130 - deleted: '2019-05-29T21:11:18.792Z'
131 - },
132 - {
133 - type: 'mesh',
134 - _id: 'mesh//6l9CsR03CE9XA5QXZxWnIzIx7KseoAHb3VsBIXzdNW8u$9tTGAzfG6pnOCams6XV',
135 - name: 'WWW2',
136 - mtype: '2',
137 - desc: '',
138 - domain: '',
139 - links: { 'user//aa': [Object] },
140 - deleted: 2020-02-17T20:33:09.414Z
141 - },
142 - {
143 - _id: 'mesh//79HpL$WV$9xiKHknJ$RH6JoockNkHt$BcXflf18sNIrCLS$VHH8ZQh4NzZM6v0fb',
144 - desc: 'This is a test group',
145 - domain: '',
146 - links: { 'user//admin': [Object] },
147 - mtype: 2,
148 - name: 'Test2',
149 - type: 'mesh',
150 - deleted: '2019-06-30T18:33:01.352Z'
151 - },
152 - {
153 - _id: 'mesh//7VGEVFyruLf3yFIZ1QN6w8XH2gyEjOvI5NcoC02S0l88o$$ugtpyldP4sZmHuia5',
154 - type: 'mesh',
155 - name: 'sdfsdf',
156 - mtype: '2',
157 - desc: '',
158 - domain: '',
159 - links: {}
160 - },
161 - {
162 - _id: 'mesh//7b4b43cdad850135f36ab31124b52e47c167fba055ce800267a4dc89fe0e581c',
163 - type: 'mesh',
164 - name: 'Home Computers',
165 - domain: '',
166 - mtype: 2,
167 - links: {
168 - 'user//admin': [Object],
169 - 'ugrp//BXQUCOnHMBI14nGBhfTkvMlmb2K3FcP09Bu@3jpffr3nn@hxsm5RlpNLWheqQqYJ': [Object],
170 - 'user//bob': [Object]
171 - },
172 - desc: '',
173 - flags: 0,
174 - amt: { type: 3, cirasetup: 0 },
175 - consent: 0,
176 - invite: { codes: [Array], flags: 0 }
177 - },
178 - {
179 - _id: 'mesh//8O5l5HJZ0xA4ISVT13H3eFOykurvkrW0nUxQrElMq4fRkR9Nit0onKnRXfpgK45H',
180 - desc: '',
181 - domain: '',
182 - links: { 'user//admin': [Object] },
183 - mtype: '1',
184 - name: 'bbb',
185 - type: 'mesh',
186 - deleted: '2019-07-23T22:38:55.266Z'
187 - },
188 - {
189 - _id: 'mesh//8UZgdO0YobI56hbICoOoWTz1woF2Pw$gHp8gEANNNBr14gFrUOQKT@ilIKWYgK11',
190 - desc: '',
191 - domain: '',
192 - links: { 'user//admin': [Object] },
193 - mtype: '1',
194 - name: 'ggg',
195 - type: 'mesh',
196 - deleted: '2019-08-11T05:25:18.890Z'
197 - },
198 - {
199 - _id: 'mesh//994a35a3ffcc0b3968080ec73add4bdb5f1317152e7db0b0c3caf7144eb1556e',
200 - type: 'mesh',
201 - name: 'test',
202 - domain: '',
203 - mtype: 2,
204 - links: {}
205 - },
206 - {
207 - type: 'mesh',
208 - _id: 'mesh//9fJ3LpZXYPQN0Wd3CWoyZUeRntG9$70IYpL9PbcG8kYvoufviosNLnWcdAxzM@mq',
209 - name: 'cc',
210 - mtype: '2',
211 - desc: '',
212 - domain: '',
213 - links: {}
214 - },
215 - {
216 - type: 'mesh',
217 - _id: 'mesh//@QwIrlHUbhw7fpGjHbm7Ffuhrn3ryS4HMRdLil3@TSwCtRfl8HCQuY5XpO8Xk6m1',
218 - name: 'TestGroup',
219 - mtype: '2',
220 - desc: '',
221 - domain: '',
222 - links: { 'user//aa': [Object] },
223 - deleted: 2020-01-04T19:54:01.994Z
224 - },
225 - {
226 - _id: 'mesh//@wACAidb@xfR3gTWZTIa0@jOXXhUrdUslQ5VIysCkaO9IVdTnZtbjv34zX5EQEoL',
227 - desc: 'This is a test group',
228 - domain: '',
229 - links: { 'user//admin': [Object] },
230 - mtype: 2,
231 - name: 'Test2',
232 - type: 'mesh',
233 - deleted: '2019-06-30T18:32:26.573Z'
234 - },
235 - {
236 - _id: 'mesh//AU641@ugPqNEhqzpg7l5Sl4kJGHYFBYODj$aZ@sWZavl1sNUjnamatKc7gOheSW@',
237 - desc: 'This is a test group',
238 - domain: '',
239 - links: { 'user//admin': [Object] },
240 - mtype: 2,
241 - name: 'Test2',
242 - type: 'mesh',
243 - deleted: '2019-06-30T18:32:54.341Z'
244 - },
245 - {
246 - _id: 'mesh//Ad2wfUM4pFFgKgMPVCWHgdU7P9AFXQkCEZWZqpNyBjQv6XFUSOuSLNfUkzAMMMVd',
247 - desc: '',
248 - domain: '',
249 - links: { 'user//admin': [Object] },
250 - mtype: '2',
251 - name: 'TestGroup',
252 - type: 'mesh',
253 - deleted: 2020-03-03T09:36:08.723Z
254 - },
255 - {
256 - type: 'mesh',
257 - _id: 'mesh//BActeqzKb61ERfEMKeTtxiI96qYkCHS3HLxYXAJ9Th5Lpt6$uW4XxfZd0B5jkc3X',
258 - name: 'EmptyGroup',
259 - mtype: '2',
260 - desc: '',
261 - domain: '',
262 - links: { 'user//aa': [Object] },
263 - deleted: 2020-03-30T04:35:42.330Z
264 - },
265 - {
266 - _id: 'mesh//C9Ut6fQoghQ@Ydwp748Ojym7voL6IeO9xKlVXmk$@tcoESlU@a7xMYGl6SwF5FDG',
267 - desc: 'This is a test group',
268 - domain: '',
269 - links: { 'user//admin': [Object] },
270 - mtype: 2,
271 - name: 'Test2',
272 - type: 'mesh',
273 - deleted: '2019-06-30T18:32:42.294Z'
274 - },
275 - {
276 - _id: 'mesh//CLsX60$xid8nJztEsHO38Nn0VleBUSpPJ90j2D7VbjXIyVdOCfxWnv4nuK@ktVIG',
277 - desc: '',
278 - domain: '',
279 - links: { 'user//aa': [Object] },
280 - mtype: '2',
281 - name: 'test',
282 - type: 'mesh',
283 - deleted: '2019-06-13T18:30:10.117Z'
284 - },
285 - {
286 - _id: 'mesh//CUhrLCon9WQXx2OBd63DtWvwB3Q3IK2rXSLYP82k6@frimcmC$K9H6TT7JOFE4j2',
287 - desc: '',
288 - domain: '',
289 - links: { 'user//admin': [Object] },
290 - mtype: '2',
291 - name: 'aaaaa',
292 - type: 'mesh',
293 - deleted: '2019-05-29T21:03:11.442Z'
294 - },
295 - {
296 - type: 'mesh',
297 - _id: 'mesh//CtBlCeufIk5lqFf4$rcmW41t2wmLkv47cDhwO2iubH14T@jzU4v3CaxAnfyaqFNk',
298 - name: 'WWW',
299 - mtype: '2',
300 - desc: '',
301 - domain: '',
302 - links: { 'user//aa': [Object] },
303 - deleted: 2020-02-17T20:23:19.687Z
304 - },
305 - {
306 - _id: 'mesh//Dh5oAWb2IJU26dN6k0oHWQburpbkYkj1hFVtnY0Li7I$ayDT2DUrlmVXxtd7R7pj',
307 - desc: 'This is a test group',
308 - domain: '',
309 - links: { 'user//admin': [Object] },
310 - mtype: 2,
311 - name: 'Test2',
312 - type: 'mesh',
313 - deleted: '2019-06-30T18:33:14.380Z'
314 - },
315 - {
316 - _id: 'mesh//FkxCcX8odlaK5cy$V@p7YS$VIDLeiqYeODcJru@0q9FYzGdZ6SyU3MGwMyWorM@C',
317 - type: 'mesh',
318 - name: 'aa aaéésdfsdè',
319 - mtype: '2',
320 - desc: '',
321 - domain: '',
322 - links: { 'user//admin': [Object] },
323 - deleted: '2019-05-02T17:09:21.518Z'
324 - },
325 - {
326 - _id: 'mesh//G1Vh3vGcAiQ2UhLDD8rK7Abve6kXW3lPRubkNxmHCAA0rZd@YMv5Go$n9dpGp2M4',
327 - type: 'mesh',
328 - name: 'TestMesh',
329 - mtype: '2',
330 - desc: '',
331 - domain: '',
332 - links: {}
333 - },
334 - {
335 - _id: 'mesh//G2ynbR7sCxtMdSost6ovav4OzGeY6MJdEwHJ5miVp64wzgGkRskj@hJy7tfr6TCn',
336 - desc: '',
337 - domain: '',
338 - links: { 'user//aa': [Object] },
339 - mtype: '2',
340 - name: 'test',
341 - type: 'mesh',
342 - deleted: '2019-06-13T16:41:09.959Z'
343 - },
344 - {
345 - _id: 'mesh//GDW3aA7h@nyoBA1MTstPyN$16Vc$2FwVo1IQdY0tllOEhTyKGMcPhdoUkrNevQnq',
346 - desc: '',
347 - domain: '',
348 - links: { 'user//admin': [Object], 'user//aa@aa%252Ecom': [Object] },
349 - mtype: '2',
350 - name: 'aa',
351 - type: 'mesh',
352 - deleted: '2019-07-10T18:46:52.131Z'
353 - },
354 - {
355 - _id: 'mesh//GKYE@sZBXl9pBInqbmryf4RkbbKRMd22ZH03Pk6CN2a6u$p@NyYp9o3imQpGkPg4',
356 - desc: '',
357 - domain: '',
358 - links: { 'user//aa': [Object] },
359 - mtype: '2',
360 - name: 'dfgdrg',
361 - type: 'mesh',
362 - deleted: '2019-06-13T18:39:02.080Z'
363 - },
364 - {
365 - _id: 'mesh//JPa9BaHb7vGmyjtup0vyTM9AGmEfxwScnHHImXubbcxjgoweCJfQWveOfCtKjrmq',
366 - desc: '',
367 - domain: '',
368 - links: { 'user//aa': [Object] },
369 - mtype: '2',
370 - name: 'fhfghfgh',
371 - type: 'mesh',
372 - deleted: '2019-06-13T18:45:53.687Z'
373 - },
374 - {
375 - _id: 'mesh//JSNfWVW5Za7nxJSAiJEvL9qcPlNPlBFH2HOuTZC8ZwWBPWikcoC9hfIv6ozpKKXx',
376 - domain: '',
377 - links: { 'user//admin': [Object] },
378 - mtype: 2,
379 - name: 'Test',
380 - type: 'mesh',
381 - deleted: '2019-06-30T17:58:50.488Z'
382 - },
383 - {
384 - _id: 'mesh//K66E4fuaqbkxCPX4eattxrbTq0FAbNG9FOQWJDSK@h8OYNKE9Oo5iXqFlctBwzKO',
385 - desc: 'This is a test group',
386 - domain: '',
387 - links: { 'user//admin': [Object] },
388 - mtype: 2,
389 - name: 'Test2',
390 - type: 'mesh',
391 - deleted: '2019-06-30T18:32:50.837Z'
392 - },
393 - {
394 - _id: 'mesh//KAdLqF2vI6UfQ0X2HiRTeVe6zMWLKmlPDO4ux0eMVX8b5Tya6It4worhwPcy1ktd',
395 - desc: 'This is a test group',
396 - domain: '',
397 - links: { 'user//admin': [Object] },
398 - mtype: 2,
399 - name: 'Test2',
400 - type: 'mesh',
401 - deleted: '2019-06-30T18:33:04.685Z'
402 - },
403 - {
404 - _id: 'mesh//KtcSF0INUTvERlBamfuIqEUR6da98oFkVcv6cOtIRwynydyS6yQPxXHHqmXu1J$j',
405 - desc: '',
406 - domain: '',
407 - links: { 'user//aa': [Object] },
408 - mtype: '2',
409 - name: 'fgdfg',
410 - type: 'mesh',
411 - deleted: '2019-06-13T18:39:16.063Z'
412 - },
413 - {
414 - _id: 'mesh//LH9tQ$WpSzaXTsRp5kpHziKVnNy2YU8W9nKWgAzDRW1nG9YxIEQ4NH8yA6sALpmP',
415 - desc: 'This is a test group',
416 - domain: '',
417 - links: { 'user//admin': [Object] },
418 - mtype: 2,
419 - name: 'Test2',
420 - type: 'mesh',
421 - deleted: '2019-06-30T18:32:19.773Z'
422 - },
423 - {
424 - _id: 'mesh//LheIB5zlyPuG4x@QY0Nw3B6FHlFpxEqLKn80coBqlhfJqm35YQK9dQnuxISq6UiW',
425 - desc: 'This is a test group',
426 - domain: '',
427 - links: { 'user//admin': [Object] },
428 - mtype: 2,
429 - name: 'Test2',
430 - type: 'mesh',
431 - deleted: '2019-06-30T18:00:07.131Z'
432 - },
433 - {
434 - _id: 'mesh//MAIhngk0XrQaFqDWpvBBrLnGwQWUTKQ6Aa8UMNFVJ9dmtZoAEkZF1DAMKsTHQbXt',
435 - desc: '',
436 - domain: '',
437 - links: { 'user//test%252Euser': [Object] },
438 - mtype: '2',
439 - name: 'TestGroup',
440 - type: 'mesh'
441 - },
442 - {
443 - _id: 'mesh//MV6ELYho$zDTFT7IanxDNxMPHUru8BUIUZ9rORUOntbymFdurXEP1DazAxE@19P8',
444 - desc: '',
445 - domain: '',
446 - links: { 'user//aa': [Object] },
447 - mtype: '2',
448 - name: 'ttt',
449 - type: 'mesh',
450 - deleted: '2019-06-13T18:28:36.457Z'
451 - },
452 - {
453 - _id: 'mesh//PK23hIc1v@yCKz@J2TH3d2e12psaUAlbW6gTGDMGxMqMj$CCus3dt5YgS0vgzP7n',
454 - desc: '',
455 - domain: '',
456 - links: { 'user//aa': [Object] },
457 - mtype: '2',
458 - name: 'fghfgh',
459 - type: 'mesh',
460 - deleted: '2019-06-13T18:35:37.434Z'
461 - },
462 - {
463 - _id: 'mesh//PQ9HA6ii4vjcuxRLndAmaxWKaTHe3J8XtdA31JCxbYoTbkXiGyiBY9$2ByulQ7hG',
464 - desc: 'This is a test group',
465 - domain: '',
466 - links: { 'user//admin': [Object] },
467 - mtype: 2,
468 - name: 'Test2',
469 - type: 'mesh',
470 - deleted: '2019-06-30T18:32:16.493Z'
471 - },
472 - {
473 - _id: 'mesh//SyR1rSzOthKzK@LB$deX9Ya58YMlznHnH78xcZRBwFTNwBVkTdyx8W7zTErnEY6r',
474 - desc: '',
475 - domain: '',
476 - links: { 'user//aa': [Object] },
477 - mtype: '2',
478 - name: 'dgdfg',
479 - type: 'mesh',
480 - deleted: '2019-06-13T18:50:31.416Z'
481 - },
482 - {
483 - _id: 'mesh//UE0kxwDwTXkSUtSvrF8W24iOkO@dRUOU5LMtPKA@powM68T7omPqSJM6gSXqLDKq',
484 - type: 'mesh',
485 - name: 'MyHomeComputers',
486 - mtype: '2',
487 - desc: '',
488 - domain: '',
489 - links: {}
490 - },
491 - {
492 - _id: 'mesh//VkMh@0s3wcwcnxd$3w4vz6KcLP4itEFIcYzdooBOnac2dvxnUnnsED7FD1aMGHKj',
493 - desc: 'This is a test group',
494 - domain: '',
495 - links: { 'user//admin': [Object] },
496 - mtype: 2,
497 - name: 'Test2',
498 - type: 'mesh',
499 - deleted: '2019-06-30T18:32:30.725Z'
500 - },
501 - {
502 - _id: 'mesh//WHrRPPKj$zUrXhhXoWen4O0rXeEy9ybek0uIR1iRC$cjx1e033hPmiUiylrVnmmG',
503 - desc: 'This is a test group',
504 - domain: '',
505 - links: { 'user//admin': [Object] },
506 - mtype: 2,
507 - name: 'Test2',
508 - type: 'mesh',
509 - deleted: '2019-06-30T18:31:43.350Z'
510 - },
511 - {
512 - _id: 'mesh//X3ezWI0MxKUQ2sdhVmamjpDoLyq1uIoL6PJ5Io487vmmo3ShaFSZZkRkhj0VTx3e',
513 - desc: 'This is a test group',
514 - domain: '',
515 - links: { 'user//admin': [Object] },
516 - mtype: 2,
517 - name: 'Test2',
518 - type: 'mesh',
519 - deleted: '2019-06-30T18:00:17.738Z'
520 - },
521 - {
522 - _id: 'mesh//XI@clIvl12q92Cz@P0IVJVmdx$k5JeOMqUJEpYlkZmRM5m3suE5fGL6XiObzYxo8',
523 - desc: '',
524 - domain: '',
525 - links: {
526 - 'user//bb@bb%252Ecom': [Object],
527 - 'user//aa@aa%252Ecom': [Object]
528 - },
529 - mtype: '2',
530 - name: 'test2',
531 - type: 'mesh'
532 - },
533 - {
534 - _id: 'mesh//YKkeiKbosBwHrIMoDi3iKMSbbhYjWD9S4bxZpjs1e6YXwrGYdAB4fnz9BTuIR7zI',
535 - desc: '',
536 - domain: '',
537 - links: { 'user//aa': [Object] },
538 - mtype: '2',
539 - name: 'dtyfgh',
540 - type: 'mesh',
541 - deleted: '2019-06-13T18:36:40.609Z'
542 - },
543 - {
544 - _id: 'mesh//ZjNv$HFbB$UMTOkn98AaLAw7AdkB4xs$c5o@mXCp541kvhsGqkKJFuqcVc36Z@Lc',
545 - desc: '',
546 - domain: '',
547 - links: { 'user//aa@aa%252Ecom': [Object] },
548 - mtype: '2',
549 - name: 'aaaa',
550 - type: 'mesh'
551 - },
552 - {
553 - type: 'mesh',
554 - _id: 'mesh//Zo9J@NlnHqHH72m7Zy80nk9Xkzpps2GnAkB1YzrWsC3kVns84MxoVnxalfDAPbFk',
555 - name: 'aaa',
556 - mtype: '2',
557 - desc: '',
558 - domain: '',
559 - links: { 'user//admin': [Object] },
560 - deleted: 2020-03-27T06:11:28.612Z
561 - },
562 - {
563 - type: 'mesh',
564 - _id: 'mesh//Zy2qF6OXaVFZh2Ma6k5Ki@KH1gg4q$21xVG4JT4VP9ofnfodNpCzJq@Hf9SLA@YT',
565 - name: 'aa',
566 - mtype: '1',
567 - desc: '',
568 - domain: '',
569 - links: { 'user//admin': [Object] },
570 - deleted: 2020-03-17T22:06:29.970Z
571 - },
572 - {
573 - _id: 'mesh//a00iAbHPyoCsvhkm8vALBIJa5lgeCIaSAy9b2DGto4qChhmhZlV2kXByWIsD95lz',
574 - desc: '',
575 - domain: '',
576 - links: { 'user//admin': [Object] },
577 - mtype: '2',
578 - name: 'sdgsdfgsdf',
579 - type: 'mesh',
580 - flags: 0,
581 - deleted: '2019-06-27T04:10:43.925Z'
582 - },
583 - {
584 - _id: 'mesh//aQGkKXyn@AD21B8Ac76EOYxH2V444cYNJToNBwlpQJJjR1YDZm9f5Iz@17fzh9mG',
585 - desc: 'This is a test group',
586 - domain: '',
587 - links: { 'user//admin': [Object] },
588 - mtype: 2,
589 - name: 'Test2',
590 - type: 'mesh',
591 - deleted: '2019-06-30T18:32:06.638Z'
592 - },
593 - {
594 - _id: 'mesh//aVeF0qqu$ufOJVkcersHniOvyki6n2yDe1n3$jDWKoHFSVom$toVBHU578NfygQv',
595 - type: 'mesh',
596 - name: 'aaa',
597 - mtype: '2',
598 - desc: '',
599 - domain: '',
600 - links: {}
601 - },
602 - {
603 - _id: 'mesh//aih6BvMKJH416FRCfiE2qBodgALsDWrU0MlfKbGLvUBxH4h9rYOfM8Bymqy0s2zb',
604 - type: 'mesh',
605 - name: 'sasad',
606 - mtype: '2',
607 - desc: '',
608 - domain: '',
609 - links: {}
610 - },
611 - {
612 - _id: 'mesh//axqD2Pl5AXV6sHcg1SpCpLuZ4PgjXS7oA@97SopnFmf3xuHkZUs4fe@a20ftM$U4',
613 - desc: '',
614 - domain: '',
615 - links: {},
616 - mtype: '2',
617 - name: 'bb',
618 - type: 'mesh'
619 - },
620 - {
621 - _id: 'mesh//b1nHwHfYeNz8K2m11N8$cM3PDuONs02VP018tKQkNoaaT6gPaURU$jXQd1HB4@19',
622 - desc: 'This is a test group',
623 - domain: '',
624 - links: { 'user//admin': [Object] },
625 - mtype: 2,
626 - name: 'Test2',
627 - type: 'mesh',
628 - deleted: '2019-06-30T18:31:48.965Z'
629 - },
630 - {
631 - _id: 'mesh//c8x1VGVfK0@Pm7Gv7x4tJE1@YNcoHXrheEiT4wQHU0OX8AjUeNyCmzHd0d@MiVep',
632 - type: 'mesh',
633 - name: 'asdas',
634 - mtype: '2',
635 - desc: '',
636 - domain: '',
637 - links: { 'user//544849534953415445535453494431': [Object] },
638 - deleted: '2019-04-15T20:43:18.785Z'
639 - },
640 - {
641 - _id: 'mesh//cOWpqJJTfMgF@HeRQ40gE@QVLeVaIrqhsPpShGhE6zy4pZN78NtY36Lf39lsOUI2',
642 - desc: '',
643 - domain: '',
644 - links: { 'user//admin': [Object] },
645 - mtype: '2',
646 - name: 'aaa',
647 - type: 'mesh',
648 - deleted: '2019-05-21T01:00:53.017Z'
649 - },
650 - {
651 - _id: 'mesh//cZ09EsXsIdP6aaz26CYyQOyWvRp$3Lwqjfps8$q6AIohLdG6uGPOkcyincZ1yGv7',
652 - desc: '',
653 - domain: '',
654 - links: { 'user//admin': [Object] },
655 - mtype: '2',
656 - name: 'aaa',
657 - type: 'mesh',
658 - deleted: '2019-07-30T00:52:04.033Z'
659 - },
660 - {
661 - _id: 'mesh//dIRtTn2m7uLfBab5JBsnYrK$ArDQslyyIy9qSXJez4V1F8ypVuSyeBspv4XsUsCM',
662 - desc: 'This is a test group',
663 - domain: '',
664 - links: { 'user//admin': [Object] },
665 - mtype: 2,
666 - name: 'Test2',
667 - type: 'mesh',
668 - deleted: '2019-06-30T18:32:03.566Z'
669 - },
670 - {
671 - _id: 'mesh//djVRwU1lkiQcmk6bJSognPRWeVHVoBoH7yrkB6rSN1ErOvmF2jXiBJiShZGCeS7h',
672 - desc: 'This is a test group',
673 - domain: '',
674 - links: { 'user//admin': [Object] },
675 - mtype: 1,
676 - name: 'Test2',
677 - type: 'mesh',
678 - deleted: '2019-06-30T17:59:34.828Z'
679 - },
680 - {
681 - _id: 'mesh//dmvW6jnugf7MCMXiASaIWYV@v4GKGhk1l2hV@fXhAfIKCy3mtInOMxVNjHRNm6uh',
682 - type: 'mesh',
683 - name: 'ASASD',
684 - mtype: '2',
685 - desc: '',
686 - domain: '',
687 - links: { 'user//544849534953415445535453494431': [Object] },
688 - deleted: '2019-04-15T20:43:12.938Z'
689 - },
690 - {
691 - _id: 'mesh//eW69RSAS4XmJQcMieSInPCcY54bZuZsdohjiWyIRke4lLd9mpY9cJ0iTb9nj9Z2C',
692 - desc: 'asdfsdfsdf',
693 - domain: '',
694 - links: { 'user//admin': [Object], 'user//aa@aa%252Ecom': [Object] },
695 - mtype: '2',
696 - name: 'test1aaaasa1',
697 - type: 'mesh',
698 - flags: 0,
699 - consent: 0,
700 - deleted: '2019-07-10T19:58:13.320Z'
701 - },
702 - {
703 - _id: 'mesh//h7@@QWI29t$eFctBPvL2ze3Eqx7aLP6kXUymj6R$0gzxQXdkr8aGt2bqslnUUMZn',
704 - desc: '',
705 - domain: '',
706 - links: { 'user//aa': [Object] },
707 - mtype: '2',
708 - name: 'fff',
709 - type: 'mesh',
710 - deleted: '2019-06-13T18:50:01.968Z'
711 - },
712 - {
713 - type: 'mesh',
714 - _id: 'mesh//hIhxjWwNTReuaUhR@6IIsMFY5fu1OvYS8wHZNGxQbe90wbS2aZUFX71nTkQ88$3U',
715 - name: 'dd',
716 - mtype: '2',
717 - desc: '',
718 - domain: '',
719 - links: {}
720 - },
721 - {
722 - _id: 'mesh//hgGjAZ9eDzdwXQ9v3yoyhhO9TxpzB2IdzJxGbMbqzVIfImpfdUvFBclQyX@1HY7R',
723 - desc: '',
724 - domain: '',
725 - links: { 'user//admin': [Object] },
726 - mtype: '2',
727 - name: 'fsdfsdf',
728 - type: 'mesh',
729 - deleted: '2019-05-29T21:21:50.727Z'
730 - },
731 - {
732 - _id: 'mesh//iAbpzOtIV5MJ1mUh5HzVilFS8Ff1e0xWJp2g0hIDFXzEJMyTpDW2RuViwZv64KC$',
733 - type: 'mesh',
734 - name: 'aaa',
735 - mtype: '2',
736 - desc: '',
737 - domain: '',
738 - links: { 'user//544849534953415445535453494431': [Object] },
739 - deleted: '2019-04-15T20:43:02.266Z'
740 - },
741 - {
742 - type: 'mesh',
743 - _id: 'mesh//iDiRbzDo8eWizCFZIqq5W8IkCZgViecfUHF21KxePbUc81jwQfNSmYezMZ4WYPam',
744 - name: 'cccccc',
745 - mtype: '2',
746 - desc: '',
747 - domain: '',
748 - links: {}
749 - },
750 - {
751 - _id: 'mesh//ijfCkuHkbsZElOco$xtsB$zH7OHRJlPQPtO1vVUEZgiTQCeyDwG65rcvug2ktRAu',
752 - desc: 'This is a test group',
753 - domain: '',
754 - links: { 'user//admin': [Object] },
755 - mtype: 2,
756 - name: 'Test2',
757 - type: 'mesh',
758 - deleted: '2019-06-30T18:31:52.141Z'
759 - },
760 - {
761 - _id: 'mesh//jPYYvcyux0kR2agaD5IdhDefx490ujk2h96NjXbE3$Egu$GXMwHLu6pTyTFmvrR3',
762 - desc: 'This is a test group',
763 - domain: '',
764 - links: { 'user//admin': [Object] },
765 - mtype: 2,
766 - name: 'Test2',
767 - type: 'mesh',
768 - deleted: '2019-06-30T18:33:07.949Z'
769 - },
770 - {
771 - _id: 'mesh//jQ93CqdC1rVXELk9gn1mT45Oj7yzpMk0RgxWZM809JoIjXeTxudZ0sKtwXCTvmCT',
772 - desc: '',
773 - domain: '',
774 - links: { 'user//aa': [Object] },
775 - mtype: '2',
776 - name: 'fgdfgdfg',
777 - type: 'mesh',
778 - deleted: '2019-06-13T18:49:05.563Z'
779 - },
780 - {
781 - _id: 'mesh//jmkdpl7BiUY2CtWXaOlfT0MgNaM3WC2Mp17O1cM0aV3ONbvyWJ1AyyjIgyXYtK$L',
782 - desc: 'This is a test group',
783 - domain: '',
784 - links: { 'user//admin': [Object] },
785 - mtype: 2,
786 - name: 'Test2',
787 - type: 'mesh',
788 - deleted: '2019-06-30T18:33:17.644Z'
789 - },
790 - {
791 - _id: 'mesh//k0nAuG45xS5TSYR3s1kT1XGUonCM48sGbuf6D8dDlYFSbbHcxqGk2daZrVC4D@dg',
792 - type: 'mesh',
793 - name: 'aaa',
794 - mtype: '2',
795 - desc: '',
796 - domain: '',
797 - links: { 'user//null': [Object] }
798 - },
799 - {
800 - _id: 'mesh//k5HMdnA3qofbsmNB$ciC54oQL6Ur$cqg9lqFmjqJ7mvkGuy4um$Kc1Q7kL02qzFk',
801 - desc: 'This is a test group',
802 - domain: '',
803 - links: { 'user//admin': [Object] },
804 - mtype: 2,
805 - name: 'Test2',
806 - type: 'mesh',
807 - deleted: '2019-06-30T18:31:56.782Z'
808 - },
809 - {
810 - _id: 'mesh//kjGAIF2bJzyD62YE7hKDx9j0CSv$@pSyM3NG@g5klup29oftZ7Gw23uE8CKlbG@P',
811 - desc: '',
812 - domain: '',
813 - links: { 'user//aa': [Object] },
814 - mtype: '2',
815 - name: 'dfghdfhgfd',
816 - type: 'mesh',
817 - deleted: '2019-06-13T18:45:14.796Z'
818 - },
819 - {
820 - _id: 'mesh//lO1mT2uVjCRmoPd8rIotEyfpov8D@Xj7BD08KPj7ZFaT$@p8nQHrD92vmiF2nn29',
821 - desc: 'This is a test group',
822 - domain: '',
823 - links: { 'user//admin': [Object] },
824 - mtype: 2,
825 - name: 'Test2',
826 - type: 'mesh',
827 - deleted: '2019-06-30T18:31:46.261Z'
828 - },
829 - {
830 - _id: 'mesh//lm2AD7PVRyTkGqXXqVPpWCYthR8WjQC5v2r$sS39tT207MI190MqeXQfdMpgUxvW',
831 - type: 'mesh',
832 - name: 'SampleMesh',
833 - mtype: '2',
834 - desc: '',
835 - domain: '',
836 - links: {}
837 - },
838 - {
839 - _id: 'mesh//lxX9ZvOBMtirS2aCzN2gIV8CAEvqJ63bbfvL8EXiXSA@yLslpNhDT1Paub9kUYaM',
840 - desc: '',
841 - domain: '',
842 - links: { 'user//admin': [Object] },
843 - mtype: '2',
844 - name: 'aa',
845 - type: 'mesh',
846 - deleted: '2019-06-30T18:35:13.404Z'
847 - },
848 - {
849 - _id: 'mesh//mEWitFYP$wsbFNnZFykDAU1DVl90eP$1q1dlb3D5Ehq6WwVmETbDjWC$Y$x4NTsP',
850 - desc: '',
851 - domain: '',
852 - links: {},
853 - mtype: '2',
854 - name: 'test1',
855 - type: 'mesh'
856 - },
857 - {
858 - _id: 'mesh//nSkuWLhfVb8GtGO@gQn7i6MEivLPR1Jv1euxqE32D57jH0Q6hAQmMvPTfUmCaqOo',
859 - desc: 'This is a test group',
860 - domain: '',
861 - links: { 'user//admin': [Object] },
862 - mtype: 2,
863 - name: 'Test2',
864 - type: 'mesh',
865 - deleted: '2019-06-30T18:32:12.902Z'
866 - },
867 - {
868 - _id: 'mesh//nanrglVfQE5teW1fRPUY3lgZ2LvLnBnJ9ubzvDpfnRYX3T8Tsvp0SHlY5vgk58pA',
869 - type: 'mesh',
870 - name: 'Test Group',
871 - mtype: '2',
872 - desc: '',
873 - domain: '',
874 - links: { 'user//admin': [Object] },
875 - amt: { type: 1 },
876 - deleted: '2019-06-27T04:10:27.813Z'
877 - },
878 - {
879 - _id: 'mesh//oRdanQLDwNTP9BXftlic0g2u0QW59$y4xY15aqpZ$O9oUfjwpTDu5OLe@5lQzEQ1',
880 - type: 'mesh',
881 - name: 'MyHomeComputers',
882 - mtype: '2',
883 - desc: '',
884 - domain: '',
885 - links: {}
886 - },
887 - {
888 - _id: 'mesh//opfD4LaLDGs98cA7aV9ZQjS0lVQRfylBuxSRcPPVvjEx$Vs6woYZW2WJEE6Q3OC5',
889 - domain: '',
890 - links: { 'user//admin': [Object] },
891 - mtype: 2,
892 - name: 'Test',
893 - type: 'mesh',
894 - deleted: '2019-06-30T17:58:29.185Z'
895 - },
896 - {
897 - _id: 'mesh//p1q@gPuPne7MOgIEd66ttzT5fKbZREE0MbBx01dENkuxPOw0WkURk6adcsWzIiQR',
898 - desc: '',
899 - domain: '',
900 - links: { 'user//admin': [Object] },
901 - mtype: '2',
902 - name: 'aaaaa',
903 - type: 'mesh',
904 - deleted: '2019-05-29T21:03:36.523Z'
905 - },
906 - {
907 - type: 'mesh',
908 - _id: 'mesh//qbu74CK7bX8AYu9gqZNGSad1poraKWlyay0yCLrx8jPZ@d6$ZQX0XcwMThPWqqRQ',
909 - name: 'rrrr',
910 - mtype: '2',
911 - desc: '',
912 - domain: '',
913 - links: { 'user//cc': [Object] }
914 - },
915 - {
916 - _id: 'mesh//rfvBImOo3rvpBkjcjJT$RuOoua94BAoTkkwh5JVIWzsIO8znzl5QBw4CoekYfVRt',
917 - desc: '',
918 - domain: '',
919 - links: { 'user//admin': [Object] },
920 - mtype: '2',
921 - name: 'asasd',
922 - type: 'mesh',
923 - deleted: '2019-05-29T21:05:45.705Z'
924 - },
925 - {
926 - type: 'mesh',
927 - _id: 'mesh//s7UO8G$MG@axswQAMmiTjJ40h1uIj3s0azvxRIcU7kU@6AYI@yCL89uDnvZoEZRN',
928 - name: 'aaa',
929 - mtype: '2',
930 - desc: '',
931 - domain: '',
932 - links: {}
933 - },
934 - {
935 - _id: 'mesh//sFcxic9rWNlJDkMeXWhgx6x8m3oJdaqqGhuzv@o9yV1tpihi02rt33vZUfDDvhEz',
936 - type: 'mesh',
937 - name: 'asdasdasd',
938 - mtype: '2',
939 - desc: '',
940 - domain: '',
941 - links: { 'user//544849534953415445535453494431': [Object] },
942 - deleted: '2019-04-15T20:43:15.825Z'
943 - },
944 - {
945 - _id: 'mesh//sjN2rO85LGJCEXxW50TUI1vOCr@9zVpE4A@9jrAcPjA7n531RHZVMGpksK1yWY4O',
946 - type: 'mesh',
947 - name: 'IntelAMT only',
948 - mtype: '1',
949 - desc: '',
950 - domain: '',
951 - links: { 'user//admin': [Object] },
952 - amt: { type: 3, password: 'P@ssw0rd', cirasetup: 0 }
953 - },
954 - {
955 - type: 'mesh',
956 - _id: 'mesh//taXpzRwT6RFhbUimhNbunnElFeZ$ULUEmSwE6LXZrH8fz0cS6X9zbaBDIL8xaq4w',
957 - name: 'AA',
958 - mtype: '2',
959 - desc: '',
960 - domain: '',
961 - links: { 'user//admin': [Object] },
962 - deleted: 2020-03-17T22:04:57.410Z
963 - },
964 - {
965 - _id: 'mesh//tqni$zxbaBI2ko4MerpTDcOBs5AK22NNLb7LIn6zs46K3@2d1DtC3bESX81EP1H4',
966 - type: 'mesh',
967 - name: 'tqni$zxbaBI2ko4Mer',
968 - mtype: 2,
969 - desc: '',
970 - domain: '',
971 - links: { 'user//admin': [Object] },
972 - deleted: '2019-02-21T01:35:16.984Z'
973 - },
974 - {
975 - _id: 'mesh//v@IEBc31m50Cin361kByHAi0i7yhiPo$b4RP$SvcHrob8uQfDy2@N68NBg5eQtsu',
976 - desc: 'This is a test group',
977 - domain: '',
978 - links: { 'user//admin': [Object] },
979 - mtype: 2,
980 - name: 'Test2',
981 - type: 'mesh',
982 - deleted: '2019-06-30T18:32:47.661Z'
983 - },
984 - {
985 - _id: 'mesh//w7o0aTLrU2wA3iLDGz5Doct3HnCBKNbu9aoZUWONPkW5DtvCuxhOonWVtgaM9yrw',
986 - desc: '',
987 - domain: '',
988 - links: { 'user//aa@aa%252Ecom': [Object] },
989 - mtype: '2',
990 - name: 'aaa',
991 - type: 'mesh',
992 - deleted: '2019-07-10T18:44:53.022Z'
993 - },
994 - ... 8 more items
995 -]