Record more host DMI data when submitting a report

We want the specific BiosVersion when adding entries to the uefi-dbx.quirk --
as often the dbx update will work only with newer BIOS versions.
This commit is contained in:
Richard Hughes 2022-10-31 17:03:36 +00:00
parent 9dc4be826d
commit 20761d2bf6

View File

@ -2200,18 +2200,28 @@ fu_engine_get_report_metadata(FuEngine *self, GError **error)
/* DMI data */ /* DMI data */
if (self->has_hwinfo) { if (self->has_hwinfo) {
tmp = fu_context_get_hwid_value(self->ctx, FU_HWIDS_KEY_PRODUCT_NAME); struct {
if (tmp != NULL) const gchar *hwid;
g_hash_table_insert(hash, g_strdup("HostProduct"), g_strdup(tmp)); const gchar *name;
tmp = fu_context_get_hwid_value(self->ctx, FU_HWIDS_KEY_FAMILY); } keys[] = {{FU_HWIDS_KEY_BASEBOARD_MANUFACTURER, "HostBaseboardManufacturer"},
if (tmp != NULL) {FU_HWIDS_KEY_BASEBOARD_PRODUCT, "HostBaseboardProduct"},
g_hash_table_insert(hash, g_strdup("HostFamily"), g_strdup(tmp)); {FU_HWIDS_KEY_BIOS_MAJOR_RELEASE, "HostBiosMajorRelease"},
tmp = fu_context_get_hwid_value(self->ctx, FU_HWIDS_KEY_PRODUCT_SKU); {FU_HWIDS_KEY_BIOS_MINOR_RELEASE, "HostBiosMinorRelease"},
if (tmp != NULL) {FU_HWIDS_KEY_BIOS_VENDOR, "HostBiosVendor"},
g_hash_table_insert(hash, g_strdup("HostSku"), g_strdup(tmp)); {FU_HWIDS_KEY_BIOS_VERSION, "HostBiosVersion"},
tmp = fu_context_get_hwid_value(self->ctx, FU_HWIDS_KEY_MANUFACTURER); {FU_HWIDS_KEY_FIRMWARE_MAJOR_RELEASE, "HostFirmwareMajorRelease"},
if (tmp != NULL) {FU_HWIDS_KEY_FIRMWARE_MINOR_RELEASE, "HostFirmwareMinorRelease"},
g_hash_table_insert(hash, g_strdup("HostVendor"), g_strdup(tmp)); {FU_HWIDS_KEY_ENCLOSURE_KIND, "HostEnclosureKind"},
{FU_HWIDS_KEY_FAMILY, "HostFamily"},
{FU_HWIDS_KEY_MANUFACTURER, "HostVendor"},
{FU_HWIDS_KEY_PRODUCT_NAME, "HostProduct"},
{FU_HWIDS_KEY_PRODUCT_SKU, "HostSku"},
{NULL, NULL}};
for (guint i = 0; keys[i].hwid != NULL; i++) {
tmp = fu_context_get_hwid_value(self->ctx, keys[i].hwid);
if (tmp != NULL)
g_hash_table_insert(hash, g_strdup(keys[i].name), g_strdup(tmp));
}
} }
/* kernel version is often important for debugging failures */ /* kernel version is often important for debugging failures */