- numerous bug fixes
 - wtv-mail system
 - user account updates
 - viewergen alpha (experimental webtv viewer patcher on pc_service)
 - implement wtv-favorites with huge help from @JarHead4
 - add wtv-ticket store api
 - Bump vm2 from 3.9.5 to 3.9.7 in /zefie_wtvp_minisrv
 - fix bf0app default rom
 - Add wtv-1800 service to wtv-1800:/noflash
 - handle webtvism:
   - allow get/post variables to be the same name multiple times
   - rather than overwrite, the server will now change the variable from a string to an array.
 - Rewrite script processing a bit
   - Instead of using eval() we now use a proper VM Context
   - As a result, any scripting errors will now give a more useful filename and line number.
   - However, some things may break, if they are dependant on variables we are not allowing in the context.
 - BREAKING CHANGES:
   - `ssid_sessions[socket.ssid]` is now `session_data`
   - `require` is no longer allowed in user scripts
 - add star service
 - change how we handle modules for services in the VM
 - fixed wtv-disk:/sync always failed the first time
 - implement production-like wtv-star handling (when a service port becomes unavailable, it requests the url over the wtv-star port to show an error page)
 - renamed WTVDownloadList.js to WTVDisk.js
 - a bit more work on WTVNews (created class)
 - probably more stuff I can't remember
This commit is contained in:
zefie
2021-11-10 23:38:15 -05:00
parent 4544e815cb
commit 1165b245ce
1411 changed files with 31570 additions and 2198 deletions

View File

@@ -3,26 +3,26 @@ var minisrv_service_file = true;
var client_caps = null;
if (socket.ssid != null) {
if (ssid_sessions[socket.ssid].capabilities) {
client_caps = ssid_sessions[socket.ssid].capabilities;
if (session_data.capabilities) {
client_caps = session_data.capabilities;
}
}
if (client_caps) {
headers = `200 OK
Content-Type: text/html`
var service_ip = minisrv_config.config.service_ip
var client_label = "TODO";
var boot_client_label = "TODO";
var wtv_system_sysconfig_str = "TODO";
var wtv_system_version = ssid_sessions[socket.ssid].get("wtv-system-version");
var wtv_client_bootrom_version = ssid_sessions[socket.ssid].get("wtv-client-bootrom-version");
var wtv_client_serial_number = wtvshared.filterSSID(ssid_sessions[socket.ssid].get("wtv-client-serial-number"));
var wtv_client_rom_type = ssid_sessions[socket.ssid].get("wtv-client-rom-type");
var wtv_system_chipversion_str = ssid_sessions[socket.ssid].get("wtv-system-chipversion");
var wtv_system_sysconfig_hex = parseInt(ssid_sessions[socket.ssid].get("wtv-system-sysconfig")).toString(16);
var wtv_system_version = session_data.get("wtv-system-version");
var wtv_client_bootrom_version = session_data.get("wtv-client-bootrom-version");
var wtv_client_serial_number = wtvshared.filterSSID(session_data.get("wtv-client-serial-number"));
var wtv_client_rom_type = session_data.get("wtv-client-rom-type");
var wtv_system_chipversion_str = session_data.get("wtv-system-chipversion");
var wtv_system_sysconfig_hex = parseInt(session_data.get("wtv-system-sysconfig")).toString(16);
var capabilities_table = new WTVClientCapabilities().capabilities_table;
@@ -58,7 +58,7 @@ Content-Type: text/html`
<tr>
<td valign=top align=right width=150><shadow>Service:</shadow>
<td width=10>
<td valign=top>${z_title}
<td valign=top>${minisrv_version_string}
<tr>
<td valign=top align=right><shadow>Client:</shadow>
<td width=10>
@@ -82,19 +82,19 @@ Content-Type: text/html`
<td width=10>
<td valign=top>${socket.remoteAddress}
`;
if (ssid_sessions[socket.ssid].getSessionData("registered")) {
if (session_data.getSessionData("registered")) {
data += `<tr>
<td valign=top align=right><shadow>Subscriber Name:</shadow>
<td width=10>
<td valign=top>${ssid_sessions[socket.ssid].getSessionData("subscriber_name")}
<td valign=top>${session_data.getSessionData("subscriber_name")}
<tr>
<td valign=top align=right><shadow>Subscriber Username:</shadow>
<td width=10>
<td valign=top>${ssid_sessions[socket.ssid].getSessionData("subscriber_username")}
<td valign=top>${session_data.getSessionData("subscriber_username")}
<tr>
<td valign=top align=right><shadow>Subscriber Contact:</shadow>
<td width=10>
<td valign=top>${ssid_sessions[socket.ssid].getSessionData("subscriber_contact")} (${ssid_sessions[socket.ssid].getSessionData("subscriber_contact_method")})`;
<td valign=top>${session_data.getSessionData("subscriber_contact")} (${session_data.getSessionData("subscriber_contact_method")})`;
} else {
data += `<tr>
<td valign=top align=right><shadow>Unregistered Guest:</shadow>
@@ -113,7 +113,7 @@ Content-Type: text/html`
<td width=10>
<td valign=top>&modem;
`;
if (ssid_sessions[socket.ssid].get("wtv-need-upgrade")) {
if (session_data.get("wtv-need-upgrade")) {
data += `<tr>
<td valign=top align=right><shadow>Mini-browser:</shadow>
<td width=10>

View File

@@ -0,0 +1,16 @@
var minisrv_service_file = true;
// null is the new demo/flash
if (session_data) {
if (session_data.data_store.wtvsec_login) {
if (session_data.data_store.wtvsec_login.ticket_store) {
if (session_data.data_store.wtvsec_login.ticket_store.user_id != null) {
if (session_data.data_store.wtvsec_login.ticket_store.user_id >= 0)
session_data.switchUserID(-1);
}
}
}
}
headers = "400 You are now nullified.";

View File

@@ -3,7 +3,7 @@ var minisrv_service_file = true;
headers = `200 OK
Content-Type: text/html`;
if (ssid_sessions[socket.ssid].getSessionData("registered")) {
if (session_data.getSessionData("registered")) {
var redirect = [10, "client:goback?"];
var message = "Error: Your box is already registered. If you would like to re-register, you must first unregister.";
} else if (request_headers.query.confirm_register) {

View File

@@ -41,7 +41,7 @@ data = `<html>
<td><a href="client:showservices">Show Services</a>
<td width = 25>
`;
if (ssid_sessions[socket.ssid].getSessionData("registered")) data += `<td><a href="wtv-tricks:/unregister">Unregister This Box</a>`;
if (session_data.getSessionData("registered")) data += `<td><a href="wtv-tricks:/unregister">Unregister This Box</a>`;
else data += `<td><a href="wtv-tricks:/register">Register This Box</a>`
data += `

View File

@@ -3,13 +3,18 @@ var minisrv_service_file = true;
headers = `200 OK
Content-Type: text/html`;
if (!ssid_sessions[socket.ssid].getSessionData("registered")) {
if (!session_data.getSessionData("registered")) {
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 (session_data.user_id !== 0) {
headers += "\nwtv-noback-all: wtv-";
headers += "\nwtv-expire-all: wtv-";
var redirect = [5, "wtv-tricks:/tricks"];
var message = "Error: You must be the primary user to unregister this box.";
} else if (request_headers.query.confirm_unregister) {
if (ssid_sessions[socket.ssid].unregisterBox()) {
if (session_data.unregisterBox()) {
headers += "\nwtv-noback-all: wtv-";
headers += "\nwtv-expire-all: wtv-";
var redirect = [3, "client:relog?"];