Fixed UTF8 guest names, #2812

Ylian Saint-Hilaire committed Jun 25, 2021 at 12:04 UTC 1f293c9ce1b586da8fb2e46b05e2780946c2a62f
1 file changed +8 -8
views/default.handlebars
+8 -8
@@ -4319,22 +4319,22 @@
4319 for (var i in node.sessions) {
4320 if ((i == 'kvm') && (node.sessions.multidesk == null)) {
4321 x += '<u>' + "Remote Desktop" + '</u>';
4322 - for (var j in node.sessions.kvm) { x += addHtmlValue4(getUserName(j), (node.sessions.kvm[j] == 1)?"1 session":nobreak(format("{0} sessions", node.sessions.kvm[j]))); }
4322 + for (var j in node.sessions.kvm) { x += addHtmlValue2(getUserName(j), (node.sessions.kvm[j] == 1)?"1 session":nobreak(format("{0} sessions", node.sessions.kvm[j]))); }
4323 } else if (i == 'multidesk') {
4324 x += '<u>' + "Remote Desktop" + '</u>';
4325 - for (var j in node.sessions.multidesk) { x += addHtmlValue4(getUserName(j), ((node.sessions.multidesk[j] == 1)?"1 session":nobreak(format("{0} sessions", node.sessions.multidesk[j])))); }
4325 + for (var j in node.sessions.multidesk) { x += addHtmlValue2(getUserName(j), ((node.sessions.multidesk[j] == 1)?"1 session":nobreak(format("{0} sessions", node.sessions.multidesk[j])))); }
4326 } else if (i == 'terminal') {
4327 x += '<u>' + "Terminal" + '</u>';
4328 - for (var j in node.sessions.terminal) { x += addHtmlValue4(getUserName(j), ((node.sessions.terminal[j] == 1)?"1 session":nobreak(format("{0} sessions", node.sessions.terminal[j])))); }
4328 + for (var j in node.sessions.terminal) { x += addHtmlValue2(getUserName(j), ((node.sessions.terminal[j] == 1)?"1 session":nobreak(format("{0} sessions", node.sessions.terminal[j])))); }
4329 } else if (i == 'files') {
4330 x += '<u>' + "Files" + '</u>';
4331 - for (var j in node.sessions.files) { x += addHtmlValue4(getUserName(j), ((node.sessions.files[j] == 1)?"1 session":nobreak(format("{0} sessions", node.sessions.files[j])))); }
4331 + for (var j in node.sessions.files) { x += addHtmlValue2(getUserName(j), ((node.sessions.files[j] == 1)?"1 session":nobreak(format("{0} sessions", node.sessions.files[j])))); }
4332 } else if (i == 'tcp') {
4333 x += '<u>' + "TCP Routing" + '</u>';
4334 - for (var j in node.sessions.tcp) { x += addHtmlValue4(getUserName(j), ((node.sessions.tcp[j] == 1)?"1 session":nobreak(format("{0} sessions", node.sessions.tcp[j])))); }
4334 + for (var j in node.sessions.tcp) { x += addHtmlValue2(getUserName(j), ((node.sessions.tcp[j] == 1)?"1 session":nobreak(format("{0} sessions", node.sessions.tcp[j])))); }
4335 } else if (i == 'udp') {
4336 x += '<u>' + "UDP Routing" + '</u>';
4337 - for (var j in node.sessions.udp) { x += addHtmlValue4(getUserName(j), ((node.sessions.udp[j] == 1)?"1 session":nobreak(format("{0} sessions", node.sessions.udp[j])))); }
4337 + for (var j in node.sessions.udp) { x += addHtmlValue2(getUserName(j), ((node.sessions.udp[j] == 1)?"1 session":nobreak(format("{0} sessions", node.sessions.udp[j])))); }
4338 }
4339 }
4340 if (x != '') { setDialogMode(2, "Sessions" + ' - ' + EscapeHtml(node.name), 1, null, x, 'SESSIONS-' + node._id); } else { setDialogMode(0); }
@@ -7884,7 +7884,7 @@
7884 if (conn.metadata.users) {
7885 for (var i in conn.metadata.users) {
7886 var val = (conn.metadata.users[i] == 1)?"1 connection":format("{0} connections", conn.metadata.users[i]);
7887 - x += addHtmlValue4(getUserName(i), val);
7887 + x += addHtmlValue2(getUserName(i), val);
7888 }
7889 }
7890 setDialogMode(2, "Session Information", 1, null, x, 'sessionMetadata' + cid);
@@ -15692,7 +15692,7 @@
15692 function encodeURIComponentEx(txt) { return encodeURIComponent(txt).replace(/'/g,'%27'); };
15693 function getUserName(userid) {
15694 var useridsplit = userid.split('/'), userid2 = userid[0] + '/' + userid[1] + '/' + userid[2], guestname = '';
15695 - if ((useridsplit.length == 4) && (useridsplit[3].startsWith('guest:'))) { guestname = ' - ' + atob(useridsplit[3].substring(6)); }
15695 + if ((useridsplit.length == 4) && (useridsplit[3].startsWith('guest:'))) { guestname = ' - ' + decode_utf8(atob(useridsplit[3].substring(6))); }
15696 if (users && users[userid2] != null) return (users[userid2].name + guestname); return (useridsplit[2] + guestname);
15697 }
15698 function round(value, precision) { var multiplier = Math.pow(10, precision || 0); return Math.round(value * multiplier) / multiplier; }