mirror of
https://git.proxmox.com/git/fwupd
synced 2025-07-27 06:10:13 +00:00
Fix installing the dbx update when not using fwupdtool --force
Fixes https://github.com/fwupd/fwupd/issues/5089
This commit is contained in:
parent
ae70c210c5
commit
cdbc6b5266
@ -393,4 +393,5 @@ fu_efi_signature_list_class_init(FuEfiSignatureListClass *klass)
|
||||
static void
|
||||
fu_efi_signature_list_init(FuEfiSignatureList *self)
|
||||
{
|
||||
fu_firmware_add_flag(FU_FIRMWARE(self), FU_FIRMWARE_FLAG_ALWAYS_SEARCH);
|
||||
}
|
||||
|
@ -76,6 +76,8 @@ fu_firmware_flag_to_string(FuFirmwareFlags flag)
|
||||
return "done-parse";
|
||||
if (flag == FU_FIRMWARE_FLAG_HAS_STORED_SIZE)
|
||||
return "has-stored-size";
|
||||
if (flag == FU_FIRMWARE_FLAG_ALWAYS_SEARCH)
|
||||
return "always-search";
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -104,6 +106,8 @@ fu_firmware_flag_from_string(const gchar *flag)
|
||||
return FU_FIRMWARE_FLAG_DONE_PARSE;
|
||||
if (g_strcmp0(flag, "has-stored-size") == 0)
|
||||
return FU_FIRMWARE_FLAG_HAS_STORED_SIZE;
|
||||
if (g_strcmp0(flag, "always-search") == 0)
|
||||
return FU_FIRMWARE_FLAG_ALWAYS_SEARCH;
|
||||
return FU_FIRMWARE_FLAG_NONE;
|
||||
}
|
||||
|
||||
@ -816,7 +820,8 @@ fu_firmware_check_magic_for_offset(FuFirmware *self,
|
||||
return TRUE;
|
||||
|
||||
/* fuzzing */
|
||||
if ((flags & FWUPD_INSTALL_FLAG_NO_SEARCH) > 0) {
|
||||
if (!fu_firmware_has_flag(self, FU_FIRMWARE_FLAG_ALWAYS_SEARCH) &&
|
||||
(flags & FWUPD_INSTALL_FLAG_NO_SEARCH) > 0) {
|
||||
if (!klass->check_magic(self, fw, *offset, error)) {
|
||||
g_prefix_error(error, "not searching magic due to install flags: ");
|
||||
return FALSE;
|
||||
|
@ -125,6 +125,16 @@ struct _FuFirmwareClass {
|
||||
* Since: 1.8.2
|
||||
**/
|
||||
#define FU_FIRMWARE_FLAG_HAS_STORED_SIZE (1u << 5)
|
||||
/**
|
||||
* FU_FIRMWARE_FLAG_ALWAYS_SEARCH:
|
||||
*
|
||||
* Always searches for magic regardless of the install flags.
|
||||
* This is useful for firmware that always has an *unparsed* variable-length
|
||||
* header.
|
||||
*
|
||||
* Since: 1.8.6
|
||||
**/
|
||||
#define FU_FIRMWARE_FLAG_ALWAYS_SEARCH (1u << 6)
|
||||
|
||||
/**
|
||||
* FuFirmwareFlags:
|
||||
|
Loading…
Reference in New Issue
Block a user