Commit Graph

5443 Commits

Author SHA1 Message Date
Richard Hughes
72df114793 fmap: Do not assume FuFmapArea.name is NUL terminated 2020-12-11 14:33:50 +00:00
Richard Hughes
fdea9336a6 fmap: Make mixed-endian safe 2020-12-11 14:33:50 +00:00
Richard Hughes
8b99d4f2ec fmap: Use fu_memcpy_safe() to prevent buffer over-read 2020-12-11 14:33:50 +00:00
Richard Hughes
312c68842c dfu: Show a warning if we fail to release the interface
I'm not returning FALSE here as it might break plugins.
2020-12-11 14:33:04 +00:00
Richard Hughes
91e5957b05 trivial: Only define HF_ITER if available... 2020-12-11 09:45:48 +00:00
Richard Hughes
c4ca8e25d1 Use honggfuzz to fuzz firmware rather than AFL
This has better multi-core performance and can run in persistent mode -- which
allows us to construct a test harness of all the parsers (which takes time) and
then just reuse the process for lots of different data.
2020-12-11 09:37:42 +00:00
Richard Hughes
531b8b417f fmap: Fix a critical warning when the FmapArea has zero size 2020-12-10 20:43:54 +00:00
Richard Hughes
ef714053fe trivial: Don't crash when failing to detect the CPU 2020-12-10 20:43:54 +00:00
Richard Hughes
c7d870aa97 Allow using fwupdtool as non-root for firmware commands
Just avoid loading SMBIOS and re-generating remotes when all we want to use is
the firmware loader. It also speeds up the self tests somewhat too.
2020-12-10 20:43:54 +00:00
Mario Limonciello
a61cca9e3d thunderbolt: Add maple ridge firmware parsing support
These are expected to be flashed via UEFI capsules *not* Thunderbolt plugin
* Flashing via fwupd will require matching kernel work.
* They're left here only for parsing the binaries

```
FuThunderboltFirmwareUpdate:
Family:                 Maple Ridge
IsHost:                 true
IsNative:               true
DeviceId:               0x1136
VendorId:               0xd4
ModelId:                0xa58
FlashSize:              0x0
Generation:             0x4
Ports:                  0x2
HasPd:                  true
Section0:               0x4000
Section1:               0x4210
Section2:               0x4610
Section3:               0x22958
  FuFirmwareImage:
  Data:                 0x67000
```
2020-12-10 09:59:58 -06:00
Richard Hughes
3baea5c2cf solokey: Fix a possible critical warning for invalid firmware 2020-12-10 14:58:11 +00:00
Richard Hughes
bfabf5c81f synaptics-rmi: Do not add zero sized container images
This prevents a DoS when parsing corrupt firmware.
2020-12-10 14:58:11 +00:00
Richard Hughes
f3539621ee ihex: Do not dump binary out to the terminal for corrupt files 2020-12-10 14:58:11 +00:00
Richard Hughes
6271176c33 ccgx: Do not add zero sized DMC records
This prevents a DoS when parsing corrupt firmware.
2020-12-10 14:58:11 +00:00
Richard Hughes
0eb8b6a2a8 synaprom: Do not add zero sized images
This prevents a DoS when parsing corrupt firmware.
2020-12-10 14:58:11 +00:00
Richard Hughes
976b6afe63 trivial: Allow turning off the FMAP binary search when fuzzing
This speeds up the fuzzing task from 22ms to 33us.
2020-12-09 18:08:08 +00:00
Richard Hughes
4dcd167215 synaptics-prometheus: Allow creating test firmware from builder.xml
This means we don't need a standalone executable to build blobs.
2020-12-09 18:06:26 +00:00
Richard Hughes
84617b6699 fmap: Allow writing and reading the image base 2020-12-09 18:02:07 +00:00
Richard Hughes
5771756f85 fmap: Allow creating test firmware from builder.xml 2020-12-09 18:02:07 +00:00
Richard Hughes
a9060f671c fmap: Correctly check minimum firmware size 2020-12-09 18:02:07 +00:00
Richard Hughes
056dfff741 synaptics-rmi: Fix possible buffer over-read for corrupt firmware 2020-12-09 15:25:04 +00:00
Richard Hughes
05e3377d11 trivial: Add fu_common_bytes_new_offset()
This is a safer version of g_bytes_new_from_bytes() which returns a GError
if the offsets are invalid rather than emitting a critical warning.

This prevents a critical warning and potential crash when parsing invalid
bcm57xx firmware.
2020-12-08 20:54:25 +00:00
Richard Hughes
faf8a460f9 trivial: Split out the daemon src list 2020-12-08 20:53:59 +00:00
Richard Hughes
140b7cebdb trivial: Split out the daemon dep list 2020-12-08 20:53:59 +00:00
Richard Hughes
7115d6c6a6 Do not leak global cargs out of libfwupd
This gives us warnings if a specific binary redefines the domain.
2020-12-08 20:53:59 +00:00
Richard Hughes
386f2c1d39 uefi-dbx: Fix a trivial buffer over-read when fuzzing 2020-12-08 20:50:55 +00:00
Richard Hughes
1ca0316b09 Do not compare a double float to G_MAXUINT64 2020-12-08 20:32:41 +00:00
Richard Hughes
fa595a7334 libfwupdplugin: Do not overwrite GError when parsing invalid fmap 2020-12-08 20:32:21 +00:00
Richard Hughes
7713ae676f goodix-moc: Fix a potential crash when reading the USB request 2020-12-08 20:08:57 +00:00
Richard Hughes
84e8d24540 solokey: Prevent a critical warning when parsing invalid JSON data 2020-12-08 20:07:52 +00:00
Richard Hughes
c79e76d2aa synaptics-rmi: Fix a tiny memory leak when parsing firmware 2020-12-08 20:07:27 +00:00
Richard Hughes
698099f643 trivial: Remove several unused variables 2020-12-08 20:06:46 +00:00
Mario Limonciello
9547d7a4b3 trivial: debian: only install fwupd-msr.conf if needed
Fix FTBFS on !x86
2020-12-08 10:47:46 -06:00
Mario Limonciello
4036d4f9e2 trivial: debian: migrate modules-load.d files to correct location
They shouldn't be conffiles.
Fixes: #2592
2020-12-08 09:42:54 -06:00
Mario Limonciello
c36d2f2959 Migrate debian/fwupd.preinst content to debian/fwupd.maintscript 2020-12-08 09:42:54 -06:00
Philip Withnall
aa48b6b0e3 libfwupdplugin: Support new libxmlb query binding API
See https://github.com/hughsie/libxmlb/pull/67. This doesn’t bump the
hard version dependency.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-12-08 14:39:40 +00:00
Richard Hughes
f475b48718 trivial: post release version bump 2020-12-08 10:17:13 +00:00
Richard Hughes
e300ca513f Release fwupd 1.5.3 2020-12-08 09:48:10 +00:00
Richard Hughes
0ec634e7db trivial: Codespell fixes 2020-12-07 20:55:18 +00:00
Mario Limonciello
a5a1648c35 trivial: ci: fix ABI job 2020-12-07 10:42:51 -06:00
Mario Limonciello
d432161143 Add a CI tester for running libfwupd with QT threads
This only runs on Arch to avoid giving the extra dependencies to all
the distro CI builds.
2020-12-07 09:18:18 -06:00
Richard Hughes
00640f42f2 Lower the CURL version required to fix build in RHEL
Some vendors really really want 1.5.x in newer RHEL versions, but the version
of curl is too old. Add #ifdefs so that we can emulate (somewhat imperfectly)
the 'new' CURLU functonality.
2020-12-07 14:17:22 +00:00
Richard Hughes
b6f3ff9330 Do not use meson ternary operations to avoid bumping the required meson version
This fixes building on RHEL 8.
2020-12-07 14:16:10 +00:00
Mario Limonciello
a13ba4e8a1 trivial: simple_client: add a refresh metadata function 2020-12-07 13:29:42 +00:00
Tim Gates
88dc597125 docs: fix simple typo, rumtime -> runtime
There is a small typo in libfwupd/fwupd-client.c.

Should read `runtime` rather than `rumtime`.
2020-12-07 11:13:22 +00:00
honkingantelope
70f2419282 added my ssd giving the error
I'm finally getting around to figuring out why I get occasional hard hangs after changing from a spidle to SSD.  I've disabled fwupd in the meantime to see if it makes a difference.  Adding the info since I don't see it already on the list.
2020-12-06 15:31:23 +00:00
Sean Rhodes
2f2da8c7ca Added Lite Mk III 2020-12-04 11:02:31 +00:00
Richard Hughes
95a5fb2e2f Allow setting the GMainContext when used for sync methods
Use the 'default' main context by default so that we still get the signals
delivered via g_object_notify() but allow the library user to specify an
alternate GMainContext as required.

Using g_main_context_push_thread_default() works for PackageKit as signals are
returned using g_signal_emit() which is synchronous, and so doesn't use the
main context at all.

Use the same style of API which we did for libgusb all those years ago instead.
2020-12-04 07:58:05 +00:00
Bruno Pagani
014e5526ff contrib/ci: Fix Arch cache issues
Update cache (which also requires to update the system) to avoid cache issues like the one seen in https://github.com/fwupd/fwupd/pull/2633
2020-12-03 07:57:16 -06:00
Richard Hughes
ab63e94107 Fall back to the misc device for serio devices 2020-12-03 10:58:38 +00:00