diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-tricks/unregister.js b/zefie_wtvp_minisrv/ServiceVault/wtv-tricks/unregister.js
index 7f40113f..1f0af15a 100644
--- a/zefie_wtvp_minisrv/ServiceVault/wtv-tricks/unregister.js
+++ b/zefie_wtvp_minisrv/ServiceVault/wtv-tricks/unregister.js
@@ -2,7 +2,9 @@ headers = `200 OK
Content-Type: text/html`;
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!";
} else if (request_headers.query.confirm_unregister) {
if (ssid_sessions[socket.ssid].unregisterBox()) {
@@ -14,7 +16,7 @@ if (!ssid_sessions[socket.ssid].getSessionData("registered")) {
} else {
var redirect = [10, "client:goback?"];
var message = "There was an error deleting your account data. Please try again later. If the problem persists, please contact " + minisrv_config.config.service_owner + " to request manual deletion.";
- message += "SSID verifcation may be required to perform a manual deletion.< br >
Returning from whence you came...
";
+ message += "SSID verifcation may be required to perform a manual deletion.
Returning from whence you came...
";
message += `Click here if you are not automatically redirected.`;
}
} else {
diff --git a/zefie_wtvp_minisrv/WTVClientSessionData.js b/zefie_wtvp_minisrv/WTVClientSessionData.js
index 97c01819..1737eda2 100644
--- a/zefie_wtvp_minisrv/WTVClientSessionData.js
+++ b/zefie_wtvp_minisrv/WTVClientSessionData.js
@@ -295,12 +295,16 @@ class WTVClientSessionData {
}
unregisterBox() {
+ var user_store_base = this.wtvshared.makeSafePath(this.wtvshared.getAbsolutePath(this.minisrv_config.config.SessionStore), this.path.sep + this.ssid);
try {
- if (this.fs.lstatSync(this.minisrv_config.config.SessionStore + this.path.sep + this.ssid + ".json")) {
- this.fs.unlinkSync(this.minisrv_config.config.SessionStore + this.path.sep + this.ssid + ".json");
+ if (this.fs.existsSync(user_store_base + ".json")) {
+ this.fs.unlinkSync(user_store_base + ".json");
this.session_store = {};
- return true;
}
+ if (this.fs.existsSync(user_store_base)) {
+ this.fs.rmdirSync(user_store_base, { recursive: true });
+ }
+ return true;
} catch (e) {
// 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);