diff --git a/zefie_wtvp_minisrv/ServiceDeps/TOS.html b/zefie_wtvp_minisrv/ServiceDeps/TOS.html
new file mode 100644
index 00000000..60aa8e72
--- /dev/null
+++ b/zefie_wtvp_minisrv/ServiceDeps/TOS.html
@@ -0,0 +1,92 @@
+
+
+
+Access Denied
+
+
+
+
+
+
+
+
+ |
+
+ |
+
+
+
+
+
+Access Denied
+
+
+
+ |
+
+
+ |
+|
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+
+
\ No newline at end of file
diff --git a/zefie_wtvp_minisrv/app.js b/zefie_wtvp_minisrv/app.js
index e2b3d7a6..6b1c3841 100644
--- a/zefie_wtvp_minisrv/app.js
+++ b/zefie_wtvp_minisrv/app.js
@@ -867,11 +867,24 @@ function checkSecurity(socket) {
};
var rejectSSIDConnection = function (ssid, blacklist) {
- if (blacklist) console.log(" * Request from SSID", wtvshared.filterSSID(ssid), "(" + socket.remoteAddr + "), but that SSID is in the blacklist, rejecting.");
- else console.log(" * Request from SSID", wtvshared.filterSSID(socket.ssid), "(" + socket.remoteAddress + "), but that SSID is not in the whitelist, rejecting.");
-
- var errpage = wtvshared.doErrorPage(401, "Access to this service is denied.");
- out = errpage;
+ var rejectReason = null;
+ if (blacklist) {
+ rejectReason = ssid + " is in the blacklist.";
+ console.log(" * Request from SSID", wtvshared.filterSSID(ssid), "(" + socket.remoteAddress + "), but that SSID is in the blacklist, rejecting.");
+ } else {
+ rejectReason = ssid + " is not in the whitelist.";
+ console.log(" * Request from SSID", wtvshared.filterSSID(socket.ssid), "(" + socket.remoteAddress + "), but that SSID is not in the whitelist, rejecting.");
+ }
+ if (fs.existsSync(__dirname + '/ServiceDeps/TOS.html')) {
+ var tosErrorPage = fs.readFileSync(__dirname + '/ServiceDeps/TOS.html').toString();
+ out = new Array(`200 Goodbye
+wtv-service: reset
+Connection: close
+Content-type: text/html`, tosErrorPage.replace('\$\{REASON\}', rejectReason));
+ } else {
+ var errpage = wtvshared.doErrorPage(401, "Access to this service is denied.");
+ out = errpage;
+ }
}
var checkSSIDIPWhitelist = function (ssid, blacklist) {
@@ -1016,6 +1029,8 @@ async function processRequest(socket, data_hex, skipSecure = false, encryptedReq
socket_sessions[socket.id].close_me = true;
headers = failed_security[0];
data = failed_security[1];
+ sendToClient(socket, headers, data);
+ return;
}
if (headers["wtv-capability-flags"] != null) {
diff --git a/zefie_wtvp_minisrv/zefie_wtvp_minisrv.njsproj b/zefie_wtvp_minisrv/zefie_wtvp_minisrv.njsproj
index 4d6aa4b7..3ee4d12d 100644
--- a/zefie_wtvp_minisrv/zefie_wtvp_minisrv.njsproj
+++ b/zefie_wtvp_minisrv/zefie_wtvp_minisrv.njsproj
@@ -35,6 +35,10 @@
Code
+
+
+
+
@@ -335,6 +339,9 @@
+
+
+