From 8aff6cc092b97c23b91ca3d424815cf0766e04d4 Mon Sep 17 00:00:00 2001 From: zefie Date: Sat, 11 May 2024 11:16:52 -0400 Subject: [PATCH] fix for minibrowser --- zefie_wtvp_minisrv/app.js | 25 +++++++++++++------ .../includes/classes/WTVShared.js | 14 +++++++---- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/zefie_wtvp_minisrv/app.js b/zefie_wtvp_minisrv/app.js index e7fc0cae..19a70bb0 100644 --- a/zefie_wtvp_minisrv/app.js +++ b/zefie_wtvp_minisrv/app.js @@ -1473,12 +1473,13 @@ async function processRequest(socket, data_hex, skipSecure = false, encryptedReq if (headers["wtv-client-serial-number"] != null && socket.ssid == null) { socket.ssid = wtvshared.makeSafeSSID(headers["wtv-client-serial-number"]); if (minisrv_config.config.require_valid_ssid) { - if (!wtvshared.checkSSID(headers["wtv-client-serial-number"])) { + if (!wtvshared.checkSSID(socket.ssid)) { if (socket.ssid.substring(0, 5) != "1SEGA" && socket.ssid.substring(0, 8) != "MSTVSIMU") { // reject invalid SSIDs, but let Dreamcast and MSTV Sim through for now until we figure out their checksumming method. var errpage = wtvshared.doErrorPage(400, "minisrv ran into a technical problem. Reason: Your SSID is not valid."); headers = errpage[0]; data = errpage[1]; + socket.close_me = true; sendToClient(socket, headers, data); return; } @@ -1573,7 +1574,7 @@ async function processRequest(socket, data_hex, skipSecure = false, encryptedReq } if (socket_sessions[socket.id].secure != true) { // first time so reroll sessions - if (minisrv_config.config.debug_flags.debug) console.log(" # [ SECURE ON BLOCK (" + socket.id + ") ]"); + //if (minisrv_config.config.debug_flags.debug) console.log(" # [ SECURE ON BLOCK (" + socket.id + ") ]"); socket_sessions[socket.id].secure = true; } if (!headers.request_url) { @@ -1823,17 +1824,27 @@ async function processRequest(socket, data_hex, skipSecure = false, encryptedReq } } } - } else { - cleanupSocket(socket); } } catch (e) { - cleanupSocket(socket); + var errpage = wtvshared.doErrorPage(400); + headers = errpage[0]; + data = errpage[1]; + socket.close_me = true; + sendToClient(socket, headers, data); } } else { - cleanupSocket(socket); + var errpage = wtvshared.doErrorPage(400); + headers = errpage[0]; + data = errpage[1]; + socket.close_me = true; + sendToClient(socket, headers, data); } } else { - cleanupSocket(socket); + var errpage = wtvshared.doErrorPage(400); + headers = errpage[0]; + data = errpage[1]; + socket.close_me = true; + sendToClient(socket, headers, data); } } diff --git a/zefie_wtvp_minisrv/includes/classes/WTVShared.js b/zefie_wtvp_minisrv/includes/classes/WTVShared.js index c8b86bca..c57331ca 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVShared.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVShared.js @@ -781,12 +781,16 @@ class WTVShared { } censorSSID(ssid) { - if (ssid.slice(0, 8) === "MSTVSIMU") { - return ssid.slice(0, 10) + ('*').repeat(10) + ssid.slice(20); - } else if (ssid.slice(0, 5) === "1SEGA") { - return ssid.slice(0, 6) + ('*').repeat(6) + ssid.slice(12); + if (ssid) { + if (ssid.slice(0, 8) === "MSTVSIMU") { + return ssid.slice(0, 10) + ('*').repeat(10) + ssid.slice(20); + } else if (ssid.slice(0, 5) === "1SEGA") { + return ssid.slice(0, 6) + ('*').repeat(6) + ssid.slice(12); + } + return ssid.slice(0, 6) + ('*').repeat(9); + } else { + return "????????????????"; } - return ssid.slice(0, 6) + ('*').repeat(9); } /**