Commit Graph

161 Commits

Author SHA1 Message Date
Mario Limonciello
473459c93d trivial: add an explicit check for python's packaging module
Fixes: #4976
Suggested-by: eschwartz93@gmail.com
2022-08-31 08:49:51 -05:00
Richard Hughes
0ea9f4cea3 Install the symlink the other way around
RPM based distros cannot replace a directory with a symlink without a giant hack.
2022-08-31 08:26:41 +01:00
Mario Limonciello
e26be40490 trivial: disable security arg when HSI disabled
There is no point to offering the security argument to the tools if HSI was disabled
at compile time.
2022-08-30 11:42:58 -05:00
Mario Limonciello
72f19f2a12 trivial: fix documentation deployement 2022-08-29 18:20:46 -05:00
Mario Limonciello
a56b5b2d36 trivial: in the not enough information case show an URL 2022-08-29 18:20:46 -05:00
Mario Limonciello
a44fc42cf6 trivial: Add pages to fwupd.github.io index for HSI and BIOS Settings 2022-08-29 18:20:46 -05:00
Mario Limonciello
613cb455be trivial: fix some URLs for GTK projects in documentation 2022-08-29 20:48:09 +01:00
Mario Limonciello
bfa5741a98 trivial: make it clear the documentation isn't just for developers 2022-08-29 20:47:51 +01:00
Mario Limonciello
5777f37191 trivial: Move recommendations from the wiki to HSI spec
We publish the HSI spec at fwupd.github.io. We should make this
the first landing area for HSI content, going out to the wiki page
only as necessary.
2022-08-29 20:44:20 +01:00
Mario Limonciello
9391deb2d7 trivial: only accept bios settings ending in .json 2022-08-25 10:08:39 +01:00
Mario Limonciello
087a809a5a Add documentation for fwupd BIOS settings API 2022-08-24 14:10:11 -05:00
Mario Limonciello
01d120efda trivial: Make BIOS setting parsing errors less verbose by default
The `--verbose` output for getting BIOS setting info is very noisy
on Lenovo systems due to a mismatch for the driver behavior and
kernel API.

Hide most of it behind an optional environment variable
`FWUPD_BIOS_SETTING_VERBOSE`.
2022-08-22 09:29:08 -05:00
Richard Hughes
829258401e Allow plugins and backends to print debugging information to the console
This is really useful for debugging.
2022-07-28 16:10:06 +01:00
Richard Hughes
66532a1293 trivial: Make fuzzing less verbose 2022-07-25 17:07:33 +01: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
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
34ff01fdf5 trivial: Continue to install the index page to fix the docs deployment 2022-07-11 16:44:12 +01:00
Mario Limonciello
9b30739d76 trivial: change docs to a meson feature (Fixes: #4791) 2022-07-01 10:56:12 +01:00
Richard Hughes
eac80ccac3 trivial: Document the ->set_progress() vfunc
Fixes https://github.com/fwupd/fwupd/issues/4755
2022-06-23 14:16:54 +01:00
Gaël PORTAY
299b42fe96 trivial: Make meson.build indentation consistent 2022-06-21 03:27:38 -04:00
Richard Hughes
cf9ebdb703 Add startup profiling functionality
Using `sudo FWUPD_PROFILE=10 ./src/fwupd --verbose` will print a
dump of startup times onto the console so that we can debug which
plugin is slowing down system startup. For example:

    ../src/fu-engine.c:5409:plugins-coldplug [108.55ms]:
        ../plugins/amt/fu-plugin-amt.c:437:amt [27.14ms]:
            :create-context [12.66ms]
            :get-version [8.44ms]
            :add-device [3.95ms]
2022-06-14 22:08:02 +01:00
Richard Hughes
7f86ffab6f Split out the dump helpers to a new source file 2022-06-14 14:36:52 -05:00
Richard Hughes
422d8cfa17 trivial: Fix FreeBSD CI build 2022-06-12 08:42:46 +01:00
Richard Hughes
06a2dcf62b Remove gtkdoc build option
We've seen that gi-docgen is active and other projects are switching to
it. Remove the legacy (and slow) gtk-doc build support.
2022-06-11 21:26:46 +01:00
Richard Hughes
e6b487e762 Add FuProgress to ->startup() and ->coldplug()
This allows us to profile the daemon startup so we can find any plugins
taking an inordinate amount of time to start.
2022-06-04 20:21:50 +01:00
Gaël PORTAY
7f7d2759a7 trivial: Update with recent steelseries changes
This fixes the commits 7eb053e97a and
9a5c69417a.
2022-05-23 14:09:03 +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
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
474a57b6f7 Allow overriding the detected machine type
This makes developing HSI tests and UIs much easier when using VMs or
containers.
2022-03-30 13:17:31 +01: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
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
Mario Limonciello
fa8bfc7f4a msr: make tsme security attribute match kernel doc more closely
The kernel documentation for AMD memory encryption includes information
on both SME and SEV, but they are separate attributes. Read the attributes
separately.

Link: https://www.kernel.org/doc/html/v5.16/x86/amd-memory-encryption.html
2022-01-20 06:52:51 -06:00
Richard Hughes
45673e7d9f trivial: Show results when using FWUPD_XMLB_VERBOSE 2022-01-12 16:16:52 +00:00
Ricardo Cañuelo
cdb924ba8d doc: add developers guidelines and howtos 2022-01-06 10:02:18 +01:00
Richard Hughes
3fec2d8ffb trivial: Add an HSI resolution hint about kernel params 2021-12-21 10:07:05 +00:00
Richard Hughes
e5198e543d trivial: Make the HSI docs reflect reality
Fixes https://github.com/fwupd/fwupd/issues/4111
2021-12-21 10:07:05 +00:00
Mario Limonciello
7188e5b335 Add support to show curl/wget output from fwupdmgr/fwupdtool 2021-12-15 06:46:27 -06:00
Richard Hughes
5f88043c4f trivial: Fix HSI swapped value descriptions
Fixes https://github.com/fwupd/fwupd/issues/4034
2021-11-26 14:25:49 +00:00
Richard Hughes
5e52b3527f trivial: Add two missing files to the gtkdoc manifest 2021-11-23 09:50:19 +00:00
Gabriel Kerneis
3e8f09a0f7 Add HSI check that PCR registers 0-7 are not empty
Some BIOSes forget add measurements to PCR registers, which results in
all-zero checksums and breaks measured boot guarantees.

Fixes #3901
2021-11-17 16:21:52 +00:00
Richard Hughes
e87fc05ab9 Speed up the daemon startup by ~2% by doing dlsym much less
We were calling g_module_symbol() 2703 times, which is actually more
expensive than you'd think.

It also means the plugins are actually what we tell people they are:
A set of vfuncs that get run. The reality before that they were dlsym'd
functions that get called at pretty random times.
2021-11-09 12:02:07 +00:00
Richard Hughes
54f1557a81 trivial: Add some Impact sections to HSI attributes 2021-11-05 16:54:17 +00:00
Richard Hughes
e452f46309 trivial: Fix version typo in HSI specification 2021-11-05 14:53:11 +00:00
Richard Hughes
15d41d10ed trivial: Use more standard English in the HSI specification 2021-11-05 14:53:11 +00:00
Richard Hughes
ebf1fe19e8 trivial: Fix several broken links in the HSI specification
Fixes https://github.com/fwupd/fwupd/issues/3941
2021-11-03 13:45:08 +00:00
Richard Hughes
3e9d3cd50f trivial: Correctly redirect a typo in the HSI docs 2021-11-01 08:22:29 +00:00