Repository navigation
Conversation
…reBootData firmware Some UEFI firmwares expose the vendor-specific SecureBootData variable and no standalone SetupMode/SecureBoot variable, so status reported "not booted with UEFI" on those systems. - Add secureBootConfigPresent: a presence-probe for SecureBootData via the filesystem. It is attribute-agnostic and never parses the undocumented payload (it does not encode the on/off state), so presence still counts even when the variable is unreadable. - Accept SecureBootData presence as proof of UEFI boot so status no longer rejects these systems. - Replace the bool SetupMode/SecureBoot fields with an unknown/disabled/enabled enum (mirroring the kernel's efi_secureboot_mode). Firmware that reports Secure Boot through SecureBootData exposes no readable variable, so its state is reported as "unknown" rather than "disabled". - Document the new string fields for --json output. - Add regression tests for the status path.
Enrollment with an unreadable SetupMode was rejected outright, but some firmware accepts key enrollment without a standalone SetupMode variable. Keep the gate conservative rather than guessing: - Exporting keys never needs Setup Mode, so still allow that through. - An absent SetupMode is undeterminable, not disabled. Partial enrollments stay refused, but a full enrollment may proceed when --force is passed or the user confirms an interactive prompt; otherwise it is reported as ErrSetupModeMissing rather than ErrSetupModeDisabled. - A genuine read error (present-but-unreadable SetupMode) still returns an error. - Add a promptYesNo helper that stays non-blocking when stdin is not a terminal. - Add the setup-mode-missing error message and regression tests.
|
Windows 11 confirms it too |
|
For Testers, the workflow seems to be straightforward with the patch: |
|
This is just a bunch of LLM generated code. I'm not interested in this. |
|
So even though i've spent hours diagnosing the issue, confirming its cause, and verifying that this works,. The fact that I used an LLM to help me contribute to a Go project without having to learn Go first is apparently enough for you to dismiss all that work. I still reviewed, read, cleaned up and understood the code, i verified its functionality on actual hardware., using an LLM doesn't invalidate the investigation, the testing, or the result. dismissing the entire contribution solely because an LLM helped write some of the code is disappointing. |
Yes. You are asking me to maintain a bunch of code and then leave LLM slop comments like "An absent SetupMode is undeterminable, not disabled". |
it's just missing a word: what i think it happened here, it's that it's probably too much at once and it overwhelmed you, i get it, and i'm sorry, being in security will make anyone stressed. what i can do, is split the work into smaller concerns if you are willing to workaround this stupid firmware that vendors are pushing on us. |
You are missing the point. It's not a missing word, it's the LLM slop structure that does not contribute anything to the change, and you are comfortable keeping it here.
No, the issue here is that you are chugging a bunch of code over without making an issue and discussing a change, also without mentioning any LLM usage because you do not deem it important. You have stated you do not know Go, which leave me with having to dicern this generated code to figure out if you are solving the correct problem (does this belong in You are also introducing a breaking change without any discussion. This tells me I'm not going to spend more time on this change and it's simple not worth my time. |
|
Some fair criticism there, i apologize, i still think i have some worthwhile fixes, let this be an archive and i'll make incremental changes that you can challenge and we can discuss |
Hi, on my Lenovo LOQ 15IRX10 R3CN44WW,
I had to modify sbctl to make enroll-keys work correctly with the latest firmware.
main sbctl will just say "system is not booted with UEFI"
with this patch:
Kernel says it's enabled
The standard variables are missing.
the firmware exposes a SecureBootData variable:
this causes a lot of tools to miss-report the status:
but:
after the patch sbctl: