Commit Graph

6571 Commits

Author SHA1 Message Date
Richard Hughes
09f1406c17 synaptics-cape: Add ->write() and ->build() vfuncs
This allows us to rebuild the fuzzing data from the builder.xml file.
2021-10-22 14:58:24 +01:00
Richard Hughes
3ea1ef81b2 ccgx: Fix a regression when porting to fu_common_strnsplit_full()
We have to ignore the leading ':' for data records.
2021-10-22 14:58:24 +01:00
Richard Hughes
3a63f5bd9b trivial: Make the SREC parser more spec compliant
Only upgrade S5 into S6 when there are over 0xFFFF records.
2021-10-22 14:58:24 +01:00
Richard Hughes
04a6877e06 trivial: Move the nonfree SMBIOS dumps to fwupd-test-firmware 2021-10-22 09:55:48 +01:00
Richard Hughes
2d00cda464 Remove PLUGINBUILDDIR and use G_TEST_SRCDIR and G_TEST_BUILDDIR instead
This allows us to override the location we load data files from, which
allows us to do more kinds of installed tests in the future.

Also, move the global data/tests content into the place that it is used
as it was getting impossible to manage.
2021-10-21 18:36:22 +01:00
Mario Limonciello
d9ca1a7c53 trivial: fix anchors for markdown
fixes: #3893
2021-10-21 11:48:25 -05:00
Mario Limonciello
0914f81336 dell-dock: enumerate hub after EC 2021-10-21 10:32:34 -05:00
Mario Limonciello
597066b18e trivial: bump gusb subproject up to 0.3.8
fixes: #3889
2021-10-21 09:34:04 -05:00
Mario Limonciello
3709dcd104 trivial: fix URL for fwupdagent security command
fixes: #3893
2021-10-21 09:34:04 -05:00
Richard Hughes
6235a8222a Share the Common Flash Memory Interface quirks between plugins
Now two plugins are using hardcoded SPI constants for various CFI chips,
and it makes sense to have some common quirk data that can be used by
both.

Add a FuSpiChip helper object that can be used by FuDevice subclasses
to get the specific SPI commands to use for each flash ID.
2021-10-20 12:19:39 +01:00
Richard Hughes
be1879fa4d trivial: Delete some unused test data 2021-10-20 09:55:44 +01:00
Sean Rhodes
130da188eb
plugins/uefi-capsule: Remove ux capsule for StarLite (#3885)
UX capsule only seems to work on certain distros and firmware versions.
Restoring for reliability.

Signed-off-by: Sean Rhodes <sean@starlabs.systems>
2021-10-20 08:05:16 +01:00
Richard Hughes
3fc635e144 Remove honggfuzz support
This has not worked well in some time, and nobody noticed. The
alternative Google clusterfuzz support is better in every way and gets
run as part of CI.
2021-10-19 19:20:05 +01:00
Richard Hughes
1b1009cf5f Avoid modifying remotes when possible
Found in the NixOS downstream patches, thanks @maxine.
2021-10-19 17:21:57 +01:00
Denis Pynkin
5984333028 steelseries: add Stratus gamepads support
Added support for Stratus-series gamepads and dongles.

Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com>
2021-10-19 18:34:51 +03:00
JackZhang-Primax
4ff3c1a011 Update pixart-rf.quirk
Add more supported devices Vivaldi2
2021-10-18 22:55:49 -05:00
Richard Hughes
27e40c3025 trivial: Add more fuzzing alignment checks
In reality these are not super interesting as they only happen on
`->write()` and not `->parse()`.

In other news, the fuzzer now appreciates how critical the alignment
is, which is probably a good thing generally.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=40088
2021-10-18 20:02:03 +01:00
Richard Hughes
a5ef3629d4 trivial: Build the fuzzers with -g to get stacktraces 2021-10-18 20:02:03 +01:00
Richard Hughes
e99dd242e9 Strip inner XML text when loading metainfo.xml files
This allows us to do the right thing if given an XML file with leading
or trailing space in the entry, e.g.

    <value key=LVFS::UpdateProtocol> org.uefi.capsule </value>
2021-10-18 14:43:57 +01:00
Richard Hughes
bc14f4c59c Support client-side abbreviated hashes
This allows the user to do something like `fwupdmgr get-releases a12d`
which is already supported daemon-side.
2021-10-18 11:16:45 +01:00
Richard Hughes
15bf534e3f Set the verfmt of the returned device when the daemon device is unset
This regressed in 1.5.5 when we migrated FWUPD_DEVICE_FLAG_MD_SET_VERFMT
into FU_DEVICE_INTERNAL_FLAG_MD_SET_VERFMT and forgot to copy the system
device internal flags.
2021-10-18 06:57:09 +01:00
Richard Hughes
fcb5257e16 Allow OnlyTrusted=false in the non-polkit case 2021-10-17 14:29:58 +01:00
Richard Hughes
9c7939dae3 trivial: Fix a fuzzing crash for a corrupt IFD image
Sanity check the alignment so we do not write gigabytes of 0xFF's.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39982
2021-10-15 20:05:55 +01:00
Sanjay Sheth
4c5d00886a logitech-bulkcontroller: Continuously capture device messages 2021-10-15 11:20:16 -07:00
Richard Hughes
8e24fa77cf cfu: Add an initial outline CFU plugin
There's no actual hardware to test this against yet, but this is how I
would lay out a plugin if there was.

We still need to work out a generic encapsulation for the offer and
payload (for each component and bank) so this can work with LVFS and
fwupd.
2021-10-15 18:38:36 +01:00
Richard Hughes
d1dff82803 Allow installing developer-friendly PolicyKit rules from setup 2021-10-15 16:30:24 +01:00
Richard Hughes
98855ab712 Allow using a filename when using set-approved-firmware
See https://gitlab.com/fwupd/lvfs-website/-/merge_requests/924 for more
discussion.
2021-10-15 16:29:00 +01:00
Richard Hughes
bd43647554 Add fu_usb_device_new_with_context() helpers
This means the context is set at construction time, which is much less
fragile than setting the context manually.
2021-10-15 15:59:34 +01:00
Richard Hughes
ccc0f9b0c6 trivial: Assign the context of incorporated devices early
This means we can use GObject->constructed() to copy the context over
to FuDevice helpers that also require the context.
2021-10-15 15:57:57 +01:00
Richard Hughes
644ac0ea05 Only installing firmwares with signatures by default
99.9999% of users are consuming firmware updates from the LVFS or
another trusted remote. It's far too easy to get a user to enter the
password to install an untrusted firmware, where the security
consequences are pretty dire.

Provide an escape-hatch for firmware engineers, but it does mean
editing a file in /etc as root. This seems like an acceptable level of
inconvenience.
2021-10-15 15:54:44 +01:00
Thomas Deutschmann
a4549f5035 elanfp plugin requires gusb 2021-10-15 09:17:47 -05:00
Richard Hughes
74a2a47f7f Add two report keys affecting report credibility 2021-10-15 13:55:25 +01:00
Richard Hughes
2d5c5b868e Add the missing PolicyKit actions for (un)trusted downgrade
If we want to tighten the allowed actions, we need the actions to be
symmetric.
2021-10-15 13:54:29 +01:00
Richard Hughes
dbf92be359 trivial: Add fu_device_add_string() for future use 2021-10-14 15:49:58 +01:00
Gaël PORTAY
918006f8d5 trivial: Codespell fixes 2021-10-14 09:09:54 -05:00
Gaël PORTAY
21b470c1a1 trivial: Codespell fixes 2021-10-14 09:09:54 -05:00
Richard Hughes
88592df086 rts54hub: Use demo firmware on the evaluation board for the tests
This avoids clashing with real-world devices that have the same VID/PID.
Many thanks to Ricky WU <ricky_wu@realtek.com> for all the help.

Fixes: https://github.com/fwupd/fwupd/issues/3835
2021-10-13 20:07:15 +08:00
Richard Hughes
852a6dbdc2 redfish: Handle EPERM when testing devices with a IPMI device
Fixes https://github.com/fwupd/fwupd/issues/3849
2021-10-12 19:12:57 -05:00
Richard Hughes
86b27b9505 Mark as SUPPORTED even if on AC power
This makes the 'Downloaded new metadata: N local devices supported'
message correct when refreshing on battery power.
2021-10-12 17:59:27 +01:00
Richard Hughes
d653c8de26 wacom-usb: Un-pack the descriptor to fix -Waddress-of-packed-member warnings
This isn't read in-situ since switching to fu_common_read_uintXX_safe()
and it's only used to calculate the size of the block.
2021-10-12 09:42:59 -05:00
Richard Hughes
3acbe9bed3 trivial: Fix a -Waddress-of-packed-member warning 2021-10-12 09:42:59 -05:00
Richard Hughes
f41fd3af46 vli: Fix a potential crash when dumping Parade devices 2021-10-12 09:42:59 -05:00
Richard Hughes
357d7ff396 trivial: Fix up a docgen comment typo 2021-10-09 16:22:35 +01:00
Richard Hughes
4389f9f913 trivial: Show newlines in the warning box
This means we split up the paragraphs into sections as designed.
2021-10-09 08:09:38 +01:00
Richard Hughes
d3706e0e0b Show the user a warning if updating may affect full-disk-encryption
Additionally, if the client does not set the feature flag `fde-warning`,
add an extra paragraph into the update description.

Fixes https://github.com/fwupd/fwupd/issues/3829
2021-10-09 08:09:38 +01:00
Sean Rhodes
371339bbeb plugins/superio: Don't check 0x14 in ITE signature
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
2021-10-08 18:28:37 +01:00
Richard Hughes
24cc4d9d30 trivial: Set the systemd timeout to match the client proxy
The systemd default of 90 seconds is uncomfortably close to the
worst-case Redfish startup time. Give ourselves some more headroom.
2021-10-08 17:22:45 +01:00
Richard Hughes
0fb485e434 Raise the client timeout value from 25 seconds
When coldplugging expensive servers with a huge number of Redfish
devices it takes about 30 seconds to start fwupd while we wait for the
BMC to return results.
2021-10-08 17:22:45 +01:00
Richard Hughes
3f82205062 Support loading remotes from /var/lib/fwupd/remotes.d
This allows us to add remotes on /etc immutable systems.
2021-10-08 17:22:24 +01:00
Richard Hughes
1669f532be trivial: Move the metadata directory
This moves the cached metadata location from /var/lib/fwupd/remotes.d
to /var/lib/fwupd/metadata

The former was a bad name as it wasn't a list of remotes, and .d is the
suffix for directories the user can install files into, rather than for
binary content managed entirely by the daemon.
2021-10-08 17:22:24 +01:00