Fix for #3066
Ylian Saint-Hilaire committed
Aug 26, 2021 at 22:04 UTC
9ab6fb5a3951ad7c78b56113be48186b23faba08
4 files changed
+9
-7
meshdesktopmultiplex.js
+3
-3
@@ -131,7 +131,7 @@ function CreateDesktopMultiplexor(parent, domain, nodeid, func) {
131
132
// Check session recording
133
var startRecord = false;
134
- if ((domain.sessionrecording.onlyselectedusers === true) && (peer.user != null) && (peer.user.flags != null) && ((peer.user.flags & 2) != 0)) { startRecord = true; }
134
+ if ((typeof domain.sessionrecording == 'object') && (domain.sessionrecording.onlyselectedusers === true) && (peer.user != null) && (peer.user.flags != null) && ((peer.user.flags & 2) != 0)) { startRecord = true; }
135
startRecording(domain, startRecord, function () {
136
// Indicated we are connected
137
obj.sendToViewer(peer, obj.recordingFile ? 'cr' : 'c');
@@ -768,11 +768,11 @@ function CreateDesktopMultiplexor(parent, domain, nodeid, func) {
768
var record = false;
769
770
// Setup session recording
771
- if ((domain.sessionrecording == true || ((typeof domain.sessionrecording == 'object') && ((domain.sessionrecording.protocols == null) || (domain.sessionrecording.protocols.indexOf(2) >= 0))))) {
771
+ if (((domain.sessionrecording == true) || ((typeof domain.sessionrecording == 'object') && ((domain.sessionrecording.protocols == null) || (domain.sessionrecording.protocols.indexOf(2) >= 0))))) {
772
record = true;
773
774
// Check again to make sure we need to start recording
775
- if ((domain.sessionrecording.onlyselecteddevicegroups === true) || (domain.sessionrecording.onlyselectedusers === true)) {
775
+ if ((typeof domain.sessionrecording == 'object') && ((domain.sessionrecording.onlyselecteddevicegroups === true) || (domain.sessionrecording.onlyselectedusers === true))) {
776
record = false;
777
778
// Check device group recording
meshrelay.js
+1
-1
@@ -357,7 +357,7 @@ function CreateMeshRelayEx(parent, ws, req, domain, user, cookie) {
357
if ((nodes != null) && (nodes.length == 1)) { node = nodes[0]; xdevicename2 = node.name; xdevicename = '-' + parent.common.makeFilename(node.name); }
358
359
// Check again if we need to do messenger recording
360
- if ((domain.sessionrecording.onlyselectedusers === true) || (domain.sessionrecording.onlyselecteddevicegroups === true)) {
360
+ if ((typeof domain.sessionrecording == 'object') && ((domain.sessionrecording.onlyselectedusers === true) || (domain.sessionrecording.onlyselecteddevicegroups === true))) {
361
record = false;
362
363
// Check if this device group needs to be recorded
meshuser.js
+4
-2
@@ -492,8 +492,10 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
492
serverinfo.languages = parent.renderLanguages;
493
serverinfo.tlshash = Buffer.from(parent.webCertificateFullHashs[domain.id], 'binary').toString('hex').toUpperCase(); // SHA384 of server HTTPS certificate
494
serverinfo.agentCertHash = parent.agentCertificateHashBase64;
495
- if ((domain.sessionrecording) && (domain.sessionrecording.onlyselectedusers === true)) { serverinfo.usersSessionRecording = 1; } // Allow enabling of session recording for user groups
496
- if ((domain.sessionrecording) && (domain.sessionrecording.onlyselecteddevicegroups === true)) { serverinfo.devGroupSessionRecording = 1; } // Allow enabling of session recording for device groups
495
+ if (typeof domain.sessionrecording == 'object') {
496
+ if (domain.sessionrecording.onlyselectedusers === true) { serverinfo.usersSessionRecording = 1; } // Allow enabling of session recording for user groups
497
+ if (domain.sessionrecording.onlyselecteddevicegroups === true) { serverinfo.devGroupSessionRecording = 1; } // Allow enabling of session recording for device groups
498
+ }
499
if ((parent.parent.config.domains[domain.id].amtacmactivation != null) && (parent.parent.config.domains[domain.id].amtacmactivation.acmmatch != null)) {
500
var matchingDomains = [];
501
for (var i in parent.parent.config.domains[domain.id].amtacmactivation.acmmatch) {
webserver.js
+1
-1
@@ -3945,7 +3945,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
3945
var record = true;
3946
3947
// Check user or device group recording
3948
- if ((domain.sessionrecording.onlyselectedusers === true) || (domain.sessionrecording.onlyselecteddevicegroups === true)) {
3948
+ if ((typeof domain.sessionrecording == 'object') && ((domain.sessionrecording.onlyselectedusers === true) || (domain.sessionrecording.onlyselecteddevicegroups === true))) {
3949
record = false;
3950
3951
// Check device group recording