From 8488b6ec6f402751402002daf0e3b8cb61ea7d95 Mon Sep 17 00:00:00 2001 From: zefie Date: Sun, 16 Oct 2022 12:24:12 -0400 Subject: [PATCH] fix registration and guest mode for unregistered clients --- zefie_wtvp_minisrv/ServiceVault/wtv-1800/preregister.js | 6 +++--- .../ServiceVault/wtv-head-waiter/login-stage-two.js | 2 ++ zefie_wtvp_minisrv/ServiceVault/wtv-head-waiter/login.js | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-1800/preregister.js b/zefie_wtvp_minisrv/ServiceVault/wtv-1800/preregister.js index 20b3e3f6..78341d1f 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-1800/preregister.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-1800/preregister.js @@ -49,7 +49,7 @@ if (request_headers.query.reconnect && session_data.getSessionData("registered") if (session_data.data_store.wtvsec_login) { var prereg_contype = "text/html"; - if (request_headers.query.relogin) { // relogin + if (request_headers.query.relogin || request_headers.query.guest_login) { // relogin session_data.data_store.wtvsec_login.ticket_b64 = null; // clear old ticket } @@ -58,7 +58,7 @@ if (session_data.data_store.wtvsec_login) { var file_path = null; var bf0app_update = false; var romtype = session_data.get("wtv-client-rom-type"); - var send_tellyscript = (minisrv_config.services[service_name].send_tellyscripts && !request_headers.query.relogin); + var send_tellyscript = (minisrv_config.services[service_name].send_tellyscripts && !request_headers.query.relogin && !request_headers.query.guest_login); var wtv_script_id = parseInt(session_data.get("wtv-script-id")); var bootrom = session_data.get("wtv-client-bootrom-version"); if ((request_headers.query.reconnect || request_headers.query.relogin) && wtv_script_id != 0) send_tellyscript = false; @@ -165,7 +165,7 @@ if (session_data.data_store.wtvsec_login) { if (bf0app_update) headers += getServiceString('wtv-star', { "no_star_word": true }) + "\n"; else headers += getServiceString('wtv-star') + "\n"; - if (request_headers.query.reconnect && !session_data.getSessionData("registered") && !session_data.lockdown) headers += getServiceString('wtv-register') + "\n"; + if (request_headers.query.reconnect && !session_data.isRegistered() && !session_data.lockdown) headers += getServiceString('wtv-register') + "\n"; if (!session_data.lockdown) headers += getServiceString('wtv-flashrom') + "\n"; if (bf0app_update) headers += "wtv-boot-url: " + gourl + "\n"; else { diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-head-waiter/login-stage-two.js b/zefie_wtvp_minisrv/ServiceVault/wtv-head-waiter/login-stage-two.js index 2726af15..4618e857 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-head-waiter/login-stage-two.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-head-waiter/login-stage-two.js @@ -9,6 +9,8 @@ if (gourl) { wtv-open-isp-disabled: false `; if (!session_data.isRegistered() && (!request_headers.query.guest_login || !minisrv_config.config.allow_guests)) { + // fake logged in for reg + session_data.setUserLoggedIn(true); headers += `wtv-encrypted: true ${getServiceString('wtv-register')} ${getServiceString('wtv-head-waiter')} diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-head-waiter/login.js b/zefie_wtvp_minisrv/ServiceVault/wtv-head-waiter/login.js index 6520b2a0..4a971720 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-head-waiter/login.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-head-waiter/login.js @@ -10,7 +10,7 @@ else if (request_headers.query.reconnect) gourl += "reconnect=true"; else gourl += "initial_login=true" if (request_headers.query.guest_login) { - if (request_headers.query.relogin || request_headers.query.reconnect) gourl += "&"; + if (gourl.substr(-1) != "?") gourl += "&"; gourl += "guest_login=true"; if (request_headers.query.skip_splash) gourl += "&skip_splash=true"; }