diff --git a/agents/meshcore.js b/agents/meshcore.js
index b802d424..82ee7667 100644
--- a/agents/meshcore.js
+++ b/agents/meshcore.js
@@ -795,7 +795,7 @@ function createMeshCore(agent) {
if (process.platform != 'win32') break;
var p = require('user-sessions').enumerateUsers();
p.sessionid = data.sessionid;
- p.then(function (u) { mesh.SendCommand({ action: 'msg', type: 'userSessions', sessionid: data.sessionid, data: u }); });
+ p.then(function (u) { mesh.SendCommand({ action: 'msg', type: 'userSessions', sessionid: data.sessionid, data: u, tag: data.tag }); });
break;
}
default:
@@ -1804,6 +1804,10 @@ function createMeshCore(agent) {
//sendConsoleText('options: ' + JSON.stringify(obj));
delete obj.type;
ws.httprequest.xoptions = obj;
+
+ // Set additional user consent options if present
+ if ((obj != null) && (typeof obj.consent == 'number')) { ws.httprequest.consent += obj.consent; }
+
break;
}
case 'close': {
diff --git a/views/default-mobile.handlebars b/views/default-mobile.handlebars
index 0f7b66ce..f332d594 100644
--- a/views/default-mobile.handlebars
+++ b/views/default-mobile.handlebars
@@ -3482,7 +3482,7 @@
// Check device group link permission
var rights = 0, r = mesh.links[userid];
if (r != null) {
- if (rights == 0xFFFFFFFF) { return 0xFFFFFFFF; } // User has full rights thru a device group link, stop here.
+ if (r.rights == 0xFFFFFFFF) { return 0xFFFFFFFF; } // User has full rights thru a device group link, stop here.
rights = r.rights;
}
diff --git a/views/default.handlebars b/views/default.handlebars
index cf5d8077..b2b5112e 100644
--- a/views/default.handlebars
+++ b/views/default.handlebars
@@ -69,6 +69,9 @@
User Shell
Login Shell
+
+
Ask Consent
+
Alternate Port
@@ -511,7 +514,7 @@
✖
-
+
Disconnected
@@ -1902,12 +1905,12 @@
// Got list of user sessions
var userSessions = [];
if (message.data != null) { for (var i in message.data) { if ((message.data[i].State == 'Active') || (message.data[i].StationName == 'Console') || (debugmode == 3)) { userSessions.push(message.data[i]); } } }
- if (userSessions.length == 0) { connectDesktop(null, 1); } // No active sessions, do a normal connection.
- else if (userSessions.length == 1) { connectDesktop(null, 1, userSessions[0].SessionId); } // One active session, connect to it
+ if (userSessions.length == 0) { connectDesktop(null, 1, null, message.tag); } // No active sessions, do a normal connection.
+ else if (userSessions.length == 1) { connectDesktop(null, 1, userSessions[0].SessionId, message.tag); } // One active session, connect to it
else {
var x = '';
for (var i in userSessions) {
- x += '