Commit Graph

7898 Commits

Author SHA1 Message Date
Richard Hughes
646afd164b Fix meson dist with -Dgresource_quirks=enabled
Fixes https://github.com/fwupd/fwupd/issues/4874
2022-07-28 13:12:46 +01:00
Benson Leung
21b7506b4c cros-ec: Add Prism board
Fixes #4872
2022-07-28 07:05:56 +01:00
Mario Limonciello
17c636686d trivial: libfwupd: move some duplicated code to fwupd-common
Several of the string/integer/time functions are duplicated in multiple
source files for no discernable reason.  Move them into fwupd-common
as private symbols instead.
2022-07-26 20:11:23 +01:00
Richard Hughes
8ba0f7d895 trivial: Fix logic issues to return attr descriptions 2022-07-26 14:30:48 +01:00
Richard Hughes
93a162397c trivial: Ensure HSI attributes are fixed-up when returned as history 2022-07-26 14:30:48 +01:00
Ryan
61a2bead81 ccgx:add new dock to the quirk file 2022-07-26 11:49:52 +01:00
Richard Hughes
dc25187059 Add a title and long translated description for security attributes
We need these in at least two projects (gnome-control-center, cockpit)
and it makes sense to store these where we define the new IDs.
2022-07-26 11:47:27 +01:00
Richard Hughes
b6ad1f248e trivial: Use fu_bytes_new_offset() in more places 2022-07-25 17:07:33 +01:00
Richard Hughes
0e74b89282 trivial: Enable fatal-criticals harder when fuzzing 2022-07-25 17:07:33 +01:00
Richard Hughes
66532a1293 trivial: Make fuzzing less verbose 2022-07-25 17:07:33 +01:00
Richard Hughes
9188060ce2 trivial: Reduce the debug output when fuzzing
At the moment the log is ~150,000 lines, and quite a bit of CPU time is
being spent just generating ignored XML for successful runs.
2022-07-25 17:07:33 +01:00
rrbq
ebd3143cdb Make host-emulate/meson.build compatible with Busybox
Busybox only supports the short option '-k'. (#4866)

Using this instead of '--keep' allows fwupd to be built on systems like Alpine Linux where /bin/gzip is supplied by Busybox.
2022-07-24 16:35:45 +01:00
Mario Limonciello
4a02a154fe trivial: don't use /proc/self/exe on Windows
Fixes: #4864
2022-07-24 09:27:16 -05:00
Mario Limonciello
98cd40e09a trivial: shuffle the order of contrib/setup
By pre-commit getting setup early we were installing markdown and
meson into the virtual environment.  This might not be a bad thing
if we encouraged virtual environments for development, but we don't.
2022-07-23 14:01:31 -05:00
Mario Limonciello
1addd4d045 trivial: fixup setup helpers to install right version of meson
if meson wasn't installed by pip it won't have a version string
2022-07-23 14:01:31 -05:00
Bruno Pagani
757b03998c contrib/ci: do not upgrade Arch continuously
`yu` was added in 014e5526ff to solve cache issues.

But since then several other invocations of pacman have been added and doing so constantly is pointless, as you are unlikely to see new upgrades while the CI is running (and it might not be desired either). It also breaks testing older versions of fwupd as seen in GH-4860. So upgrade only once at the beginning and keep installing from the same cache afterwards.
2022-07-23 09:49:55 -05:00
Richard Hughes
ef079609bc trivial: post release version bump 2022-07-22 10:59:14 +01:00
Richard Hughes
5caaf461a8 Release fwupd 1.8.3 2022-07-22 10:50:25 +01:00
Richard Hughes
f0980cbdda logitech-hidpp: Lower a debug level when updating the Bolt radio 2022-07-21 21:27:24 +01:00
Richard Hughes
8dc50c086f Fix a crash when a peripheral uses _USE_PARENT_FOR_BATTERY
Call the parent class method to avoid getting stuck in a recursive loop
which eventually causes the daemon to segfault.
2022-07-21 21:27:24 +01:00
Richard Hughes
74e9b04b39 trivial: Return a more invalid value if FWUPD_IS_DEVICE() fails
We don't want to return something that's actually the initial value.
2022-07-21 21:27:24 +01:00
Richard Hughes
ac3f7f5521 trivial: Add some checks when adding children and setting the parent 2022-07-21 21:27:24 +01:00
Richard Hughes
22a94e3bfe trivial: Fix a small memory leak when making a request 2022-07-21 21:27:24 +01:00
Richard Hughes
1d590bb32a trivial: Fix a thinko when waiting for acquiesce
Of course, the timeout has to be restarted after a qualifying hotplug event...
2022-07-21 17:19:21 +01:00
Richard Hughes
f4c0c7fe01 corsair: Fix two g_prefix_error() typos 2022-07-21 15:28:24 +01:00
Richard Hughes
b8a5f4945f corsair: trivial: Do not set the physical ID, as it's also set by _add_child() 2022-07-21 15:28:24 +01:00
Richard Hughes
b507f3af59 corsair: trivial: Style fix 2022-07-21 15:28:24 +01:00
Richard Hughes
470258ac24 corsair: Use hex format constants
This means it's easier to match up with the verbose logs.
2022-07-21 15:28:24 +01:00
Richard Hughes
221238b4c0 trivial: Allow each device to specify a different acquiesce delay
Different device classes may need different values, and these may need
modifying by quirks. Also use 50ms to flush out any pending events.
2022-07-21 15:27:04 +01:00
Richard Hughes
4f9b455880 Add UDev devices to the _REQUIRES_ACQUIESCE opt-in 2022-07-21 15:27:04 +01:00
Richard Hughes
027a75a146 Wait for system acquiesce when installing each device of composite firmware
This makes installing firmware onto docks a bit less confusing.
2022-07-21 15:27:04 +01:00
Richard Hughes
463276defd Check if Intel TME has been disabled by the firmware or platform 2022-07-21 11:22:05 +01:00
Richard Hughes
cc7df5e7ab trivial: Fix a tiny memory leak in 'fwupdtool security' 2022-07-21 09:15:58 +01:00
Mario Limonciello
445a8af362 fu-smbios: Fix parsing smbios data
When support was added for falling back to SMBIOS data from the kernel
in /sys/class/dmi, we inadvertently stopped caring about the data parsed
directly from DMI tables as first priority.  This caused a regression in
hwids from some OEMs that relied upon IDs that could only be properly built
from DMI tables, not the kernel /sys/class/dmi interface.

Link: https://bugs.launchpad.net/ubuntu/+source/fwupd/+bug/1982103
Fixes: 464425fb5 ("SMBIOS: try reading from /sys/class/dmi if direct access fails")
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
2022-07-20 16:23:56 -05:00
Richard Hughes
1251cb3376 amt: Connect to the interface during ->open() 2022-07-20 20:11:32 +01:00
Richard Hughes
847151a51a Wait for the system to acquiesce after doing each update
We want to allow all the device hotplug events to be processed before
marking the update as completed. Otherwise, we might have a situation
where we have a child device attached to a parent, where we want to
update the parent, then the child. e.g.

 1. Add parent
 2. Add child
 3. Update parent
 4. Attach parent
 5. Wait for parent

...some time passes...

 6. Parent re-appears
 7. Update finishes, client indicates success

...child update is scheduled...
...which returns with failure as it does not exist...

 8. Add child

The child should have been added *before* the update completed to avoid
the caller from needing an unspecified delay as a *workaround*.
2022-07-20 19:10:12 +01:00
Richard Hughes
f336a43936 Avoid duplicate device actions where possible
This removes at least two open(),probe(),setup(),close() chains for the
common case where the vfuncs are not implemented.
2022-07-20 19:01:02 +01:00
Richard Hughes
f65ea325dc trivial: Squash the Wacom Intuos device test file into one
It seems the duplicate content was missed when we moved over to the new
device-test multi-step format.
2022-07-20 12:25:28 +01:00
Richard Hughes
6e69d8fb8f Do not return with rc=0 when devices are not found
Fixes https://github.com/fwupd/fwupd/issues/4843
2022-07-19 09:49:41 -05:00
Richard Hughes
f532d81da9 trivial: Use __version__ to fix new versions of python-markdown 2022-07-19 13:34:02 +01:00
Richard Hughes
fd458cd0de Migrate away from the deprecated distutils 2022-07-19 13:34:02 +01:00
dependabot[bot]
c857c9e95d build(deps): bump vmactions/freebsd-vm from 0.1.6 to 0.2.0
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 0.1.6 to 0.2.0.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/v0.1.6...v0.2.0)

---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-19 08:23:18 +01:00
Denis Pynkin
5b1d66b671 trivial: fix URLs for SteelSeries Aerox3 device test
Some of URLs disappeared. Marked all versions from the
commit as persistent on LVFS to avoid CABs loss.

Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com>
2022-07-19 00:59:49 +03:00
Richard Hughes
62fc515714 Allow loading in emulated host profiles for debugging
This allows us to load sets of different host security attributes
for testing the various front end tools we have now. e.g.

    sudo FWUPD_HOST_EMULATE=thinkpad-p1-iommu.json.gz fwupd

or, using a non-compressed absolute path:

    sudo FWUPD_HOST_EMULATE=/tmp/test/thinkpad-p1-iommu.json fwupd

Data can be created with `./contrib/generate-emulation.py file.json`
and then can be manually modified if required. Running the script on
a file that already exists will just strip out any unneeded data, as
well as piping content into it using stdin.

As a precaution, the org.fwupd.hsi.HostEmulation attribute is added
so we do not ask the user to upload the HSI report. It also allows
the LVFS to ignore any HSI reports with this attribute for clients
that upload HSI reports regardless.

See https://github.com/fwupd/fwupd/discussions/4832
2022-07-18 16:27:59 +01:00
Richard Hughes
de15afe466 trivial: Export all the JSON data the daemon sent
The FWUPD_DEVICE_FLAG_TRUSTED flag is used by the daemon, but if the
information is being set on the GVariant then it's not required to
filter it client-side.
2022-07-18 16:27:59 +01:00
Richard Hughes
7566e56fb5 Add fwupd_device_from_json() for future use 2022-07-18 16:27:59 +01:00
Richard Hughes
6adc60b5ba Ensure the container checksum has always been added before install 2022-07-18 16:12:43 +01:00
Richard Hughes
3487eb223b trivial: Add the container checksums when getting file details
This makes it easier to debug, as this shows what the checksum would be
stored in the history database on successful update.

We're already generating them, and so it's really just being helpful.
2022-07-18 16:12:43 +01:00
Richard Hughes
fdc5131dca Only validate source artifacts at cabinet load time
The LVFS was being over-eager, and setting 'binary' for both -- but
for new firmware it's important to specify the correct thing.
2022-07-18 16:12:43 +01:00
Richard Hughes
62a62f8f0f trivial: Clarify the FwupdRelease::checksum is for the container
In one place we were accidentally setting the contents checksum,
because the LVFS was setting the artifact type of 'binary' for metainfo
export -- which was never going to match on the LVFS.
2022-07-18 16:12:43 +01:00