delete user file store when unregistering

This commit is contained in:
zefie
2021-08-11 01:18:16 -04:00
parent 95442a12af
commit 1910ded10a
2 changed files with 11 additions and 5 deletions

View File

@@ -2,7 +2,9 @@ headers = `200 OK
Content-Type: text/html`; Content-Type: text/html`;
if (!ssid_sessions[socket.ssid].getSessionData("registered")) { if (!ssid_sessions[socket.ssid].getSessionData("registered")) {
var redirect = [10, "client:goback?"]; headers += "\nwtv-noback-all: wtv-";
headers += "\nwtv-expire-all: wtv-";
var redirect = [5, "client:relogin?"];
var message = "Error: Your box is not registered. You are accessing " + minisrv_config.config.service_name + " in Guest Mode. There is nothing to delete!"; var message = "Error: Your box is not registered. You are accessing " + minisrv_config.config.service_name + " in Guest Mode. There is nothing to delete!";
} else if (request_headers.query.confirm_unregister) { } else if (request_headers.query.confirm_unregister) {
if (ssid_sessions[socket.ssid].unregisterBox()) { if (ssid_sessions[socket.ssid].unregisterBox()) {

View File

@@ -295,12 +295,16 @@ class WTVClientSessionData {
} }
unregisterBox() { unregisterBox() {
var user_store_base = this.wtvshared.makeSafePath(this.wtvshared.getAbsolutePath(this.minisrv_config.config.SessionStore), this.path.sep + this.ssid);
try { try {
if (this.fs.lstatSync(this.minisrv_config.config.SessionStore + this.path.sep + this.ssid + ".json")) { if (this.fs.existsSync(user_store_base + ".json")) {
this.fs.unlinkSync(this.minisrv_config.config.SessionStore + this.path.sep + this.ssid + ".json"); this.fs.unlinkSync(user_store_base + ".json");
this.session_store = {}; this.session_store = {};
return true;
} }
if (this.fs.existsSync(user_store_base)) {
this.fs.rmdirSync(user_store_base, { recursive: true });
}
return true;
} catch (e) { } catch (e) {
// Don't log error 'file not found', it just means the client isn't registered yet // Don't log error 'file not found', it just means the client isn't registered yet
console.error(" # Error deleting session data for", this.wtvshared.filterSSID(this.ssid), e); console.error(" # Error deleting session data for", this.wtvshared.filterSSID(this.ssid), e);