Commit Graph

9606 Commits

Author SHA1 Message Date
Richard Hughes
25ba41579f uefi: Port the plugin to use FuVolume 2020-08-18 13:19:15 +01:00
Richard Hughes
8dc2856bc1 Add commands to fwupdtool for interacting with the ESP 2020-08-18 13:17:44 +01:00
Richard Hughes
38fa5c9780 libfwupdplugin: Add FuVolume to interact with the ESP
This allows us to rip out a lot of legacy code and make interacting with the
ESP possible from more than one plugin.
2020-08-18 13:16:18 +01:00
Richard Hughes
188ab2b0f7 Fix a critical warning if constructing a FuDeviceLocker using the GType 2020-08-18 13:16:18 +01:00
Vincent Huang
a6c2bed509 synaptics-prometheus: generate new guid with configid and add pids to
quirk file
2020-08-18 13:16:18 +01:00
Richard Hughes
c0654f2d96 Allow blocking specific firmware releases by checksum
Fixes https://github.com/fwupd/fwupd/issues/2280
2020-08-18 13:16:18 +01:00
Mario Limonciello
62751c4b41 trivial: fix some unused variables found by clang-10 2020-08-18 13:16:18 +01:00
Richard Hughes
f3bf88ee1e trivial: Fix the Fedora CI 2020-08-18 13:16:18 +01:00
Simon McVittie
ecf1d4780b trivial: Don't skip methods on plain structs
This resulted in losing g_usb_source_set_callback@LIBGUSB_0.1.0 which causes a
build failure when building gusb as a subproject, and also the little-used
fu_chunk_to_string() from libfwupdplugin.

Signed-off-by: Richard Hughes <richard@hughsie.com>
2020-08-18 13:16:18 +01:00
Richard Hughes
f705139505 Refresh the handle to device before testing ANOTHER_WRITE_REQUIRED
fu_engine_install_blob may result in the device being reset during attach or
detach and needing to be replugged.
The device handle we're holding may be stale, but it is still used by the do
while loop itself for the ANOTHER_WRITE_REQUIRED test.

Similar to the other functions in the loop, let's get the device handle by id
in case that happened.

Original patch by Benson Leung <bleung@chromium.org>, many thanks.

Fixes https://github.com/fwupd/fwupd/issues/2297
2020-08-18 13:16:18 +01:00
Benson Leung
b7402c9d2f Save custom flags on device replace
New instances of a device may be interested in custom flags. Copy them
over on fu_device_list_replace.

fixes #2298
2020-08-18 13:16:18 +01:00
Sean Rhodes
39e1909aae Added quirk for LabTop Mk IV 2020-08-18 13:16:18 +01:00
mendel5
bfaf0dfb7f pull_request_template.md: replace github.com/hughsie with github.com/fwupd 2020-08-18 13:01:45 +01:00
Richard Hughes
6f92fc9043 trivial: Add a device test for the Thelio Io device 2020-08-18 13:01:31 +01:00
Richard Hughes
fd0ee5153e Add some of the HSI specification to the generated documentation 2020-08-17 20:23:49 +01:00
Richard Hughes
13b3343aaf vli: Add support for the Realtek RTD21XX I²C protocol 2020-08-17 20:23:09 +01:00
Richard Hughes
04afb39f76 Add X-Configuration to use for dbx updates
This would fall back to X-System.
2020-08-17 16:21:18 +01:00
Richard Hughes
1abb32c623 uefi-dbx: Validate the dbx update is safe to apply
To do this mount all ESP partitions and check all the binaries there to see if
they match any entries in the new dbx. If we applied the update when a hash
matched, we would unintentially 'brick' the users machine, as the grub and shim
binaries *have* to be updated first.

This functionality does reimplement the PE hashing functionality found in
sbsigntools and pesign. This was done for 4 main reasons:

 * There were some memory safety issues found when fuzzing random binaries
 * Executing the tools hundreds of times was a lot of overhead
 * Operating from a blob of immutable mmap'd memory is much faster
 * We only need a very small amount of functionality from both tools
2020-08-17 15:59:02 +01:00
Richard Hughes
adabe53e2b trivial: Fix some NULL/FALSE confusion when getting the HSI 2020-08-17 14:48:30 +01:00
Richard Hughes
bfe6c77549 trivial: Fix some NULL/FALSE confusion in the daemon 2020-08-17 14:48:23 +01:00
Richard Hughes
0e7102c4f8 uefi-dbx: Fix some NULL/FALSE confusion 2020-08-17 14:47:58 +01:00
Richard Hughes
1411b8056b acpi-facp: Fix some NULL/FALSE confusion 2020-08-17 14:47:42 +01:00
Richard Hughes
7bca1b27b4 acpi-dmar: Fix some NULL/FALSE confusion 2020-08-17 14:47:30 +01:00
Richard Hughes
b81140de75 libfwupdplugin: Fix some NULL/FALSE confusion 2020-08-17 14:47:17 +01:00
Piotr Drąg
377cf823f3 Update POTFILES.in 2020-08-15 13:52:40 +01:00
Darkovian
4e2768057b Update ata.quirk
Added OUI\030302 to ata.quirk
2020-08-14 15:05:00 -05:00
Richard Hughes
01d5779597 uefi-dbx: Allow updating the dbx using the LVFS
The GUID is built using the SHA256 of the certificates in the KEK.
2020-08-14 13:22:53 +01:00
Richard Hughes
edc3432338 dbxtool: List the checksums correctly for multiple EFI_SIGNATURE_LISTs
Fixes https://github.com/fwupd/fwupd/issues/2319
2020-08-13 21:19:10 +01:00
Richard Hughes
361114784b Add a compatible re-implementation of the rhboot dbxtool 2020-08-13 19:09:40 +01:00
Richard Hughes
da1e4a38e7 trivial: Fix the define of ATTR_TIME_BASED_AUTHENTICATED_WRITE_ACCESS 2020-08-13 13:42:16 +01:00
Richard Hughes
b53661676c trivial: Use O_APPEND for FU_EFIVAR_ATTR_APPEND_WRITE 2020-08-13 13:42:12 +01:00
Richard Hughes
891de60df5 trivial: Disable -Wnull-dereference
It just doesn't work correctly.
2020-08-13 13:41:49 +01:00
Richard Hughes
12f21b89ec trivial: Fix CI -Werror=null-dereference false positive 2020-08-13 13:41:43 +01:00
Daniel Campello
722f532781 fwupd-remote: Download remote firmware on local remote
This changes allows for downloading firmware from a remote server
pointed from a local remote manifest.xml.gz file

Change-Id: Id00870f9c2817d48d6d301d2b6d229ba1ca6045a
2020-08-12 20:09:17 +01:00
Richard Hughes
d3f60abe6d uefi: Port the plugin to use FuVolume 2020-08-12 18:35:15 +01:00
Richard Hughes
a83deb42b5 Add commands to fwupdtool for interacting with the ESP 2020-08-12 18:35:15 +01:00
Richard Hughes
8f0b2d1708 libfwupdplugin: Add FuVolume to interact with the ESP
This allows us to rip out a lot of legacy code and make interacting with the
ESP possible from more than one plugin.
2020-08-12 18:35:15 +01:00
Richard Hughes
99dda53cc2 trivial: Define one more EFI GUID 2020-08-12 15:13:09 +01:00
Richard Hughes
0031b474bc Fix a critical warning if constructing a FuDeviceLocker using the GType 2020-08-12 14:23:01 +01:00
Vincent Huang
334a4d9f30 synaptics-prometheus: generate new guid with configid and add pids to
quirk file
2020-08-12 09:47:46 +01:00
Mario Limonciello
8131fceb6b trivial: adjust migration code to remove duplication 2020-08-10 17:14:15 +01:00
Richard Hughes
3120683143 Allow blocking specific firmware releases by checksum
Fixes https://github.com/fwupd/fwupd/issues/2280
2020-08-10 17:14:15 +01:00
Mario Limonciello
5771204e26 trivial: move ubuntu ci to clang 10 2020-08-10 10:34:13 -05:00
Mario Limonciello
7e489a563d trivial: add a missing assertion in self test 2020-08-10 10:33:58 -05:00
Mario Limonciello
41a70d0a37 trivial: fu-config: stop setting local variable archive_size_max 2020-08-10 10:33:58 -05:00
Mario Limonciello
27fd95ae88 trivial: fu-config: stop setting local variable archive_size_max 2020-08-10 10:33:31 -05:00
Mario Limonciello
abfc72d6c0 trivial: add a missing assertion in self test 2020-08-10 10:33:31 -05:00
Mario Limonciello
0ebddc9fcf trivial: fix some unused variables found by clang-10 2020-08-10 10:33:31 -05:00
Mario Limonciello
2c55382944 trivial: cpu: add noreturn attribute 2020-08-10 10:33:31 -05:00
Mario Limonciello
f79680bfd1 trivial: move ubuntu ci to clang 10 2020-08-10 10:33:31 -05:00