diff --git a/index.html b/index.html index 43c21d3..3271c4c 100644 --- a/index.html +++ b/index.html @@ -1594,7 +1594,8 @@ - + +
Boot Source
@@ -1614,11 +1615,13 @@
Boot Media
-
+
-
Boot Image

- -
or HTTPS URL
+
Boot Image
+
+
+ +
Boot URL
@@ -10217,6 +10220,7 @@ QH('idx_d24customBootMediaIndex', x); } QV('ForceHttpBootOption', amtPowerBootCapabilities['ForceUEFIHTTPSBoot'] == true); + QV('ForceHttpUrlBootOption', amtPowerBootCapabilities['ForceUEFIHTTPSBoot'] == true); // ###END###{PowerControl-OneClick} QV('d24dForceProgressEvents', amtPowerBootCapabilities['ForcedProgressEvents'] == true); QV('d24dUseIDER', amtPowerBootCapabilities['IDER'] == true); @@ -10263,10 +10267,9 @@ QV('idx_d24bootSource', bootSourceIndex < 5); QV('idx_d24customBootSource', bootSourceIndex == 5) QV('idx_d24diskImage', bootSourceIndex == 6); + QV('idx_d24diskImageUrl', bootSourceIndex == 7); if ((bootSourceIndex == 6) && (Q('idx_d24ocrBootFile').files.length != 1)) { ok = false; } - // Allow HTTPS url to be passed as argument - if ((bootSourceIndex == 6) && (Q('idx_d24ocrBootUrl').value.trim()!='') && Q('idx_d24ocrBootUrl').value.trim().toLowerCase().startsWith("https")) { ok = true;} - // console.log(AmtOcrPbaLength, AmtOcrPba); + if ((bootSourceIndex == 7) && (Q('idx_d24ocrBootUrl').value.trim().toLowerCase().startsWith('https://') == false)) { ok = false;} // ###END###{PowerControl-OneClick} QE('idx_dlgOkButton', ok); @@ -10276,18 +10279,15 @@ // ###BEGIN###{PowerControl-OneClick} var forceBootSelection = Q('idx_d24ForceBootDevice').value; // ###BEGIN###{Mode-NodeWebkit} - if (((forceBootSelection == 5) || (forceBootSelection == 6)) && (wsstack.comm.xtlsCertificate == null)) { + if (((forceBootSelection == 5) || (forceBootSelection == 6) || (forceBootSelection == 7)) && (wsstack.comm.xtlsCertificate == null)) { messagebox("Power Action", "This feature requires a TLS connection to Intel AMT"); return; } // ###END###{Mode-NodeWebkit} if (forceBootSelection == 6) { var files = Q('idx_d24ocrBootFile').files; - //if (files.length != 1) return; if (files.length == 1) { setupWebServer(urlvars['webcn'] ? urlvars['webcn'] : wsstack.comm.localAddress); webserver.setupBootImage(files[0].path, (urlvars['webcn'] ? urlvars['webcn'] : wsstack.comm.localAddress)); - } else if ((Q('idx_d24ocrBootUrl').value.trim()=='') || !Q('idx_d24ocrBootUrl').value.trim().toLowerCase().startsWith("https")) { - return; //invalid HTTPS URL supplied } } // ###END###{PowerControl-OneClick} @@ -10486,19 +10486,14 @@ // ###BEGIN###{PowerControl-OneClick} // Add OCR TLV parameters if firmware supports OCR and Force HTTPS Boot is requested - if ((action == 600) || (action == 601) || ((action == 999) && (Q('idx_d24ForceBootDevice').value == 6))) { // Force UEFI HTTPS Boot - // check if using built-in webserver or external webserver - if (Q('idx_d24ocrBootFile').files.length==1) { - r['UefiBootParametersArray'] = webserver.lastBootImageArgs.args; - r['UefiBootNumberOfParams'] = webserver.lastBootImageArgs.argscount; - } else if ((Q('idx_d24ocrBootUrl').value.trim()!='') && Q('idx_d24ocrBootUrl').value.trim().toLowerCase().startsWith("https")){ - r['UefiBootParametersArray'] = btoa(makeUefiBootParam(1, Q('idx_d24ocrBootUrl').value.trim()) + makeUefiBootParam(20, 1, 1) + makeUefiBootParam(30, 0, 2)); - r['UefiBootNumberOfParams'] = 3; - } else { - // it should not be here - messagebox("UEFI HTTPS Boot", "HTTPS Boot configuration is invalid!"); - return; - } + if ((action == 999) && (Q('idx_d24ForceBootDevice').value == 7)) { // Force UEFI HTTPS Boot using URL + r['UefiBootParametersArray'] = btoa(makeUefiBootParam(1, Q('idx_d24ocrBootUrl').value.trim()) + makeUefiBootParam(20, 1, 1) + makeUefiBootParam(30, 0, 2)); + r['UefiBootNumberOfParams'] = 3; + r['BootMediaIndex'] = 0; // Do not use boot media index for One Click Recovery (OCR) + } else if ((action == 600) || (action == 601) || ((action == 999) && (Q('idx_d24ForceBootDevice').value == 6))) { // Force UEFI HTTPS Boot + // Check if using built-in webserver or external webserver + r['UefiBootParametersArray'] = webserver.lastBootImageArgs.args; + r['UefiBootNumberOfParams'] = webserver.lastBootImageArgs.argscount; r['BootMediaIndex'] = 0; // Do not use boot media index for One Click Recovery (OCR) } else if ((action == 999) && (Q('idx_d24ForceBootDevice').value == 5)) { var bootstr = AmtOcrPba[Q('idx_d24customBootMediaIndex').value].bootstr;