fix vm readback and flashrom

This commit is contained in:
zefie
2022-10-19 22:00:28 -04:00
parent f1b7952687
commit 222976f416
8 changed files with 15 additions and 16 deletions

View File

@@ -1,5 +1,6 @@
var minisrv_service_file = true; var minisrv_service_file = true;
request_is_async = true;
var request_is_async = true;
var bf0app_update = false; var bf0app_update = false;
var request_path = request_headers.request_url.replace(service_name + ":/", ""); var request_path = request_headers.request_url.replace(service_name + ":/", "");

View File

@@ -1,6 +1,5 @@
var minisrv_service_file = true; var minisrv_service_file = true;
const WTVFlashrom = require(classPath + "/WTVFlashrom.js");
request_is_async = true; request_is_async = true;
// this build can be local or on zefie's server // this build can be local or on zefie's server

View File

@@ -1,6 +1,5 @@
var minisrv_service_file = true; var minisrv_service_file = true;
const WTVFlashrom = require(classPath + "/WTVFlashrom.js");
request_is_async = true; request_is_async = true;
var bf0app_update = false; var bf0app_update = false;

View File

@@ -1,6 +1,5 @@
var minisrv_service_file = true; var minisrv_service_file = true;
const WTVFlashrom = require(classPath + "/WTVFlashrom.js");
var wtvflashrom; var wtvflashrom;
request_is_async = true; request_is_async = true;

View File

@@ -1,6 +1,5 @@
var minisrv_service_file = true; var minisrv_service_file = true;
const WTVFlashrom = require(classPath + "/WTVFlashrom.js");
request_is_async = true; request_is_async = true;
// this build can be local or on zefie's server // this build can be local or on zefie's server

View File

@@ -332,7 +332,7 @@ async function processPath(socket, service_vault_file_path, request_headers = ne
] ]
if (!pc_services) { if (!pc_services) {
updateFromVM.push([`ssid_sessions[${socket.ssid}]`, "session_data"]); // user-specific session data from unprivileged scripts updateFromVM.push([`ssid_sessions['${socket.ssid}']`, "session_data"]); // user-specific session data from unprivileged scripts
} }
var privileged = false; var privileged = false;
@@ -509,7 +509,7 @@ async function processPath(socket, service_vault_file_path, request_headers = ne
try { try {
if (typeof vmResults[item[1]] !== "undefined") eval(item[0] + ' = vmResults["' + item[1] + '"]'); if (typeof vmResults[item[1]] !== "undefined") eval(item[0] + ' = vmResults["' + item[1] + '"]');
} catch (e) { } catch (e) {
console.error("vm readback error", e, item[0] + ' = vmResults[' + item[1] + ']');
} }
}) })
@@ -544,14 +544,16 @@ async function processPath(socket, service_vault_file_path, request_headers = ne
request_headers.service_file_path = catchall_file; request_headers.service_file_path = catchall_file;
var script_data = fs.readFileSync(catchall_file).toString(); var script_data = fs.readFileSync(catchall_file).toString();
runScriptInVM(script_data, contextObj, privileged, catchall_file); var vmResults = runScriptInVM(script_data, contextObj, privileged, catchall_file);
updateFromVM.forEach((item) => {
// Here we read back certain data from the ServiceVault Script Context Object // Here we read back certain data from the ServiceVault Script Context Object
try { try {
if (typeof vmResults[item[1]] !== "undefined") eval(item[0] + ' = vmResults["' + item[1] + '"]'); if (typeof vmResults[item[1]] !== "undefined") eval(item[0] + ' = vmResults["' + item[1] + '"]');
} catch (e) { } catch (e) {
console.error("vm readback error", e);
} }
});
if (request_is_async && !minisrv_config.config.debug_flags.quiet) console.log(" * Script requested Asynchronous mode"); if (request_is_async && !minisrv_config.config.debug_flags.quiet) console.log(" * Script requested Asynchronous mode");
break; break;

View File

@@ -1,7 +1,7 @@
class WTVFlashrom { class WTVFlashrom {
fs = require('fs'); fs = require('fs');
https = require('https'); https = require('follow-redirects').https;
use_zefie_server = true; use_zefie_server = true;
bf0app_update = false; bf0app_update = false;
service_vaults = new Array(); service_vaults = new Array();
@@ -170,7 +170,6 @@ class WTVFlashrom {
} else if (res.statusCode == 206) { } else if (res.statusCode == 206) {
var data = self.getFlashromInfo(Buffer.from(data_hex, 'hex'), request_path); var data = self.getFlashromInfo(Buffer.from(data_hex, 'hex'), request_path);
} else if (res.statusCode == 404) { } else if (res.statusCode == 404) {
console.log(request_path);
var errpage = self.wtvshared.doErrorPage(404, "The service could not find the requested ROM on zefie's server.") var errpage = self.wtvshared.doErrorPage(404, "The service could not find the requested ROM on zefie's server.")
headers = errpage[0]; headers = errpage[0];
var data = errpage[1]; var data = errpage[1];

View File

@@ -188,6 +188,7 @@
<Content Include="ServiceVault\wtv-admin\ban.js" /> <Content Include="ServiceVault\wtv-admin\ban.js" />
<Content Include="ServiceVault\wtv-admin\deleteaccount.js" /> <Content Include="ServiceVault\wtv-admin\deleteaccount.js" />
<Content Include="ServiceVault\wtv-admin\deleteuser.js" /> <Content Include="ServiceVault\wtv-admin\deleteuser.js" />
<Content Include="ServiceVault\wtv-admin\findaccount.js" />
<Content Include="ServiceVault\wtv-admin\images\nuke.gif" /> <Content Include="ServiceVault\wtv-admin\images\nuke.gif" />
<Content Include="ServiceVault\wtv-admin\images\nuke_inverted.gif" /> <Content Include="ServiceVault\wtv-admin\images\nuke_inverted.gif" />
<Content Include="ServiceVault\wtv-admin\images\polyzoot.jpg" /> <Content Include="ServiceVault\wtv-admin\images\polyzoot.jpg" />