fix: wtv-head-waiter:/login-stage-two: usernames longerfix: build 3833 crashes when wtv-user-name is too long

This commit is contained in:
zefie
2021-07-22 08:42:11 -04:00
parent adca09f9e3
commit 88784e253c
2 changed files with 11 additions and 18 deletions

View File

@@ -16,17 +16,14 @@ if (socket.ssid !== null) {
if (request_headers["wtv-ticket"].length > 8) { if (request_headers["wtv-ticket"].length > 8) {
wtvsec_login.DecodeTicket(request_headers["wtv-ticket"]); wtvsec_login.DecodeTicket(request_headers["wtv-ticket"]);
wtvsec_login.ticket_b64 = request_headers["wtv-ticket"]; wtvsec_login.ticket_b64 = request_headers["wtv-ticket"];
//socket_sessions[socket.id].secure = true;
} }
} else { } else {
challenge_response = wtvsec_login.challenge_response; challenge_response = wtvsec_login.challenge_response;
var client_challenge_response = request_headers["wtv-challenge-response"] || null; var client_challenge_response = request_headers["wtv-challenge-response"] || null;
if (challenge_response && client_challenge_response) { if (challenge_response && client_challenge_response) {
//if (challenge_response.toString(CryptoJS.enc.Base64).substring(0,85) == client_challenge_response.substring(0,85)) {
if (challenge_response.toString(CryptoJS.enc.Base64) == client_challenge_response) { if (challenge_response.toString(CryptoJS.enc.Base64) == client_challenge_response) {
console.log(" * wtv-challenge-response success for " + filterSSID(socket.ssid)); console.log(" * wtv-challenge-response success for " + filterSSID(socket.ssid));
wtvsec_login.PrepareTicket(); wtvsec_login.PrepareTicket();
//socket_sessions[socket.id].secure = true;
} else { } else {
console.log(" * wtv-challenge-response FAILED for " + filterSSID(socket.ssid)); console.log(" * wtv-challenge-response FAILED for " + filterSSID(socket.ssid));
if (zdebug) console.log("Response Expected:", challenge_response.toString(CryptoJS.enc.Base64)); if (zdebug) console.log("Response Expected:", challenge_response.toString(CryptoJS.enc.Base64));
@@ -44,13 +41,13 @@ if (gourl) {
headers = `200 OK headers = `200 OK
Connection: Keep-Alive Connection: Keep-Alive
wtv-open-isp-disabled: false wtv-open-isp-disabled: false
wtv-visit: `+ gourl + ` wtv-visit: ${gourl}
Content-type: text/html`; Content-type: text/html`;
data = ''; data = '';
} }
else { else {
var namerand = Math.floor(Math.random() * 100000); var namerand = Math.floor(Math.random() * 100000);
var nickname = minisrv_config.config.service_name+'_Usr_' + namerand; var nickname = (minisrv_config.config.service_name + '_' + namerand).substring(0, 16);
var userid = '1'+ Math.floor(Math.random() * 1000000000000000000); var userid = '1'+ Math.floor(Math.random() * 1000000000000000000);
var offline_user_list = CryptoJS.enc.Latin1.parse("<user-list>\n\t<user userid=\"" + userid + " user-name=\"" + nickname + "\" first-name=\"" + minisrv_config.config.service_name + "User \" last-name=\\" + namerand + "\" password=\"\" mail-enabled=\"true\" />\n</user-list>").toString(CryptoJS.enc.Base64); var offline_user_list = CryptoJS.enc.Latin1.parse("<user-list>\n\t<user userid=\"" + userid + " user-name=\"" + nickname + "\" first-name=\"" + minisrv_config.config.service_name + "User \" last-name=\\" + namerand + "\" password=\"\" mail-enabled=\"true\" />\n</user-list>").toString(CryptoJS.enc.Base64);
data = ''; data = '';
@@ -63,16 +60,16 @@ wtv-country: US
wtv-language-header: en-US,en wtv-language-header: en-US,en
wtv-visit: client:closeallpanels wtv-visit: client:closeallpanels
wtv-expire-all: client:closeallpanels wtv-expire-all: client:closeallpanels
wtv-offline-user-list: `+ offline_user_list + ` wtv-offline-user-list: ${offline_user_list}
wtv-bypass-proxy: true wtv-bypass-proxy: true
wtv-ticket: `+ wtvsec_login.ticket_b64 + ` wtv-ticket: ${wtvsec_login.ticket_b64}
wtv-messagewatch-checktimeoffset: off wtv-messagewatch-checktimeoffset: off
wtv-input-timeout: 14400 wtv-input-timeout: 14400
wtv-connection-timeout: 90 wtv-connection-timeout: 90
wtv-fader-timeout: 900 wtv-fader-timeout: 900
wtv-ssl-log-url: wtv-log:/log wtv-ssl-log-url: wtv-log:/log
wtv-smartcard-inserted-message: Contacting service wtv-smartcard-inserted-message: Contacting service
user-id: `+ userid + ` user-id: ${userid}
wtv-transition-override: off wtv-transition-override: off
wtv-allow-dsc: true wtv-allow-dsc: true
wtv-messenger-enable: 0 wtv-messenger-enable: 0
@@ -80,12 +77,9 @@ wtv-noback-all: wtv-
wtv-service: reset wtv-service: reset
`+ getServiceString('all') + ` `+ getServiceString('all') + `
wtv-boot-url: wtv-1800:/preregister?relogin=true wtv-boot-url: wtv-1800:/preregister?relogin=true
`; wtv-user-name: ${nickname}
//wtv-ssl-certs-download-url: wtv-head-waiter:/ssl-cert.der wtv-human-name: ${nickname}
//wtv-ssl-certs-checksum: 473926DC1B11F635A6B920953FDCDE6A wtv-irc-nick: ${nickname}
headers += `wtv-user-name: `+ nickname + `
wtv-human-name: `+ nickname + `
wtv-irc-nick: `+ nickname + `
wtv-home-url: wtv-home:/home? wtv-home-url: wtv-home:/home?
wtv-domain: wtv.zefie.com wtv-domain: wtv.zefie.com
wtv-inactive-timeout: 0 wtv-inactive-timeout: 0

View File

@@ -2,7 +2,7 @@ headers = `200 OK
Connection: Keep-Alive Connection: Keep-Alive
wtv-expire-all: wtv- wtv-expire-all: wtv-
wtv-expire-all: http wtv-expire-all: http
Content-type: text/html` Content-Type: text/html`
data = `<html> data = `<html>
<head> <head>
@@ -25,12 +25,11 @@ Mini service
<tr><td> <tr><td>
zefie minisrv v${minisrv_config.version}`; zefie minisrv v${minisrv_config.version}`;
if (getGitRevision()) { if (getGitRevision()) {
data += ` (git ` + getGitRevision().substring(0,8) + `)`; data += " (git " + getGitRevision().substring(0, 8) + ")";
} }
data += ` data += `
<tr><td>&rate; <tr><td>&rate;
</table> </table>
</center> </center>
</body> </body>
</html> </html>`;
`;