Commit Graph

113 Commits

Author SHA1 Message Date
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
Richard Hughes
a17222f8a0 trivial: Add some more details to the HSI specification 2021-11-01 08:22:29 +00:00
Richard Hughes
01224b23e6 trivial: Fix the DCI links in the HSI specification
All the attributes have a 1:1 mapping except this one, and that broke
the Insights rules.
2021-10-30 19:33:11 +01:00
Richard Hughes
b3b5542246 Redirect the old HSI links to the correct place
Fixes https://github.com/fwupd/fwupd/issues/3893, harder
2021-10-27 12:49:27 +01:00
Richard Hughes
2a1ad986b8 trivial: Update the architecture plan to reflect reality 2021-10-25 15:39:38 +01:00
Kate Hsuan
ae2389104e docs: hsi: Give a readable name for each HSI number
Currently, HSI only has a numerical level, such as HSI 0~1 and each
number represents a security state from insecure to secure. If we
only show the number to the user, the user may confuse and try to
find the document to realize the meaning of the number or just ignore
them immediately. So, a readable name for each HSI level can catch
users' eyes and let them explicitly know the security status.

Signed-off-by: Kate Hsuan <hpa@redhat.com>
2021-10-25 15:38:38 +01:00
Mario Limonciello
d9ca1a7c53 trivial: fix anchors for markdown
fixes: #3893
2021-10-21 11:48:25 -05:00
Richard Hughes
7f5b0c0b60 Rename the development branch from master to main
Fixes https://github.com/fwupd/fwupd/issues/3799
2021-09-24 14:20:24 -05:00
Richard Hughes
dee928a012 doc: Add a valid front matter block to fix index title 2021-09-21 10:25:12 +01:00
Richard Hughes
543ae52e23 Document some of the environment variables used by fwupd
Fixes https://github.com/fwupd/fwupd/issues/3760
2021-09-21 10:25:12 +01:00
Richard Hughes
450e8e1c17 Add FuCfuPayload and FuCfuOffer
We can use these in the future elantp plugin, and I'm sure we'll need
them again in the future for an *actual* CFU plugin.
2021-09-20 14:43:34 +01:00
Richard Hughes
40cd18fa97 Allow using a per-device global percentage completion
It's actually quite hard to build a front-end for fwupd at the moment
as you're never sure when the progress bar is going to zip back to 0%
and start all over again. Some plugins go 0..100% for write, others
go 0..100% for erase, then again for write, then *again* for verify.

By creating a helper object we can easily split up the progress of the
specific task, e.g. write_firmware().

We can encode at the plugin level "the erase takes 50% of the time, the
write takes 40% and the read takes 10%". This means we can have a
progressbar which goes up just once at a consistent speed.
2021-09-13 14:28:15 +01:00
Mario Limonciello
9d113822c9 trivial: create urlmap for each gi-docgen target rather than sharing 2021-09-07 21:54:40 -05:00
Richard Hughes
a5a978b3f6 Rename some confusing API
More than one person has asked about 'why call fu_plugin_update() for a
reinstall or downgrade' and I didn't have a very good answer.

The plugin API is not officially stable, and we should fix things to be
less confusing. Use the same verbs as the FuDevice vfuncs instead.
2021-08-06 19:49:53 +01:00
Mario Limonciello
798d1ed3ee trivial: update markdown for pre-commit style 2021-07-18 14:42:47 -05:00
Mario Limonciello
f1db89ff35 trivial: set the version string for source code links properly 2021-06-15 07:03:05 -05:00
Mario Limonciello
0d0dfa6da0 trivial: set up links between libfwupd and libfwupdplugin 2021-06-14 09:25:07 +01:00
Richard Hughes
7df6368038 trivial: Add an index page to link to both sets of docs 2021-06-11 14:14:53 +01:00
Richard Hughes
bc9920ac54 trivial: Check for python3-markdown >= 3.3.3 for gi-docgen
The dep can be decreased - this matches what is in Debian
2021-06-11 14:14:53 +01:00
Richard Hughes
7b40a84f24 trivial: Check for python3-markdown >= 3.3.4 for gi-docgen 2021-06-11 09:39:11 +01:00
Richard Hughes
a02c1073f2 trivial: Fix up some of the developer docs
And add some missing content as requried.
2021-06-11 09:39:03 +01:00
Mario Limonciello
1e17457b16 Allow building the documentation with gi-docgen and gtk-doc
Until gi-docgen is declared stable support either of them.
This effectively means that hand builds and CI builds will use
gi-docgen, but distro builds use gtk-doc-tools.
2021-06-09 22:21:53 +01:00
Richard Hughes
bc84f0d98e Switch some documentation from docbook to markdown 2021-06-04 15:09:44 -05:00
Mario Limonciello
c6bbe4507a trivial: remove some trailing whitespace from docs 2021-04-09 11:15:27 -05:00
Richard Hughes
f3c64adb6c intel-spi: Allow downloading the firmware image from the eSPI controller
Add the IFD regions as child devices and set the region access on the child
devices. Also add read-only SPI descriptor as an HSI attribute and require
FLOCKDN on Intel hardware.

Use the hidden PCI 00:1f.5 device to set the SPIBAR automatically and generate
the quirk file automatically to support more hardware.
2021-04-01 21:56:35 +01:00
Richard Hughes
1981c63d58 Remove FuFirmwareImage and just use FuFirmware instead
This allows us to 'nest' firmware formats, and removes a ton of duplication.

The aim here is to deprecate FuFirmwareImage -- it's almost always acting
as a 'child' FuFirmware instance, and even copies most of the vfuncs to allow
custom types. If I'm struggling to work out what should be a FuFirmware and
what should be a FuFirmwareImage then a plugin author has no hope.

For simple payloads we were adding bytes into an image and then the image into
a firmware. This gets really messy when most plugins are treating the FuFirmware
*as* the binary firmware file.

The GBytes saved in the FuFirmware would be considered the payload with the
aim of not using FuFirmwareImage in the single-image case.
2021-03-09 21:14:12 +00:00
Richard Hughes
b63cfa90d6 Detect the AMD TSME encryption state for HSI 2021-01-06 16:45:33 +00:00
Richard Hughes
104459bd10 Check the AMI test key if not installed for HSI-1
Fixes https://github.com/fwupd/fwupd/issues/2695
2021-01-05 17:09:02 +00:00
Richard Hughes
5c9e9f17c5 libfwupdplugin: Export FuEfiSignatureList for plugins to use 2021-01-05 16:42:58 +00:00
Richard Hughes
41a1650c2a Remove HSI update and attestation suffixes
The logic here is that the attestation is more than just the PCR0 value, and
multiple device firmware (such as EC, ME, etc.) needs to be included to validate
the system.

By the same logic, updates for the system firmware do not tell the whole story,
and confuse HSI as a specification. Remove them.
2020-11-05 15:12:12 +00:00
Richard Hughes
2409b302a6 trivial: Fix typo in HSI document 2020-10-26 15:17:39 +00:00
Richard Hughes
7bcb8d4385 Export FwupdPlugin so we can convey enumerated system errors to the end user
For instance, we can tell the user that UEFI UpdateCapsule is disabled in the
system firmware, or that efivarfs is not mounted. This is much better than
creating "dummy" devices which are really just hacks around the problem because
no better API existed. THe dummy devices cause as many problems as they solve.

Plugins have to set FWUPD_PLUGIN_FLAG_USER_WARNING if a warning should be shown
to the user, and only one warning will be shown of each failure type.

It is expected that GUI clients like gnome-software and gnome-firmware would use
this API to notify the user the localized message for why firmware updates are
not being shown.

Fixes https://github.com/fwupd/fwupd/issues/2456
2020-10-13 15:56:49 +01:00
Richard Hughes
9d1372a928 trivial: Do not build the HSI documentation
We can re-enable this once we have concrete buy-in from more than just Intel.
2020-10-08 16:36:56 +01:00
Richard Hughes
7d1267fd84 Clarify various parts of the HSI specification
Firsly, that HSI isn't expected for embedded devices and then secondary how we
require SecureBoot to be available for HSI:1

At the moment we get a runtime failure if it is disabled. Making SB a part of
`HSI:1` makes this requiremnt explicit and prevents us getting `HSI:2!` if it
is not available.
2020-10-02 09:13:56 +01:00
Richard Hughes
7c8a830659 libfwupd: Add async versions of the library for GUI tools
Rather than force the GUI to interact with fwupd using threads, provide
async versions so thay can be run without blocking the UI thread.
2020-09-03 15:46:57 +01:00
Mario Limonciello
82c3e3471d Remove support for UEFI dbx security attribute
This is no longer relevant as fwupd is providing dbxtool now.
2020-08-19 07:38:51 +01:00
Richard Hughes
fd0ee5153e Add some of the HSI specification to the generated documentation 2020-08-17 20:23:49 +01:00
Richard Hughes
e031774a8b Split out the fwupd tutorial into a new file
No content changes.
2020-07-28 09:22:07 +01:00
Richard Hughes
0e39ff0ef8 trivial: Add a section on using a compat layers in fwupd 2020-03-12 11:44:51 +00:00
Richard Hughes
3ed2ac8315 trivial: Unexport fu_test_get_filename()
We don't actually need either of the things it provides (looking up in source
and built, and converting to an absolute path) so just replace it with
g_build_filename() instead.

This also has the advantage that it does the right thing on Windows.
2019-11-27 12:45:35 +00:00
Mario Limonciello
6b0e66354b Convert libfwupdprivate to a shared library libfwupdplugin 2019-11-27 11:32:43 +00:00
Richard Hughes
f0f504c740 trivial: Do not use FuProgressbar in dfu-tool
This is a debug-only command line program, and we don't want plugins to have
access to the animated progressbar header in the future.
2019-11-26 17:15:18 +00:00
Richard Hughes
019a1bc2b0 trivial: Untangle FuHistory from FuPlugin
This will allow us to export FuPlugin in the future without dragging in the
private fu-history.h too.
2019-11-26 14:14:27 +00:00
Mario Limonciello
f1a4d87063 Add missing documentation from the plugin interface
Also update the structure as the documentation doesn't only describe
libfwupd.
2019-11-26 06:31:57 +00:00
Mario Limonciello
d454485be3 trivial: remove version-format.md
It's not being kept up to date, and superceded by
https://fwupd.org/lvfs/docs/metainfo/version
2019-11-23 20:17:22 +00:00
Mario Limonciello
5123d4333e Rename unifying plugin to logitech-hidpp (Fixes: #1329) 2019-11-04 13:35:36 -06:00
Richard Hughes
7301d06f23 dfu: Remove support for the Metadata Store Proposal
This was never adopted, and firmware now indicates the license in the metainfo
file rather than the DFU file itself.
2019-10-09 20:56:38 +01:00
Richard Hughes
dce91204c9 Fix some typos spotted using codespell 2019-04-08 12:47:53 +01:00
Richard Hughes
89ab873f72 trivial: Add yet another version encoding
This variant is a quad-style, but with the Microsoft style 4 digit BuildVer.
2018-10-18 19:31:04 +01:00