Commit Graph

26 Commits

Author SHA1 Message Date
Richard Hughes
c6afb51e32 Add a FirmwareBaseURI parameter to the remote configs
This allows somebody to mirror the CDN without resigning the metadata files.

Fixes: https://github.com/hughsie/fwupd/issues/186
2017-08-23 14:22:12 +01:00
Richard Hughes
99e621d388 Save the metadata signature in the local cache
This is useful if the admin wants to re-verify the metadata, or if a public
key is removed or expires.
2017-08-16 13:42:10 +01:00
Richard Hughes
7403dc505f Optionally use GnuTLS to verify PKCS7 certificates
We can use this as an alternative for GPG. No PKCS7 certificates are currently
installed by fwupd and it's expected that the LVFS will still only provide GPG
detached signatures.

If an OEM distributor wants to sign firmware with a PKCS7 and the corresponding
certificate is provided then the firmware will be marked as valid.

Only firmware shipping with a .p7b file will use the PKCS7 functionality,
similarly remote metadata validation will default to GPG unless Keyring=pkcs7
is specified in the config file.
2017-08-14 09:42:48 +01:00
Richard Hughes
2d95a71a0c Support embedded devices with local firmware metadata
In this mode, both the metadata and firmware is stored on the local filesystem
and distributed using a distribution system like OSTree.

Fixes https://github.com/hughsie/fwupd/issues/162
2017-07-28 17:41:24 +01:00
Mario Limonciello
790701f32b trivial: adjust get-details and get-devices output Display Name output
This returns them back to the more readable 0.8.x behavior where
devices have the name first and then all the details indented.
2017-07-13 16:22:19 -05:00
Mario Limonciello
7e9924d7a7 trivial: Adjust get-devices output order
Since changing how the data was shuffled from earlier fwupd versions
the device name is no longer output at the top of the list, fix that.
2017-07-05 17:16:18 -05:00
Richard Hughes
0eaca2da65 trivial: Fix test failure with de5dd8f3 2017-06-19 14:01:27 +01:00
Richard Hughes
a71e0a71f6 Allow ordering the metadata remotes
This allows us to load one metadata source file before or after another.
2017-06-16 12:40:24 +01:00
Richard Hughes
68cc00c7e9 Allow multiple checksums on devices and releases
Although we supported other hashes than SHA1 (which is now moderately unsafe)
we had to switch the metadata provider and daemon on some kind of flag day to
using SHA256. Since that's somewhat impractical, just allow multiple checksums
to be set on objects and just try to match whatever is given in preference
order.

This also means we can easily transition to other hash types in the future.

The removed API was never present in a tarball release, so not an API break.
2017-06-06 20:06:53 +01:00
Richard Hughes
81c7649dd8 libfwupd: Add fwupd_client_get_devices_simple() to return us an array of devices, not results 2017-06-06 11:10:57 +01:00
Richard Hughes
4db6c4a4b0 libfwupd: Split up FwupdResult into FwupdDevice and FwupdRelease
This retains the old API to avoid breaking ABI.
2017-06-05 17:34:36 +01:00
Richard Hughes
dfed515573 Allow downloading metadata from more than just the LVFS
Add the concept of 'remotes' that can dropped into /etc and used as firmware
metadata sources. This may be desirable when firmware is only accessable with
a valid support contract or from behind a VPN.
2017-06-02 13:19:05 +01:00
Richard Hughes
7d78347549 Fix libfwupd self tests when a host-provided fwupd is not available
Resolves: https://github.com/hughsie/fwupd/issues/64
2016-08-31 11:41:46 +01:00
Richard Hughes
644562e291 Use the correct define prefix for FwupdDeviceFlags
Also, add the compat flags so we don't break API.
2016-08-22 10:30:24 +01:00
Richard Hughes
33a518a615 Add another compile warning and fix up any build failures 2016-07-27 16:57:36 +01:00
Richard Hughes
ce38d94d5e trivial: Get rid of useless internal-only gtk-doc markup 2016-06-29 11:25:25 +01:00
Richard Hughes
99147f180b Allow devices to have multiple assigned GUIDs 2016-05-17 09:35:04 +01:00
Richard Hughes
2fc5b88503 trivial: Only show the trust flags when there is an update 2016-05-13 14:48:20 +01:00
Mario Limonciello
72ec147259 Re-order output of get-devices to be easier to read 2016-04-14 13:10:34 -05:00
Richard Hughes
0195b86a1f trivial: Use g_autoptr() when checking for the bus 2016-04-01 08:09:26 +01:00
Mario Limonciello
e6e445ee4c Validate that the dbus system bus is available before running libfwupd tests
In a chroot (or buildd) environment dbus isn't necessarily available so this
test will always fail.
2016-03-31 17:27:58 -05:00
Richard Hughes
88492a3cd0 trivial: Add some more self tests for enums 2016-03-31 11:16:56 +01:00
Richard Hughes
12de5d8f23 Return errors of the correct type when using libfwupd
This also allows us to skip errors when doing 'make check' in a VM with no
hardware devices.
2016-03-31 11:04:49 +01:00
Richard Hughes
1f2f6ce1cd Allow other checksum kinds in FwupdResult
SHA1 is still the default, but others are allowed as well.
2016-03-18 12:33:47 +00:00
Richard Hughes
0f41340740 Add FwupdClient to libfwupd
This is a client-side object which can get results from the daemon.
2016-03-17 10:04:19 +00:00
Richard Hughes
7542c53749 Add a self test framework for libfwupd 2016-03-17 09:59:20 +00:00