fix some mstv sim related issues
This commit is contained in:
26
zefie_wtvp_minisrv/ServiceVault/wtv-register/BeMyGuest.js
Normal file
26
zefie_wtvp_minisrv/ServiceVault/wtv-register/BeMyGuest.js
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
if (minisrv_config.config.allow_guests) {
|
||||||
|
headers = `300 Moved
|
||||||
|
Connection: Close
|
||||||
|
wtv-noback-all: wtv-register:
|
||||||
|
wtv-expire-all: wtv-`;
|
||||||
|
if (socket.ssid) {
|
||||||
|
if (ssid_sessions[socket.ssid]) {
|
||||||
|
if (ssid_sessions[socket.ssid].data_store) {
|
||||||
|
if (ssid_sessions[socket.ssid].data_store.wtvsec_login) {
|
||||||
|
headers += "\nwtv-ticket: " + ssid_sessions[socket.ssid].data_store.wtvsec_login.ticket_b64;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
headers += `
|
||||||
|
wtv-service: reset
|
||||||
|
${getServiceString('wtv-1800')}
|
||||||
|
wtv-relogin-url: wtv-1800:/preregister?guest_login=true
|
||||||
|
wtv-reconnect-url: wtv-1800:/preregister?guest_login=true&reconnect=true
|
||||||
|
wtv-boot-url: wtv-1800:/preregister?guest_login=true
|
||||||
|
Location: client:relogin`;
|
||||||
|
} else {
|
||||||
|
var errpage = doErrorPage(400, "Guest mode is not enabled on this service.");
|
||||||
|
headers = errpage[0];
|
||||||
|
data = errpage[1];
|
||||||
|
}
|
||||||
@@ -1,17 +1,4 @@
|
|||||||
if (request_headers.query.noreg && minisrv_config.config.allow_guests) {
|
if (!request_headers.query.registering) {
|
||||||
headers = `300 Moved
|
|
||||||
Connection: Close
|
|
||||||
wtv-noback-all: wtv-register:
|
|
||||||
wtv-expire-all: wtv-
|
|
||||||
wtv-ticket: ${ssid_sessions[socket.ssid].data_store.wtvsec_login.ticket_b64}
|
|
||||||
wtv-service: reset
|
|
||||||
${getServiceString('wtv-1800')}
|
|
||||||
wtv-relogin-url: wtv-1800:/preregister?guest_login=true
|
|
||||||
wtv-reconnect-url: wtv-1800:/preregister?guest_login=true&reconnect=true
|
|
||||||
wtv-boot-url: wtv-1800:/preregister?guest_login=true
|
|
||||||
Location: client:relogin`;
|
|
||||||
|
|
||||||
} else if (!request_headers.query.registering) {
|
|
||||||
var errpage = doErrorPage(400);
|
var errpage = doErrorPage(400);
|
||||||
headers = errpage[0];
|
headers = errpage[0];
|
||||||
data = errpage[1];
|
data = errpage[1];
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ data += `
|
|||||||
<shadow>
|
<shadow>
|
||||||
<input type=button action="ValidateAgreement?registering=true&subscriber_name=${human_name}&subscriber_username=${nickname}" Value="Quick Reg" name="speedyreg" borderimage="file://ROM/Borders/ButtonBorder2.bif" usestyle width=130>
|
<input type=button action="ValidateAgreement?registering=true&subscriber_name=${human_name}&subscriber_username=${nickname}" Value="Quick Reg" name="speedyreg" borderimage="file://ROM/Borders/ButtonBorder2.bif" usestyle width=130>
|
||||||
`;
|
`;
|
||||||
if (minisrv_config.config.allow_guests) data += `<input type=button action="ValidateWelcome" Value="Sign in as Guest" name="noreg" borderimage="file://ROM/Borders/ButtonBorder2.bif" usestyle width=170 >`;
|
if (minisrv_config.config.allow_guests) data += `<input type=button action="BeMyGuest" Value="Sign in as Guest" name="noreg" borderimage="file://ROM/Borders/ButtonBorder2.bif" usestyle width=170 >`;
|
||||||
|
|
||||||
data += `<input type=submit Value=Continue name="Continue" borderimage="file://ROM/Borders/ButtonBorder2.bif" usestyle width=110 selected>
|
data += `<input type=submit Value=Continue name="Continue" borderimage="file://ROM/Borders/ButtonBorder2.bif" usestyle width=110 selected>
|
||||||
</shadow>
|
</shadow>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ wtv-relogin-url: wtv-1800:/preregister?relogin=true
|
|||||||
wtv-reconnect-url: wtv-1800:/preregister?reconnect=true
|
wtv-reconnect-url: wtv-1800:/preregister?reconnect=true
|
||||||
wtv-boot-url: wtv-1800:/preregister?relogin=true`;
|
wtv-boot-url: wtv-1800:/preregister?relogin=true`;
|
||||||
|
|
||||||
var message = "You will now be be redirected to registration.";
|
var message = `You will now be be redirected to registration.<br><a href="${redirect[1]}">Click here if you are not automatically redirected.</a>`;
|
||||||
var redirect = [3, "client:relog?"];
|
var redirect = [3, "client:relog?"];
|
||||||
} else {
|
} else {
|
||||||
message = `Are you ready to register your box with ${minisrv_config.config.service_name}?
|
message = `Are you ready to register your box with ${minisrv_config.config.service_name}?
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ if (!ssid_sessions[socket.ssid].getSessionData("registered")) {
|
|||||||
if (ssid_sessions[socket.ssid].unregisterBox()) {
|
if (ssid_sessions[socket.ssid].unregisterBox()) {
|
||||||
headers += "\nwtv-noback-all: wtv-";
|
headers += "\nwtv-noback-all: wtv-";
|
||||||
headers += "\nwtv-expire-all: wtv-";
|
headers += "\nwtv-expire-all: wtv-";
|
||||||
var message = "Your account data has been successfully removed. You will now be be redirected to registration.";
|
var message = `Your account data has been successfully removed. You will now be be redirected to registration.<br><a href="${redirect[1]}">Click here if you are not automatically redirected.</a>`;
|
||||||
var redirect = [3, "client:relog?"];
|
var redirect = [3, "client:relog?"];
|
||||||
} else {
|
} else {
|
||||||
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. SSID verifcation may be required to perform a manual deletion.<br><br>Returning from whence you came...";
|
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. SSID verifcation may be required to perform a manual deletion.<br><br>Returning from whence you came...";
|
||||||
|
|||||||
@@ -1061,33 +1061,34 @@ async function processRequest(socket, data_hex, skipSecure = false, encryptedReq
|
|||||||
var post_string = "POST";
|
var post_string = "POST";
|
||||||
if (socket_sessions[socket.id].secure == true) {
|
if (socket_sessions[socket.id].secure == true) {
|
||||||
post_string = "Encrypted " + post_string;
|
post_string = "Encrypted " + post_string;
|
||||||
} else {
|
|
||||||
// if the request is not encrypted, the client may have just sent the data with the primary headers, so lets look for that.
|
|
||||||
if (data_hex.indexOf("0d0a0d0a") != -1) socket_sessions[socket.id].post_data = data_hex.substring(data_hex.indexOf("0d0a0d0a") + 8);
|
|
||||||
if (data_hex.indexOf("0a0a") != -1) socket_sessions[socket.id].post_data = data_hex.substring(data_hex.indexOf("0a0a") + 4);
|
|
||||||
}
|
|
||||||
if (socket_sessions[socket.id].post_data.length == (socket_sessions[socket.id].post_data_length * 2)) {
|
|
||||||
// got all expected data
|
|
||||||
if (socket_sessions[socket.id].expecting_post_data) delete socket_sessions[socket.id].expecting_post_data;
|
|
||||||
console.log(" * Incoming", post_string, "request on", socket.id, "from", filterSSID(socket.ssid), "to", headers['request_url'], "(got all expected", socket_sessions[socket.id].post_data_length, "bytes of data from client already)");
|
|
||||||
headers.post_data = CryptoJS.enc.Hex.parse(socket_sessions[socket.id].post_data);
|
|
||||||
if (socket_sessions[socket.id].headers) delete socket_sessions[socket.id].headers;
|
|
||||||
processURL(socket, headers);
|
|
||||||
} else {
|
|
||||||
// expecting more data (see below)
|
|
||||||
socket_sessions[socket.id].expecting_post_data = true;
|
|
||||||
console.log(" * Incoming", post_string, "request on", socket.id, "from", filterSSID(socket.ssid), "to", headers['request_url'], "(expecting", socket_sessions[socket.id].post_data_length, "bytes of data from client...)");
|
|
||||||
}
|
|
||||||
if (socket_sessions[socket.id].post_data.length > (socket_sessions[socket.id].post_data_length * 2)) {
|
|
||||||
// got too much data ? ... should not ever reach this code
|
|
||||||
var errpage = doErrorPage(400, "Received too much data in POST request<br>Got " + (socket_sessions[socket.id].post_data.length / 2) + ", expected " + socket_sessions[socket.id].post_data_length);
|
|
||||||
headers = errpage[0];
|
|
||||||
data = errpage[1];
|
|
||||||
sendToClient(socket, headers, data);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// the client may have just sent the data with the primary headers, so lets look for that.
|
||||||
|
if (data_hex.indexOf("0d0a0d0a") != -1) socket_sessions[socket.id].post_data = data_hex.substring(data_hex.indexOf("0d0a0d0a") + 8);
|
||||||
|
if (data_hex.indexOf("0a0a") != -1) socket_sessions[socket.id].post_data = data_hex.substring(data_hex.indexOf("0a0a") + 4);
|
||||||
|
|
||||||
|
}
|
||||||
|
if (socket_sessions[socket.id].post_data.length == (socket_sessions[socket.id].post_data_length * 2)) {
|
||||||
|
// got all expected data
|
||||||
|
if (socket_sessions[socket.id].expecting_post_data) delete socket_sessions[socket.id].expecting_post_data;
|
||||||
|
console.log(" * Incoming", post_string, "request on", socket.id, "from", filterSSID(socket.ssid), "to", headers['request_url'], "(got all expected", socket_sessions[socket.id].post_data_length, "bytes of data from client already)");
|
||||||
|
headers.post_data = CryptoJS.enc.Hex.parse(socket_sessions[socket.id].post_data);
|
||||||
|
if (socket_sessions[socket.id].headers) delete socket_sessions[socket.id].headers;
|
||||||
|
processURL(socket, headers);
|
||||||
|
} else {
|
||||||
|
// expecting more data (see below)
|
||||||
|
socket_sessions[socket.id].expecting_post_data = true;
|
||||||
|
console.log(" * Incoming", post_string, "request on", socket.id, "from", filterSSID(socket.ssid), "to", headers['request_url'], "(expecting", socket_sessions[socket.id].post_data_length, "bytes of data from client...)");
|
||||||
|
}
|
||||||
|
if (socket_sessions[socket.id].post_data.length > (socket_sessions[socket.id].post_data_length * 2)) {
|
||||||
|
// got too much data ? ... should not ever reach this code
|
||||||
|
var errpage = doErrorPage(400, "Received too much data in POST request<br>Got " + (socket_sessions[socket.id].post_data.length / 2) + ", expected " + socket_sessions[socket.id].post_data_length);
|
||||||
|
headers = errpage[0];
|
||||||
|
data = errpage[1];
|
||||||
|
sendToClient(socket, headers, data);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
return;
|
||||||
} else {
|
} else {
|
||||||
delete socket_sessions[socket.id].headers;
|
delete socket_sessions[socket.id].headers;
|
||||||
delete socket_sessions[socket.id].post_data;
|
delete socket_sessions[socket.id].post_data;
|
||||||
|
|||||||
@@ -199,6 +199,9 @@
|
|||||||
<Content Include="ServiceVault\wtv-music\get-playlist.js">
|
<Content Include="ServiceVault\wtv-music\get-playlist.js">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Content>
|
</Content>
|
||||||
|
<Content Include="ServiceVault\wtv-register\BeMyGuest.js">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Content>
|
||||||
<Content Include="ServiceVault\wtv-register\FinishRegistration.js">
|
<Content Include="ServiceVault\wtv-register\FinishRegistration.js">
|
||||||
<SubType>Code</SubType>
|
<SubType>Code</SubType>
|
||||||
</Content>
|
</Content>
|
||||||
|
|||||||
Reference in New Issue
Block a user