Commit Graph

555 Commits

Author SHA1 Message Date
Richard Hughes
4257d5f451 Add support for Quit() in fwupdmgr
This allows us to only shut down the P2P daemon in the installed tests.
The easy fix would have been to use something like:

    gdbus call --address unix:path=/run/fwupd.sock --object-path / --method org.freedesktop.fwupd.Quit'

...but the daemon does not implement an ObjectManager, which gdbus requires.

This worked correctly for so long because the p2p tests were being run after
the bus tests, so shutting down the system daemon had no effect.

Fedora 37 seems to have flipped the order for some reason -- and now it
*sometimes* matters that we were doing the worng thing...
2023-02-07 11:00:53 +00:00
Richard Hughes
b9da5362a0 trivial: Update all fixes using codespell 2023-01-30 14:19:59 +00:00
Richard Hughes
a6deceda32 Allow desktop software to inhibit the system to prevent all updates
On edge hardware a process may want to disable firmware updates as it might be
a bad time to allow an upgrade.
2023-01-23 13:14:23 +00:00
Richard Hughes
44137021f2 Release fwupd 1.8.10 2023-01-23 10:17:45 +00:00
Richard Hughes
bfeea6e543 trivial: Add CFI data for W25Q256 2023-01-13 15:43:39 +00:00
Richard Hughes
faeefb66d0 Release fwupd 1.8.9 2023-01-03 12:15:50 +00:00
Richard Hughes
0eee4d7faa Add support for W25X10CL SPI flash chip 2022-12-30 10:24:00 +00:00
Josh Soref
67deecde31
Lots of spelling fixes
Fixes:

* activate
* active
* additional
* and
* approaches
* attestation
* bootloader
* calculate
* capability
* children
* close
* compatible
* continuous
* convenience
* critical
* data
* delivery
* disabled
* disambiguate
* documented
* elapse
* emergency
* erasable
* expectations
* filesystem
* from
* haptic
* ignorable
* images
* infinity
* information
* information
* inhibited
* insufficient
* interrupt
* into
* limited
* management
* manifest
* maximum
* memory
* metadata
* mismatch
* model
* nonexistent
* not
* objects
* offset
* omissions
* ota
* past
* perform
* peripherals
* predictable
* product
* quarterly
* quirk
* quirks
* recognize
* release
* requests
* revocation
* sanitized
* sector
* status
* the
* the update
* timeout
* transfer
* transfers
* typically
* unspecified
* upgrade
* which
* will
* wireless
2022-12-29 13:57:31 +00:00
Richard Hughes
47f537e005 wistron-dock: Add a new plugin to update several dock models 2022-12-20 14:51:40 +00:00
Mario Limonciello
d09fb40ae2 trivial: don't comment out any daemon.conf keys by default
It's confusing to an end user if some keys are commented but others
aren't. The thought process is:

1) All keys are configured with their default value.
2) Commenting out a key should keep the default value.
3) Modifying a key sets a new value.
2022-12-19 15:01:33 -06:00
Richard Hughes
f3a541bf91 trivial: Add a device test for the CalDigit TS4 2022-12-15 17:09:51 +00:00
Richard Hughes
7a4fa63d0e Add a 'get-report-metadata' command to allow debugging metadata collection 2022-12-14 14:43:52 +00:00
Richard Hughes
1024d97d61 Release fwupd 1.8.8 2022-12-07 18:39:56 +00:00
Richard Hughes
73a63b89a0 trivial: Fix lvfs-testing remote file 2022-11-09 16:41:10 +00:00
Richard Hughes
ebb6237e97 Release fwupd 1.8.7 2022-11-09 14:12:27 +00:00
Richard Hughes
09eb3fc7f6 Fix a regression when using fwuptool install-blob with FMAP firmware
Only set _NO_SEARCH when specified, and do not piggy-back on the --force
command line option.

Fixes https://github.com/fwupd/fwupd/issues/5227
2022-11-02 15:01:23 +00:00
Richard Hughes
9dc4be826d analogix: Add a device test with test firmware 2022-11-01 16:19:42 +00:00
Richard Hughes
c533162099 Use xz-compressed metadata to reduce bandwidth used by ~25% 2022-10-20 09:08:24 -05:00
Richard Hughes
2627e8ab6a Release fwupd 1.8.6 2022-10-07 16:38:04 +01:00
Richard Hughes
fc3cfbad92 Do not check the build hash of modular plugins
We removed the abilty to easily build modular plugins, and so we don't need to
worry so much about random 3rd party modules being loaded.
2022-09-30 14:19:56 +01:00
Richard Hughes
e1e8b9e261 Only include the last 5 releases in the installed metainfo file
We have to include the entire history in git, and also to generate the NEWS
file, but this reduces the size of the on-disk file by 116Kb.
2022-09-30 12:48:07 +01:00
Richard Hughes
c4b7f42e43 Only compress one version of the builtin-quirks
Saving the quirks in the GResource section worked well, but it made the build
system very complicated and also meant the .data section was duplicated in
both `fwupd` and `fwupdtool` -- negating a lot of the hard-fought savings.

Simplify this feature so that we just `cat` all the quirk files together, then
gzip them into a single file. This means that at startup fwupd only needs to
check the mtime of one file, and weirdly it's actually faster to load a smaller
compressed file from disk that it is to load multiple uncompressed files.
2022-09-27 12:44:04 +01:00
Richard Hughes
0415db6f67 Revert "trivial: Use files() rather than current_source_dir()"
This reverts commit b581fa5670 as it breaks
`ninja dist` with `-Dgresource_quirks=enabled`.
2022-09-25 10:31:14 +01:00
Richard Hughes
b581fa5670 trivial: Use files() rather than current_source_dir() 2022-09-24 09:12:14 -05:00
Richard Hughes
456dcb6a68 Release fwupd 1.8.5 2022-09-22 14:58:08 +01:00
Richard Hughes
5d38e0aeea Move the getting the ESP to the context
We now have two plugins getting the ESP values, and we only allow hardcoding
the ESP in uefi_capsule.conf.

Make all this a lot simpler by moving the ESP+BDP code to `FuContext`, which
also means we can handle the override (via the config file) in the engine,
and the override (in the command line tools) using the same mechanism.

Also, automate the migration of the `OverrideESPMountPoint` -> `EspLocation`
when loading the engine.

Fixes https://github.com/fwupd/fwupd/issues/5042
2022-09-22 14:31:06 +01:00
Mario Limonciello
fe5d93f7d2 trivial: wait for network to be online to run fwupd-refresh.service 2022-09-19 14:52:42 -05:00
Richard Hughes
bfebede490 Add support for platform capability descriptors so devices can set quirks
This feature adds support for platform capability BOS descriptors which allows
the device itself to ship quirk data.

Use `sudo fwupdtool get-devices --save-backends=FILENAME` to save fake backend
devices to a file. This allows easy creation of self tests that do not require
physical hardware.
2022-09-13 12:07:35 +01:00
Andrii Dushko
e6e17a69d7
corsair: remove support for some devices
Vendor has decided to remove these devices from the initial supported
device list:
    * KATAR PRO WIRELESS mouse
    * HARPOON RGB WIRELESS mouse
2022-09-02 14:39:19 +03:00
Andrii Dushko
330a67b5fe corsair: add SABRE RGB PRO Gaming mouse 2022-09-01 11:41:49 +01:00
Richard Hughes
dbd6515e7b Release fwupd 1.8.4 2022-08-30 10:37:36 +01:00
Mario Limonciello
04c2186edc Add support for loading default BIOS settings policy
A user can place a JSON file in /etc/fwupd/bios-settings.d/ with
the default desired policy for the machine.

fwupd will load this policy on startup to ensure BIOS settings
are set as desired by the system administrator.
2022-08-24 12:59:42 -05:00
Mario Limonciello
b7b0ce533d trivial: Unify ambiguity between bios-attrs and bios-settings
These are currently used interchangeably since there was indecisiveness
which to use as the feature was being developed.

As outward facing it will be named with "settings", change all uses
in the code to match this.
2022-08-24 07:20:01 -05:00
Mario Limonciello
826983b8a7 Add support to set BIOS settings using a JSON payload
The JSON payload is ideally generated from `fwupdmgr get-bios-settings --json`
with all attributes expected to be included as additional arguments.
2022-08-24 09:51:46 +01:00
Mario Limonciello
088397618a Add bash-completion for BIOS settings 2022-08-11 09:52:26 -05:00
Richard Hughes
47efacfe5d Remove the firmware builder functionality
We used the firmware builder functionality to either build or modify
firmware images on the end-user system, e.g. copying the MAC address
from the old system image to the new system image.

Unfortunately running fwupd on the command line (e.g. ./src/fwupd)
leaves the tty connected and thus bubblewrap doesn't protect us from
installing malicious signed firmware. The firmware would have to have
been uploaded to the LVFS by a trusted vendor and signed before being
installed, which further decreases the severity of this problem.

As there was only one vendor who asked for this functionality (who have
yet to upload a single firmware to the LVFS...) just rip out this
functionality to reduce our attack surface and completely fix the bug,
and any like it.

Many thanks to Aaron Janse <aaron@ajanse.me> for discovering and
disclosing this issue to us.
2022-07-29 16:52:38 +01:00
Mario Limonciello
5ded4f44fe Add support for reading and writing firmware attributes
This support is comprehensive:
 * Client library support
 * Daemon support
 * plugin support
 * Client tool support (with new commands)
2022-07-28 17:30:57 -05:00
Richard Hughes
5caaf461a8 Release fwupd 1.8.3 2022-07-22 10:50:25 +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
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
4c7ca5f13e Release fwupd 1.8.2 2022-07-11 12:31:14 +01:00
Richard Hughes
a61bb37881 Build the quirk files into the daemon as a GResource
Interestingly, this increases the `fwupd` binary size by ~30kb but
reduces the installed size of /usr/share/fwupd/quirks.d by ~330kb.
2022-06-30 18:52:24 +01:00
Andrii Dushko
802105af7f corsair: add HARPOON RGB Wireless mouse 2022-06-22 15:58:12 +01:00
Gaël PORTAY
299b42fe96 trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
Gaël PORTAY
c73d37fc6f Revert "fu-tool: Save device state to @LOCALSTATEDIR@/lib/fwupd/state.json on actions"
This reverts commit 3143bad0f5.
2022-06-20 12:57:40 -04:00
Gaël PORTAY
97a627b54b Cache list of devices to cache directory 2022-06-20 12:57:40 -04:00
Gaël PORTAY
2cc5449ae8 trivial: Use bash-completion facilities to get arguments 2022-06-20 12:57:40 -04:00
Gaël PORTAY
d893b80bbc trivial: Fix missing bash-completion for firmware-read 2022-06-20 12:57:40 -04:00
Gaël PORTAY
c8987ab100 trivial: Allow mixing modifiers/parameters in bash-completion scripts 2022-06-20 12:57:40 -04:00
Gaël PORTAY
5bdbf0dd0a trivial: Add missing comments in bash-completion scripts
For the sake of consistency.
2022-06-20 12:57:40 -04:00