fix: clean up socket session data on socket error

This commit is contained in:
zefie
2021-07-22 05:51:07 -04:00
parent ba280335c6
commit 192162831a

View File

@@ -844,6 +844,9 @@ async function cleanupSocket(socket) {
// if last socket for SSID disconnected, destroy login session // if last socket for SSID disconnected, destroy login session
if (!zquiet) console.log(" * Last socket from WebTV SSID", filterSSID(socket.ssid),"disconnected, cleaning up primary WTVSec instance for this SSID"); if (!zquiet) console.log(" * Last socket from WebTV SSID", filterSSID(socket.ssid),"disconnected, cleaning up primary WTVSec instance for this SSID");
ssid_sessions[socket.ssid].delete("wtvsec_login"); ssid_sessions[socket.ssid].delete("wtvsec_login");
if (ssid_sessions[socket.ssid].get("wtv-needs-upgrade")) {
ssid_sessions[socket.ssid].delete("wtv-needs-upgrade");
}
} }
} }
socket.end(); socket.end();
@@ -887,7 +890,7 @@ async function handleSocket(socket) {
}); });
socket.on('error', (err) => { socket.on('error', (err) => {
socket.end(); cleanupSocket(socket);
}); });
socket.on('end', function () { socket.on('end', function () {