From a078e58ce0ed2cd89d4e4c531ee8e8a2a49e35ff Mon Sep 17 00:00:00 2001 From: zefie Date: Mon, 9 Aug 2021 18:16:54 -0400 Subject: [PATCH] flashrom system updates - fix bugs - more WNI-like flow path - make scripts use `service_name` variable so that they should work in a renamed service (eg not wtv-flashrom, untested) --- .../ServiceVault/wtv-flashrom/get-by-path.js | 2 +- .../ServiceVault/wtv-flashrom/get-lc2-page.js | 21 +++++++++---------- .../wtv-flashrom/initiate-lc2-download.js | 4 ++-- .../wtv-flashrom/lc2-download-complete.js | 10 ++++----- .../wtv-flashrom/lc2-download-failed.js | 12 +++++------ .../ServiceVault/wtv-flashrom/willie.js | 4 ++-- 6 files changed, 26 insertions(+), 27 deletions(-) diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/get-by-path.js b/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/get-by-path.js index 33f19f0e..e358d6b1 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/get-by-path.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/get-by-path.js @@ -25,7 +25,7 @@ if (request_headers.query.raw || bf0app_update) { headers = "200 OK\n" if (request_headers.query.path) { headers += "Content-type: text/html\n" - headers += "wtv-visit: wtv-flashrom:/initiate-lc2-download?path=" + request_headers.query.path; + headers += "wtv-visit: " + service_name + ":/initiate-lc2-download?path=" + request_headers.query.path; data = ''; } else { var errpage = doErrorPage(404) diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/get-lc2-page.js b/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/get-lc2-page.js index 25a2368b..963561a1 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/get-lc2-page.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/get-lc2-page.js @@ -20,11 +20,10 @@ if (!request_headers.query.path) { async function processLC2DownloadPage(path, flashrom_info, numparts = null) { if (numparts != null) flashrom_info.part_count = parseInt(numparts); if (!flashrom_info.part_count) flashrom_info.part_count = parseInt(flashrom_info.message.substring(flashrom_info.message.length - 4).replace(/\D/g, '')); - - if (!flashrom_info.is_last_part) { - flashrom_info.next_rompath = flashrom_info.next_rompath.replace("get-by-path", "get-lc2-page").replace("&raw=true", "&numparts=" + flashrom_info.part_count); - } if (!flashrom_info.part_number || !flashrom_info.is_last_part || !flashrom_info.rompath || !flashrom_info.next_rompath || !flashrom_info.is_bootrom) { + if (!flashrom_info.is_last_part) { + flashrom_info.next_rompath = request_headers.request_url.replace(escape(request_headers.query.path), escape(flashrom_info.next_rompath.replace(service_name+":/",""))); + } headers = `200 OK Content-type: text/html` @@ -43,12 +42,12 @@ hspace=0 vspace=0 fontsize="large"> - + - +
Updating now
@@ -56,7 +55,7 @@ Updating now
- + @@ -92,7 +91,7 @@ data += `





-
+
${flashrom_info.message}

- + @@ -119,7 +118,7 @@ ${flashrom_info.message} - + diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/initiate-lc2-download.js b/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/initiate-lc2-download.js index b22756f3..dc6ca784 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/initiate-lc2-download.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/initiate-lc2-download.js @@ -1,8 +1,8 @@ if (request_headers.query.path) { -var url = "wtv-flashrom:/get-lc2-page?path=" + request_headers.query.path; +var url = service_name + ":/get-lc2-page?path=" + request_headers.query.path; var romtype = ssid_sessions[socket.ssid].get("wtv-client-rom-type"); if (romtype == "bf0app") { - url = "client:updateflash?ipaddr=" + minisrv_config.services[service_name].host + "&port=" + minisrv_config.services[service_name].port + "&path=" + escape(url.replace("get-lc2-page", "get-by-path")); + url = "client:updateflash?ipaddr=" + minisrv_config.services[service_name].host + "&port=" + minisrv_config.services[service_name].port + "&path=" + escape(service_name + ":/" +request_headers.query.path); if (request_headers.query.numparts) url += escape("&numparts=" + request_headers.query.numparts); } headers = "300 OK\n"; diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/lc2-download-complete.js b/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/lc2-download-complete.js index 61ee429e..b072fe81 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/lc2-download-complete.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/lc2-download-complete.js @@ -25,12 +25,12 @@ hspace=0 vspace=0 fontsize="large"> - + - +
Updating complete
@@ -38,7 +38,7 @@ Updating complete
- + @@ -65,7 +65,7 @@ The update is complete.
- + @@ -74,7 +74,7 @@ The update is complete.
- + diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/lc2-download-failed.js b/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/lc2-download-failed.js index 3cb3fa17..3f6e1b91 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/lc2-download-failed.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/lc2-download-failed.js @@ -32,7 +32,7 @@ if (request_headers.query.error) { } -var try_again_url = 'wtv-flashrom:/willie'; +var try_again_url = service_name + ":/willie"; var try_again_url_path = '' var try_again_url_start_time = parseInt(new Date().toUTCString()) / 1000; @@ -53,12 +53,12 @@ data = ` - + - +
Updating failed
@@ -66,7 +66,7 @@ data = `
- + @@ -96,7 +96,7 @@ data = ` - + @@ -105,7 +105,7 @@ data = ` - + diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/willie.js b/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/willie.js index 17ea8f25..765de4e3 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/willie.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/willie.js @@ -18,7 +18,7 @@ if (!minisrv_config.services[service_name].use_zefie_server) { var options = { host: "wtv.zefie.com", - path: "/willie.php?minisrv=true&pflash=" + ssid_sessions[socket.ssid].get("wtv-client-rom-type") + proxy_query, + path: "/willie.php?minisrv=true&service_name="+escape(service_name)+"&pflash=" + ssid_sessions[socket.ssid].get("wtv-client-rom-type") + proxy_query, timeout: 5000, method: 'GET' } @@ -42,7 +42,7 @@ const req = https.request(options, function (res) { res.on('end', function () { if (!zquiet) console.log(" * Upstream Ultra Willies HTTP Response:", res.statusCode, res.statusMessage); if (request_headers.query.clear_cache) { - headers += "\nwtv-expire-all: wtv-flashrom"; + headers += "\nwtv-expire-all: "+service_name; } sendToClient(socket, headers, data); });