Richard Hughes
b12d0bfec5
superio: Convert FuSuperioDevice to be derivable
...
We'll need this for future refactoring.
2019-03-23 12:04:18 +00:00
Richard Hughes
1dfc367ba2
Update Plymouth when updating pending firmware
...
Some updates take some time to deploy, so we need to update the UI to avoid the
user thinking it's just hung.
2019-03-23 12:00:26 +00:00
Richard Hughes
19e56866f6
trivial: Disable MemoryDenyWriteExecute
...
This is failing for new versions of Gio for some reason. Revert when required.
2019-03-23 11:59:14 +00:00
Richard Hughes
809abea834
Ask to reboot after scheduling an offline firmware update
2019-03-23 11:14:44 +00:00
Richard Hughes
db69c81e86
trivial: Show the progressbar properly when scheduling complete
2019-03-23 10:52:47 +00:00
Richard Hughes
484ee298da
Do not fail when scheduling more than one update to be run offline
2019-03-23 10:52:14 +00:00
Richard Hughes
f517c9aa09
Allow running offline updates when in system-update.target
2019-03-23 10:45:52 +00:00
Richard Hughes
3dbacdf541
Fix the location of fwupdoffline in the service file
2019-03-21 20:58:42 +00:00
Richard Hughes
42a1b9aea3
trivial: Make testing the offline update easier by allowing reinstalls
...
Only refuse to schedule an offline update if the device is already pending.
2019-03-21 20:58:42 +00:00
Richard Hughes
8356a83c4a
trivial: Fix potential critical when converting empty object to GVariant
2019-03-21 17:15:43 +00:00
Richard Hughes
705402cebd
trivial: Do not offer to report firmware for the installed tests
2019-03-21 15:54:52 +00:00
Richard Hughes
2da42d3cd4
trivial: Add fu_device_set_firmware_size()
...
This allows us to set the value where the blob has to be a specific size.
2019-03-21 10:31:35 +00:00
Richard Hughes
2aad104473
trivial: Add fu_common_bytes_compare()
2019-03-21 10:28:20 +00:00
Richard Hughes
4c6d61dc3a
trivial: Add fu_device_get_firmware_size_min()
2019-03-21 10:27:08 +00:00
Richard Hughes
23b1a9d3be
trivial: Add missing gtk-doc for _REMOTE_KIND_DIRECTORY
2019-03-21 10:09:11 +00:00
Richard Hughes
36999464c7
trivial: Move a useful function out of libdfu
2019-03-19 21:17:48 +00:00
Richard Hughes
c9223be26c
Add optional vfuncs to allow detaching and attaching verify()
...
Some devices (e.g. Wacom, DFU and SuperIO) require the device to be in
'bootloader' mode before the device checksums can be populated.
Rather than each plugin handle both the open()->detach()->detach()->close()
sequence handle this in the plugin loader. It's not super-easy to do the right
thing for the failure case, and having two new dedicated vfuncs makes it a lot
simpler.
2019-03-19 20:25:26 +00:00
Richard Hughes
6109652f5a
trivial: Remove some dead code
...
Found using Coverity.
2019-03-18 16:36:30 +00:00
Richard Hughes
b7537782cb
trivial: Fix the debug print when dumping SuperIO registers
...
Found using Coverity.
2019-03-18 16:35:01 +00:00
Richard Hughes
37b6c70aa0
superio: Add list of SPI commands for future usage
2019-03-18 15:59:33 +00:00
Richard Hughes
1568449e69
Add a verify-update command to fwupdtool
...
This is useful for debugging to just read the checksum from the device.
2019-03-18 10:08:58 +00:00
Richard Hughes
11f612c1d3
trivial: Ensure the parent dir exists before saving the verify silo
2019-03-18 10:08:58 +00:00
Richard Hughes
5c18617e8f
uefi: Actually upload the UPDATE_INFO entry for the UX capsule
2019-03-15 14:22:01 +00:00
Richard Hughes
079b7b6f9d
superio: Get the chip size from the EC rather than hardcoding
...
I'm not sure why we can't just use SIO_LDNxx_IDX_CHIPID1, but lets do the same
as the vendor tool in case there is a good reason that I don't know about.
2019-03-15 13:47:57 +00:00
Richard Hughes
72e7a82c88
uefi: Check the error code of QueryCapsuleCapabilities() correctly
...
We can't print max or reset as they are undefined in the event of failure.
2019-03-15 09:27:55 +00:00
Peter Jones
fda89fd15e
Update the UEFI UX Capsule Header checksum when needed.
...
Signed-off-by: Peter Jones <pjones@redhat.com>
2019-03-14 14:06:06 -05:00
Richard Hughes
35b6e13d96
uefi: Copy the shimx64.efi binary for known broken firmware
...
Some system firmware helpfully 'deduplicate' the boot loader entries based on
the filepath, without taking into account either the label or optional data.
This means we have to use a custom copy of shim for firmware updates.
2019-03-14 17:00:53 +00:00
Richard Hughes
68db74b006
Correctly get the check the new version for devices that replug
...
There are a lot of failures in the LVFS with 'device version not updated on
success' and this is because we were looking at the original FuDevice, rather
than the FuDevice that came back after the bootloader replug phase.
Before doing the check get the new FuDevice to prevent failing the check with
a false positive.
2019-03-14 08:50:06 -05:00
Richard Hughes
363aa54605
trivial: Update the capsule header helper to work without flags set
2019-03-13 11:15:49 +00:00
Richard Hughes
b008bcab50
Add a simple script to add a capsule header
...
This may be helpful for OEMs and ODMs shipping 'bare' firmware.
2019-03-12 13:54:29 -05:00
Richard Hughes
d364184209
trivial: Do not create the private key if _USE_CLIENT_CERT unset
2019-03-12 08:25:22 -05:00
Richard Hughes
f3c7d42289
Ensure the PKCS-7 client certificate exists at startup
...
This ensures the certificate is always present even before the user has
generated a report or manually signed test data.
Also, if the GnuTLS version is too old just log a message and continue.
2019-03-12 08:25:22 -05:00
connor nolan
03fbe471e8
fix makecab directive options
2019-03-12 06:28:12 -05:00
Thaodan
156538f1c3
fwpup.service: use display-manager.service instead of gdm.service
...
Instead of referring to just *gdm.service* use the alias *display-manager.service* instead to allow other display managers like *sddm* too.
2019-03-12 10:03:27 +00:00
Steve McIntyre
c8de6b6398
trivial: debian: Update the format of the json metadata to match new requirements
...
* Move all the data under a new top-level "packages" key
* Add an empty "trusted_certs" key - our binaries do not do any
further verification with an embedded key.
2019-03-11 17:06:21 -05:00
Richard Hughes
4ffc14f6ea
Allow signing the fwupd report with the client certificate
2019-03-11 13:57:39 +00:00
Richard Hughes
3d60762bed
Add a D-Bus method to generate a signature using the self-signed client certificate
2019-03-11 13:57:39 +00:00
Richard Hughes
f28abe7fda
Allow signing and verifying data using a PKCS-7 self-signed client certificate
...
This is a per-client certificate and private key that can be used to sign
metadata sent to remote servers, for instance success/failure reports.
2019-03-11 13:57:39 +00:00
Richard Hughes
26e1549d16
trivial: Abstract out fu_keyring_pkcs7_load_crt_from_filename()
...
We'll need this for future functionality.
2019-03-11 13:57:39 +00:00
Richard Hughes
ca6d92aa5c
trivial: Allow PKCS-7 certificates for DIGITAL_SIGNATURE
...
This allows us to also use a self-signed certificate for verification.
2019-03-11 13:57:39 +00:00
Richard Hughes
2eee2582fd
trivial: Fix several NULL/FALSE return mistakes
2019-03-11 13:17:55 +00:00
Richard Hughes
6bc7098640
Fix a critical warning when loading a PKCS-7 certificate with no DN
2019-03-11 13:13:00 +00:00
Richard Hughes
06ef7f7e46
Include all device checksums in the LVFS report
...
On some hardware the SHA1 checksum is not set and so we want to use the SHA256
hash value as well.
The LVFS doesn't currently read the ChecksumDevice value and so nothing will
explode serverside when changing this type from 'string' to 'array of strings'.
2019-03-11 06:42:26 -05:00
Richard Hughes
0ca78aa2e1
modem-manager: Fix a trivial build warning
...
Fixes https://github.com/hughsie/fwupd/issues/1082
2019-03-08 18:34:36 +00:00
Richard Hughes
a0f9d2e110
superio: Fix a trivial build warning
...
Fixes https://github.com/hughsie/fwupd/issues/1081
2019-03-08 18:33:06 +00:00
Mario Limonciello
152f7d9e1f
trivial: bump libxmlb subproject dependency
...
Although it's an optional bump, this is needed for
88dc0f4bf0
to fully work.
2019-03-08 17:02:55 +00:00
Richard Hughes
4499d19ba3
Move out the offline update functionality to a new binary
...
The offline updates environment is special, and we have to be careful to delete
the trigger before doing anything that can fail to avoid boot loops.
For this reason, split it out to a simple self-contained binary that is easy to
understand.
2019-03-08 09:45:30 -06:00
Richard Hughes
ad73719fa4
Do not reboot when failing to start fwupd during offline updates
...
If another offline update task is run at the same time, e.g. pk-offline-update
from PackageKit then we might corrupt the package database when the client
D-Bus request times out.
Copy the fixes from PackageKit so that the offline updates work together.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1685471
2019-03-08 09:45:30 -06:00
Mario Limonciello
d1f25ee9b6
trivial: ci: move s390x build into CircleCI
...
This should hopefully make daily CI runs operate faster by balancing
some across Travis CI and some across Circle CI.
2019-03-08 09:44:49 -06:00
Richard Hughes
c4c5ab41dc
Do not write the schema version to the db when loading
...
If running in fwupd.shutdown the file systems are mounted readonly, which means
the ATA activation is not attempted.
2019-03-07 08:28:36 -06:00