Commit Graph

593 Commits

Author SHA1 Message Date
Richard Hughes
8b3f7a1a52 trivial: Add some self tests for fwupd_device_incorporate()
This was based on a hunch that was proved wrong, but the tests still
seem useful anyway.
2022-06-14 21:01:57 +01:00
Richard Hughes
3e0a4dc1c3 Be smarter and include less header files per source file 2022-06-14 14:36:52 -05:00
Richard Hughes
ac03f02f4c trivial: gi-docgenize some of the function comments 2022-06-11 21:26:46 +01:00
Richard Hughes
15add57746 Do not run some tests using -Db_sanitize=address 2022-05-24 08:24:24 +01:00
Gaël PORTAY
f862b8c9f3 trivial: Fix typos 2022-05-21 13:49:36 -04:00
Richard Hughes
519e80b1ee Allow clients to opt-in to showing updates with user-solvable problems
When typing 'fwupdmgr get-updates' show the updates that *could* be
installed if the problem was resolved.

Do not unconditionally do this, as some clients such as gnome-software
assume that all updates returned by GetUpdates() are updatable with
Install() -- and in a GUI we only want to show the updates we can apply
*right now*. When the problem is removed (e.g. AC power is connected)
the GUI client will notify the user as required, unlike a CLI tool.

Fixes https://github.com/fwupd/fwupd/issues/4629
2022-05-20 13:20:33 +01:00
Richard Hughes
8ebad4ea75 Specify an enumerated problem when inhibiting devices
This allows us to make smarter policy decisions in the future on when
to show unavailable updates. It also means we can show translated
text in the frond-end clients.

Only problems the user can "fix" are enumerated. For example, opening
the laptop lid, or charging the device battery.
2022-05-19 13:09:03 -05:00
Richard Hughes
c9dd8cb256 trivial: Make the FwupdClient host properties RW
We'll need this for future functionality when using client in fwupdtool.
2022-05-18 15:03:00 -05:00
Richard Hughes
31c1d03ebc trivial: Fix a gi-docgen warning with the latest version 2022-05-18 13:20:47 +01:00
Richard Hughes
91f23d67ab Export the system battery levels on the D-Bus interface 2022-05-18 07:16:07 +01:00
Richard Hughes
679628c091 Move the battery attributes down into libfwupd
This allows us to show the current value and the threshold on the CLI
and in tools like gnome-firmware.
2022-05-18 07:16:07 +01:00
Richard Hughes
7b806dbb2a Pass the socket address when setting up the daemon 2022-05-14 20:47:50 +01:00
Richard Hughes
a489ec13bb trivial: Automatically set the socket address on Windows 2022-05-11 10:11:06 -05:00
Richard Hughes
418d883ea7 Allow specifying a non-file D-Bus transport
e.g. on Windows you can do:

    FWUPD_DBUS_SOCKET=tcp:host=localhost,port=12345
2022-05-11 10:11:06 -05:00
Mario Limonciello
53e3ae340b trivial: libfwupd: fix an unused variable in Win32 2022-05-10 14:52:24 -05:00
Richard Hughes
c56e0ba4cc Use the native CA store on Windows when possible 2022-05-10 13:09:44 +01:00
Richard Hughes
47f887f100 trivial: Do not connect the daemon to download files
There's nothing we need as all the useragent data is client-side.
2022-05-10 12:56:43 +01:00
Robert Ancell
a8dd34c711 Fix more copy-paste documentation errors 2022-05-08 20:16:37 -05:00
Robert Ancell
cd437175b4 Fix copy-paste error in documentation for FwupdDevice::version_format 2022-05-08 16:44:41 -05:00
Mario Limonciello
a9f92dcb5e trivial: libfwupd: don't try to read /etc/os-release on windows 2022-05-05 15:38:43 -05:00
Richard Hughes
31907e6863 Add a sanity check when trying to refresh a non-download remote 2022-04-25 15:47:20 +01:00
Richard Hughes
7eca2b2b16 Export the version_lowest_raw value correctly 2022-04-23 10:28:16 +01:00
Richard Hughes
3b0d1a6c6b trivial: Ignore the return value of curl_easy_setopt() in most cases
This makes Coverity happy.
2022-04-13 15:08:12 +01:00
Richard Hughes
0b7af7d54b trivial: Ignore the return value of setenv() in most cases
This makes Coverity happy.
2022-04-13 15:08:12 +01:00
Mario Limonciello
7526d1b183 Add a new attribute for fused platform
Fused parts are unable to be tampered with.
2022-04-12 10:39:02 -05:00
Mario Limonciello
0e3e8ff610 trivial: change Intel debug attributes to generic
As other platforms have features with the same attribute, remove
the Intel generic one.
2022-04-12 10:39:02 -05:00
Mario Limonciello
9adb5380b3 Add a new HSI attributes for SPI protections 2022-04-12 10:39:02 -05:00
Mario Limonciello
04efb0b0cb Add a new HSI attribute for AMD rollback protection
This will be used by an upcoming AMD plugin
2022-04-12 10:39:02 -05:00
Sergii Dmytruk
4795ab3122 trivial: libfwupd,libfwupdplugin: fix typos in several comments
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2022-04-11 15:31:03 +01:00
Richard Hughes
f595b39f39 Add InstanceIds to the JSON device dump
Fixes https://github.com/fwupd/fwupd/issues/4501
2022-04-07 13:17:00 +01:00
Richard Hughes
06ddcc413a trivial: Fix a docgen warning on release build 2022-04-04 13:05:19 +01:00
Mario Limonciello
26349d0f28 cpu: Add a new attribute for CPU supported by HSI
On supported CPUs this will show up at HSI level 1 meaning that HSI
should be supported and trusted on this CPU if all plugins provided
enough data.

On non-Intel CPUs this will show up as missing data, meaning
that not enough plugins provide data for HSI to be trusted by default.
2022-04-03 09:06:00 -05:00
Mario Limonciello
2f086c2bbc Add a new security attribute flag of "missing data"
This attribute flag will be used to determine whether or not enough
data has been provided to make a security level calculation.
2022-04-03 09:06:00 -05:00
Mario Limonciello
a93feda72b trivial: rename the DMAR attribute to be vendor agnostic
The DMAR attribute is for Intel only, but AMD has the same feature in
the IVRS table.  Rename the attribute to clarify this.
2022-04-03 09:05:49 -05:00
Richard Hughes
dd3fc46786 trivial: Add some missing g_return_val_if_fail() calls 2022-03-29 20:04:26 +01:00
Richard Hughes
ce762c1d08 trivial: Use the correct struct offset for device requests 2022-03-28 15:08:16 +01:00
Richard Hughes
897c6a47fa libfwupd: Add a FwupdRelease:remote-id property 2022-03-25 21:13:37 +00:00
Richard Hughes
17c04e9824 Show the update message and update image in front end tools
We actually need to include the update image and message when creating
the GVariant.
2022-03-24 15:54:12 +00:00
Richard Hughes
945002f7a3 Fix build for MacOS
This is more for curiosity than anything else.
2022-03-15 14:37:28 +00:00
Richard Hughes
d3cba9a679 Add fwupd_client_disconnect() for future usage 2022-03-11 13:28:00 +00:00
Crag Wang
a2b46e15cf Add daemon configuration 'OnlyTrusted' to D-Bus properties 2022-03-10 09:46:54 +00:00
Richard Hughes
91512925a0 Check for os-release on FWUPD_SYSCONFDIR
Change-Id: I391eabfb1ef6eadbad100273445794172b2cb1fd

Fixes https://github.com/fwupd/fwupd/issues/4366

Based on a patch by Daniel Campello <campello@chromium.org>, many thanks.
2022-03-09 08:10:18 -07:00
Richard Hughes
4ce9972ce5 trivial: Don't leak the string even on critical failure
Not totally sure this is worthwhile, but it triggered a failure in the
RHEL tests we do - and it's less work to fix it than argue.
2022-03-08 16:01:16 +00: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
758d5d8c6f Add a flag to indicate the device is signed or unsigned
Devices without either flag are unknown.
2022-02-22 19:12:06 +00:00
Richard Hughes
f63080fbe2 Allow assigning issues to devices
This allows us to show in the tools if a device is currently affected
by a specific CVE. For instance, we could inform the user that a device
requires a critical firmware update that is being actively exploited.

Note, this also means we can show the user a firmware update is now
required, even though the firmware may not be available on the LVFS.

Also show the issue in the `fwupdmgr security` output, e.g.

    There are devices with issues:
      Samsung — MZVLB2T0HALB-000L7:
       • CVE-2022-12345
       • CVE-2022-54321
2022-02-16 14:50:29 +00:00
Richard Hughes
31dacb8687 Allow marking a device as EOL
This probably means it is unlikely to get any new security updates.
2022-02-07 16:03:44 +00:00
Richard Hughes
bb1bcce863 Allow fwupd to operate without a D-Bus daemon
This adds support for optionally using a UNIX domain socket where a
D-Bus daemon may not be running.

To use this, launch the daemon and clients with something like
`FWUPD_DBUS_SOCKET=/var/run/fwupd.sock fwupdmgr get-devices`
2022-01-31 14:05:23 +00:00
Richard Hughes
6eada0e067 Add a flag to indicate the firmware is not provided by the vendor
Also, force the user to accept this warning for every update.
2022-01-25 10:13:40 +00:00