Commit Graph

525 Commits

Author SHA1 Message Date
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
Gaël PORTAY
4b3352e2f5 trivial: Add bash-completion for device-id
The four commands `get-details`, `install`, `install-blob`, and
`firmware-plugin` use device-id as second command argument but the
fwupdtool bash completion script does not completed it yet.

This calls function `_show_device_ids` to add completion for device-id
if completion the second argument of the commands mention above.
2022-06-20 12:57:40 -04:00
Gaël PORTAY
b670404127 trivial: Fix fwupdtool bash-completion script
The commands `attach`, `detach`, `activate`, `verify-update`,
`reinstall`, and `get-updates` calls `_show_device_ids` but that
function is not defined in the fwduptool bash-completion script.

This defines the function `_show_device_ids` by reusing the function
of the name in the fwupdmgr bash-completion script.

Fixes:

	$ sudo fwupdtool attach
	                        ^-- tabulation
	bash: _show_device_ids: command not found
2022-06-20 12:57:40 -04:00
Andrii Dushko
04a1e56921
trivial: join Corsair KATAR PRO Wireles tests (#4715) 2022-06-07 19:05:35 +03:00
Andrii Dushko
f9781b4cb8
trivial: add device tests for Corsair devices (#4708) 2022-06-06 15:18:00 +03:00
Gaël PORTAY
714983d82d steelseries: fizz: Add support for 2.4G connection 2022-05-30 10:24:52 -04:00
Gaël PORTAY
7bcae04650 trivial: Update Rival 3 Wireless steps to install 1.4 2022-05-27 11:19:51 -04:00
Richard Hughes
b5e7e01fc3 Release fwupd 1.8.1 2022-05-27 12:09:19 +01:00
Gaël PORTAY
509010c10d trivial: Add device-test for Steelseries Aerox 3 Wireless 2022-05-20 12:54:00 -04:00
Richard Hughes
a4906010d6 Add a way to read the device firmware in fwupdtool
In most cases 'fwupdtool firmware-dump' and 'fwupdtool firmware-read'
are going to be the same. This isn't true in all cases, especially when
dealing with composite firmware like archives.

See https://github.com/fwupd/fwupd/pull/4623#issuecomment-1129227133
2022-05-19 09:29:44 +01:00
Gaël PORTAY
788d26cc72 trivial: Add device-test for Steelseries Rival 3 Wireless 2022-05-17 09:49:17 -04:00
Richard Hughes
77bb1ff479 Switch the Windows installer from NSIS to MSI
This means we get a few bugs fixed:

 * We appear in the Add/Remove Programs UI
 * We have an uninstaller that works on Windows 10
 * The installation is pretty, and scriptable
 * We actually install the translations
2022-05-09 15:49:40 +01:00
Mario Limonciello
08900e3b8a trivial: set up win32 build not to take GPG by default
Unfortunately you can't detect the meson option:
```
../data/pki/meson.build:4:4: ERROR: Having a colon in option name is forbidden, projects are not allowed to directly access options of other subprojects.
```
So hardcode in top level meson.build that Windows doesn't take GPG.
2022-05-06 09:56:03 -05:00
Richard Hughes
9bf8724bf4 Release fwupd 1.8.0 2022-04-28 15:38:26 +01:00
Mario Limonciello
5d22db02ec trivial: Add a new configuration option systemd_unit_user
This option will control what user the fwupd-refresh.service unit
uses.
2022-04-25 14:06:04 -05:00
Mario Limonciello
0c9ac226c9 trivial: disable the preset for fwupd-refresh.timer as well
Until systemd fixes this issue we don't want the fwupd-refresh.timer
to be running unless a distro has disabled DynamicUser and made a
static user.

Fixes: https://github.com/fwupd/fwupd/issues/3037
2022-04-25 14:06:04 -05:00
Mario Limonciello
b3de9ffd21 Add support for a new TrustedUids key
This key is used to specify that a dedicated user runs the fwupd
client process and sensitive strings such as the serial number should
be shared with the calling process.

(Fixes: #4524)
2022-04-14 10:30:54 -05:00
Richard Hughes
63f2e9ee28 Allow 'fwupdmgr install' to install a specified firmware version
This also moves the 'local-install' action to a new verb, although we
fall back for compatibility.

Fixes https://github.com/fwupd/fwupd/issues/4514
2022-04-12 19:53:38 +01:00
adamgene
11779505f7 Support Google Servo Dock 2022-04-07 09:39:12 -05:00
Gaël PORTAY
1d8956de6e cfi: Add Macronix MX25V2033F and MX25L3236F 2022-04-02 07:28:58 +01:00
Gaël PORTAY
90a9c0de27 cfi: Add GigaDevice GD25Q20C and GD25Q32C 2022-04-02 07:28:58 +01:00
Gaël PORTAY
fcf436d0d0 cfi: Add Fudan FM25F01 and FM25W04 2022-04-02 07:28:58 +01:00
Richard Hughes
356bd2fa5e Use the CFI manufacturer ID to set the vendor 2022-03-31 15:44:54 +01:00
Richard Hughes
3ce161dfc2 Show the device serial number and instance IDs by default
This is a feature that seems useful, but one that no vendor has actually
asked for. It's also of limited use for peripheral devices.

Showing the instance IDs by default is also going to make it much easier
to explain to hardware vendors where the GUIDs come from.

Fixes https://github.com/fwupd/fwupd/issues/4445
2022-03-30 13:21:55 +01:00
Richard Hughes
8ef261af32 mtd: Add some self tests using mtdram 2022-03-18 12:55:44 +00:00
Richard Hughes
2012a42a1e Do not use /var/run for the socket
The FHS says to use /run everywhere now, so use that to avoid confusion.
See https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch05s13.html
2022-03-07 13:24:58 +00:00
Richard Hughes
14cc2e7ee4 Do not hardcode the libexecdir to /usr/libexec
Fixes https://github.com/fwupd/fwupd/issues/4360
2022-03-07 13:24:58 +00:00
Mario Limonciello
8281e17a4b trivial: update variable reading to the method in meson 0.56 or later 2022-02-28 08:34:48 -06:00
Mario Limonciello
6896e0ab52 trivial: switch from meson.source_root to meson.project_source_root
The former is deprecated in meson 0.56 or later.
2022-02-28 08:34:48 -06:00
Mario Limonciello
661990ed98 Convert build system to use meson tristate features
tristate features will automatically disable if dependencies marked
as required are missing.

Packagers can manually override using `auto_features`.

Link: https://mesonbuild.com/Build-options.html#features
2022-02-28 08:34:48 -06:00
Richard Hughes
171ecdf3ef Release fwupd 1.7.6 2022-02-25 13:38:35 +00:00