BREAKING CHANGES: (for SeCuRiTy):

By default:
- `ssid_sessions[socket.ssid]` is now `session_data`
- `require` is no longer allowed in user scripts

To access global `socket_sessions` and `ssid_sessions`, as well as `require` additional modules, you must set `privileged: true` for the specific service. See `config.json`.
This commit is contained in:
zefie
2022-10-09 13:26:14 -04:00
parent 2491f62b89
commit 37f1ab67ad
118 changed files with 577 additions and 530 deletions

View File

@@ -135,4 +135,4 @@ if (folder) folder = folder.replaceAll("+", " ")
var imagetype = request_headers.query['favorite-thumbnail-type']
var favurl = request_headers.query['favorite-url'];
saveFavorite(ssid_sessions[socket.ssid].favstore, title, folder, imagetype, favurl);
saveFavorite(session_data.favstore, title, folder, imagetype, favurl);

View File

@@ -1,22 +1,22 @@
var minisrv_service_file = true;
var foldername = request_headers.query.new_folder_name;
var favstore_exists = ssid_sessions[socket.ssid].favstore.favstoreExists();
var folder_exists = ssid_sessions[socket.ssid].favstore.folderExists(foldername);
var folder_array = ssid_sessions[socket.ssid].favstore.getFolders();
var favstore_exists = session_data.favstore.favstoreExists();
var folder_exists = session_data.favstore.folderExists(foldername);
var folder_array = session_data.favstore.getFolders();
if (foldername)
{
if (favstore_exists != true)
ssid_sessions[socket.ssid].favstore.createFavstore();
session_data.favstore.createFavstore();
if (folder_exists != true)
{
if (folder_array.length < minisrv_config.services[service_name].max_folders)
{
//if (ssid_sessions[socket.ssid].favstore.checkFolderName(foldername) == true)
//if (session_data.favstore.checkFolderName(foldername) == true)
//{
ssid_sessions[socket.ssid].favstore.createFolder(foldername);
session_data.favstore.createFolder(foldername);
headers = `300 OK
Connection: Keep-Alive
Content-Type: text/html

View File

@@ -4,11 +4,11 @@ var with_pictures = request_headers.query.with_pictures
if (with_pictures = "on")
{
ssid_sessions[socket.ssid].setSessionData("subscriber_fav_images", true)
session_data.setSessionData("subscriber_fav_images", true)
} else {
ssid_sessions[socket.ssid].setSessionData("subscriber_fav_images", false)
session_data.setSessionData("subscriber_fav_images", false)
}
ssid_sessions[socket.ssid].saveSessionData();
session_data.saveSessionData();
headers = `300 OK
Location: wtv-favorite:/favorite`

View File

@@ -25,7 +25,7 @@ Connection: Keep-Alive
Content-Type: text/html
Location: wtv-favorite:/serve-browser?favorite_folder_name=${folder}`
} else if (strName != "getCaseInsensitiveKey") {
var favorite = ssid_sessions[socket.ssid].favstore.getFavorite(folder, strName);
var favorite = session_data.favstore.getFavorite(folder, strName);
if (errpage) {
headers = errpage[0];
@@ -62,9 +62,9 @@ Location: ${confirmAlert}`
var gourl = `wtv-favorite:/serve-discard-favorites?favorite_folder_name=${folder}`;
if (discardAll == "Discard All")
{
ssid_sessions[socket.ssid].favstore.clearFolder(folder);
session_data.favstore.clearFolder(folder);
} else {
ssid_sessions[socket.ssid].favstore.deleteFavorite(strName, folder);
session_data.favstore.deleteFavorite(strName, folder);
}
headers = `300 OK

View File

@@ -2,7 +2,7 @@ var minisrv_service_file = true;
var errpage;
var query = request_headers.query
var folder_array = ssid_sessions[socket.ssid].favstore.getFolders();
var folder_array = session_data.favstore.getFolders();
var totalfavorites = folder_array.length;
var strName, strValue ;
@@ -21,8 +21,8 @@ Connection: Keep-Alive
Content-Type: text/html
Location: wtv-favorite:/favorite`
} else if (strName != "getCaseInsensitiveKey") {
var folder = ssid_sessions[socket.ssid].favstore.getFolders();
var folderdata = ssid_sessions[socket.ssid].favstore.listFavorites(strName);
var folder = session_data.favstore.getFolders();
var folderdata = session_data.favstore.listFavorites(strName);
var numoffavorites = Object.keys(folderdata).length;
if (totalfavorites == 1) {
@@ -59,7 +59,7 @@ Location: ${confirmAlert}`
} else {
var gourl = "wtv-favorite:/serve-discard-folders";
ssid_sessions[socket.ssid].favstore.deleteFolder(strName);
session_data.favstore.deleteFolder(strName);
headers = `300 OK
Connection: Keep-Alive

View File

@@ -2,7 +2,7 @@ var minisrv_service_file = true;
var favoritenum = 0;
var folder = request_headers.query.favorite_folder_name || null;
var favarray = ssid_sessions[socket.ssid].favstore.listFavorites(folder);
var favarray = session_data.favstore.listFavorites(folder);
var error_occured = false;
if (!folder) error_occured = true;
else {
@@ -12,14 +12,14 @@ else {
// one favorite
var favid = request_headers.query.favoriteid;
var favfolder = request_headers.query.favoritefolder;
if (folder != favfolder) ssid_sessions[socket.ssid].favstore.moveFavorite(folder, favfolder, favid);
if (folder != favfolder) session_data.favstore.moveFavorite(folder, favfolder, favid);
} else {
if (request_headers.query.favoriteid.length == request_headers.query.favoritefolder.length) {
// both queries should have the same number of entries
Object.keys(request_headers.query.favoriteid).forEach(function (k) {
var favid = request_headers.query.favoriteid[k];
var favfolder = request_headers.query.favoritefolder[k];
if (folder != favfolder) ssid_sessions[socket.ssid].favstore.moveFavorite(folder, favfolder, favid);
if (folder != favfolder) session_data.favstore.moveFavorite(folder, favfolder, favid);
})
} else {
error_occured = true;

View File

@@ -2,7 +2,7 @@ var minisrv_service_file = true;
var favoritenum = 0;
var folder = request_headers.query.favorite_folder_name;
var favarray = ssid_sessions[socket.ssid].favstore.listFavorites(folder);
var favarray = session_data.favstore.listFavorites(folder);
favoritenum = Object.keys(favarray).length;
@@ -81,7 +81,7 @@ for (let i = 0; i < favoritenum; i++) {
var favname = request_headers.query.favorite17name;
break;
}
ssid_sessions[socket.ssid].favstore.changeFavoriteName(favid, folder, favname);
session_data.favstore.changeFavoriteName(favid, folder, favname);
}
var gourl = `wtv-favorite:/serve-browser?favorite_folder_name=${folder}`;

View File

@@ -8,29 +8,29 @@ var createMovies = request_headers.query.Movies;
var createNews = request_headers.query.News;
var createRecommended = request_headers.query.Recommended;
var createReference = request_headers.query.Reference;
var folder_array = ssid_sessions[socket.ssid].favstore.getFolders();
var folder_array = session_data.favstore.getFolders();
totalfavorites = folder_array.length;
if (totalfavorites < 14)
{
if (createFun == "true")
ssid_sessions[socket.ssid].favstore.createTemplateFolder("Fun");
session_data.favstore.createTemplateFolder("Fun");
if (createMoney == "true")
ssid_sessions[socket.ssid].favstore.createTemplateFolder("Money");
session_data.favstore.createTemplateFolder("Money");
if (createMovies == "true")
ssid_sessions[socket.ssid].favstore.createTemplateFolder("Movies");
session_data.favstore.createTemplateFolder("Movies");
if (createNews == "true")
ssid_sessions[socket.ssid].favstore.createTemplateFolder("News");
session_data.favstore.createTemplateFolder("News");
if (createRecommended == "true")
ssid_sessions[socket.ssid].favstore.createTemplateFolder("Recommended");
session_data.favstore.createTemplateFolder("Recommended");
console.log("FUGHFVJSGHJFDGIJUFDSHGFJDSKHJKLGFHJKHDJKHJKLGF " + createRecommended)
if (createReference == "true")
ssid_sessions[socket.ssid].favstore.createTemplateFolder("Reference");
session_data.favstore.createTemplateFolder("Reference");
headers = `300 OK
Connection: Keep-Alive

View File

@@ -4,6 +4,6 @@ var folder = request_headers.query.favorite_folder_name;
var key = request_headers.query.Choose;
var id = request_headers.query.favoriteid;
ssid_sessions[socket.ssid].favstore.createShortcutKey();
ssid_sessions[socket.ssid].favstore.updateShortcutKey("none", key, folder, id);
session_data.favstore.createShortcutKey();
session_data.favstore.updateShortcutKey("none", key, folder, id);

View File

@@ -1,15 +1,15 @@
var minisrv_service_file = true;
var favstore_exists = ssid_sessions[socket.ssid].favstore.favstoreExists();
var favstore_exists = session_data.favstore.favstoreExists();
if (favstore_exists != true)
{
ssid_sessions[socket.ssid].favstore.createFavstore();
session_data.favstore.createFavstore();
headers = `300 OK
Location: wtv-favorite:/favorite`
} else {
var folder_array = ssid_sessions[socket.ssid].favstore.getFolders();
var folder_array = session_data.favstore.getFolders();
var url = request_headers.request;
var key = url.split('?')[1]

View File

@@ -1,15 +1,15 @@
var minisrv_service_file = true;
var favstore_exists = ssid_sessions[socket.ssid].favstore.favstoreExists();
var favstore_exists = session_data.favstore.favstoreExists();
if (favstore_exists != true)
{
ssid_sessions[socket.ssid].favstore.createFavstore();
session_data.favstore.createFavstore();
headers = `300 OK
Location: wtv-favorite:/favorite`
} else {
var folder_array = ssid_sessions[socket.ssid].favstore.getFolders();
var folder_array = session_data.favstore.getFolders();
var totalfavorites = folder_array.length;
var stopdrawing = false;
@@ -129,7 +129,7 @@ Favorite folders
<tbody><tr><td align="left">
<shadow><blackface><font color="e7ce4a">
Favorite folders
for ${ssid_sessions[socket.ssid].getSessionData("subscriber_username") || "You"}
for ${session_data.getSessionData("subscriber_username") || "You"}
</font><blackface><shadow>
</shadow></blackface></blackface></shadow></td></tr></tbody></table>
</td></tr><tr>

View File

@@ -4,7 +4,7 @@ var errpage = null;
var id = request_headers.query.id;
var folder = request_headers.query.folder;
var favorite = ssid_sessions[socket.ssid].favstore.getFavorite(folder, id);
var favorite = session_data.favstore.getFavorite(folder, id);
if (!favorite) errpage = wtvshared.doErrorPage(400, "Invalid favorite ID");

View File

@@ -1,13 +1,13 @@
var minisrv_service_file = true;
var favstore_exists = ssid_sessions[socket.ssid].favstore.favstoreExists();
var favstore_exists = session_data.favstore.favstoreExists();
if (favstore_exists != true)
{
ssid_sessions[socket.ssid].favstore.createFavstore();
session_data.favstore.createFavstore();
}
var folder_array = ssid_sessions[socket.ssid].favstore.getFolders();
var folder_array = session_data.favstore.getFolders();
var data = "";
for (let i = 0; i < folder_array.length; i++) data += folder_array[i] + "\0";

View File

@@ -4,9 +4,9 @@ var favoritenum = 0;
var foldername = request_headers.query.favorite_folder_name;
var favarray = ssid_sessions[socket.ssid].favstore.listFavorites(foldername);
var favarray = session_data.favstore.listFavorites(foldername);
var folder_array = ssid_sessions[socket.ssid].favstore.getFolders();
var folder_array = session_data.favstore.getFolders();
var folderid = folder_array.indexOf(foldername);
@@ -192,7 +192,7 @@ by name only.
<td valign=top>
<input type=hidden name=autosubmit autosubmit=onleave>
<INPUT TYPE="checkbox" NAME="with_pictures" `
if (ssid_sessions[socket.ssid].getSessionData("subscriber_fav_images") == "true")
if (session_data.getSessionData("subscriber_fav_images") == "true")
console.log("SELECTED")
data += "checked"
data += ` selected>

View File

@@ -4,9 +4,9 @@ var favoritenum = 0;
var foldername = request_headers.query.favorite_folder_name;
var favarray = ssid_sessions[socket.ssid].favstore.listFavorites(foldername);
var favarray = session_data.favstore.listFavorites(foldername);
var folder_array = ssid_sessions[socket.ssid].favstore.getFolders();
var folder_array = session_data.favstore.getFolders();
var folderid = folder_array.indexOf(foldername);
@@ -121,7 +121,7 @@ Favorites
</td><td><table width="428" cellspacing="0" cellpadding="0">
<tbody><tr>
<td align="left">
<shadow><blackface><font color="e7ce4a">Favorites for ${ssid_sessions[socket.ssid].getSessionData("subscriber_username") || "You"}
<shadow><blackface><font color="e7ce4a">Favorites for ${session_data.getSessionData("subscriber_username") || "You"}
</font><shadow><blackface>
</blackface></shadow></blackface></shadow></td></tr></tbody></table>
</td></tr><tr>

View File

@@ -4,9 +4,9 @@ var favoritenum = 0;
var foldername = request_headers.query.favorite_folder_name;
var favarray = ssid_sessions[socket.ssid].favstore.listFavorites(foldername);
var favarray = session_data.favstore.listFavorites(foldername);
var folder_array = ssid_sessions[socket.ssid].favstore.getFolders();
var folder_array = session_data.favstore.getFolders();
var folderid = folder_array.indexOf(foldername);
@@ -16,7 +16,7 @@ var numoffolders = folder_array.length;
favoritenum = Object.keys(favarray).length;
var favoritedata = ssid_sessions[socket.ssid].favstore.getFavorite(foldername, favid);
var favoritedata = session_data.favstore.getFavorite(foldername, favid);
headers = `200 OK

View File

@@ -4,9 +4,9 @@ var favoritenum = 0;
var foldername = request_headers.query.favorite_folder_name;
var favarray = ssid_sessions[socket.ssid].favstore.listFavorites(foldername);
var favarray = session_data.favstore.listFavorites(foldername);
var folder_array = ssid_sessions[socket.ssid].favstore.getFolders();
var folder_array = session_data.favstore.getFolders();
var folderid = folder_array.indexOf(foldername);

View File

@@ -1,6 +1,6 @@
var minisrv_service_file = true;
var folder_array = ssid_sessions[socket.ssid].favstore.getFolders();
var folder_array = session_data.favstore.getFolders();
var totalfavorites = folder_array.length;
headers = `200 OK

View File

@@ -5,9 +5,9 @@ var foldernum = 0;
var foldername = request_headers.query.favorite_folder_name;
var favarray = ssid_sessions[socket.ssid].favstore.listFavorites(foldername);
var favarray = session_data.favstore.listFavorites(foldername);
var folder_array = ssid_sessions[socket.ssid].favstore.getFolders();
var folder_array = session_data.favstore.getFolders();
var folderid = folder_array.indexOf(foldername);

View File

@@ -4,9 +4,9 @@ var favoritenum = 0;
var foldername = request_headers.query.favorite_folder_name;
var favarray = ssid_sessions[socket.ssid].favstore.listFavorites(foldername);
var favarray = session_data.favstore.listFavorites(foldername);
var folder_array = ssid_sessions[socket.ssid].favstore.getFolders();
var folder_array = session_data.favstore.getFolders();
var folderid = folder_array.indexOf(foldername);

View File

@@ -4,9 +4,9 @@ var favoritenum = 0;
var foldername = request_headers.query.favorite_folder_name;
var favarray = ssid_sessions[socket.ssid].favstore.listFavorites(foldername);
var favarray = session_data.favstore.listFavorites(foldername);
var folder_array = ssid_sessions[socket.ssid].favstore.getFolders();
var folder_array = session_data.favstore.getFolders();
var folderid = folder_array.indexOf(foldername);

View File

@@ -104,7 +104,7 @@ by going to the folder and choosing <b>Organize</b>.<br>
<td width=25>
<tr>
<td width=25>`
if (ssid_sessions[socket.ssid].favstore.folderExists("Fun") == true)
if (session_data.favstore.folderExists("Fun") == true)
{
data += `
<td width=50% absheight=30 align=left valign=middle>
@@ -124,7 +124,7 @@ if (ssid_sessions[socket.ssid].favstore.folderExists("Fun") == true)
<input type="checkbox" name="Fun" value="true"> &nbsp;Fun
</font>`
}
if (ssid_sessions[socket.ssid].favstore.folderExists("Money") == true)
if (session_data.favstore.folderExists("Money") == true)
{
data += `
<td width=50% absheight=30 align=left valign=middle>
@@ -147,7 +147,7 @@ if (ssid_sessions[socket.ssid].favstore.folderExists("Money") == true)
<td width=25>
<tr>
<td width=25>`
if (ssid_sessions[socket.ssid].favstore.folderExists("Movies") == true)
if (session_data.favstore.folderExists("Movies") == true)
{
data += `
<td width=50% absheight=30 align=left valign=middle>
@@ -167,7 +167,7 @@ if (ssid_sessions[socket.ssid].favstore.folderExists("Movies") == true)
<input type="checkbox" name="Movies" value="true"> &nbsp;Movies
</font>`
}
if (ssid_sessions[socket.ssid].favstore.folderExists("News") == true)
if (session_data.favstore.folderExists("News") == true)
{
data += `
<td width=50% absheight=30 align=left valign=middle>
@@ -191,7 +191,7 @@ data += `
<td width=25>
<tr>
<td width=25>`
if (ssid_sessions[socket.ssid].favstore.folderExists("Recommended") == true)
if (session_data.favstore.folderExists("Recommended") == true)
{
data += `
<td width=50% absheight=30 align=left valign=middle>
@@ -211,7 +211,7 @@ if (ssid_sessions[socket.ssid].favstore.folderExists("Recommended") == true)
<input type="checkbox" name="Recommended" value="true"> &nbsp;Recommended
</font>`
}
if (ssid_sessions[socket.ssid].favstore.folderExists("Reference") == true)
if (session_data.favstore.folderExists("Reference") == true)
{
data += `
<td width=50% absheight=30 align=left valign=middle>

View File

@@ -4,9 +4,9 @@ var favoritenum = 0;
var foldername = request_headers.query.favorite_folder_name;
var favarray = ssid_sessions[socket.ssid].favstore.listFavorites(foldername);
var favarray = session_data.favstore.listFavorites(foldername);
var folder_array = ssid_sessions[socket.ssid].favstore.getFolders();
var folder_array = session_data.favstore.getFolders();
var folderid = folder_array.indexOf(foldername);

View File

@@ -102,7 +102,7 @@ Favorites
</td><td><table width="428" cellspacing="0" cellpadding="0">
<tbody><tr>
<td align="left">
<shadow><blackface><font color="e7ce4a">Favorites for ${ssid_sessions[socket.ssid].getSessionData("subscriber_username") || "You"}
<shadow><blackface><font color="e7ce4a">Favorites for ${session_data.getSessionData("subscriber_username") || "You"}
</font><shadow><blackface>
</blackface></shadow></blackface></shadow></td></tr></tbody></table>
</td></tr><tr>