Commit Graph

972 Commits

Author SHA1 Message Date
Mario Limonciello
825e881864 get debian travis builds working too
For now they'll need to build with debian experimental until
appstream-glib 0.6.13 flows up to unstable (probably after
stretch releases)
2017-06-08 09:09:32 -05:00
Richard Hughes
3d2fc1e353 Ensure that firmware provides are legal GUIDs
If they are raw device strings, e.g. 'USB\VID_046D&PID_AAAC' just fix them
in-place.
2017-06-08 14:26:40 +01:00
Richard Hughes
871618ae1b Enable Travis CI for Fedora 25
Debian Unstable is currently disabled as it does not work.
2017-06-08 12:36:41 +01:00
Richard Hughes
d80666281c trivial: Do not run any tests if configuring with -Denable-tests=false 2017-06-08 08:43:21 +01:00
Piotr Drąg
748ae3154e trivial: Fix a typo in a translatable string (#132) 2017-06-07 16:59:40 -05:00
hadess
06acaf49f7 README: Fix links syntax (#131)
Why would I use the MoinMoin syntax here...
Also fix a typo in the first link.
2017-06-07 13:08:43 -05:00
Bastien Nocera
58377ecf2f README: Add more links to the README
See #128
2017-06-07 18:42:58 +01:00
Richard Hughes
ad9b22480a trivial: Fix missing test files
Resolves: https://github.com/hughsie/fwupd/issues/129
2017-06-07 17:08:49 +01:00
Richard Hughes
1fd28050da trivial: Fix typo in the example spec file 2017-06-07 17:08:23 +01:00
Richard Hughes
7420573412 trivial: post release version bump 2017-06-07 15:44:49 +01:00
Richard Hughes
2ca22517e7 Release fwupd 0.9.3 2017-06-07 15:42:44 +01:00
Richard Hughes
e979bb3269 trivial: Never allow duplicate checksums to be added to devices or releases 2017-06-07 15:34:53 +01:00
Richard Hughes
cffef2654b trivial: Include the device name in the output of 'fwupdmgr get-releases'
If only one device is present, then it's not obvious what this output refers to.
2017-06-07 15:34:53 +01:00
Richard Hughes
1315b25928 trivial: Only do the memcpy of DfuImage when round-tripping DfuSe firmware 2017-06-07 15:34:53 +01:00
Richard Hughes
b9f89179f2 trivial: Fix a small leak in dfu_target_parse_sectors()
This only happens when it's called multiple times.
2017-06-07 15:34:53 +01:00
Richard Hughes
6d7c33c5da trivial: Fix two tiny leaks in the new HWIDs support 2017-06-07 15:34:53 +01:00
Richard Hughes
97fc78bbc3 trivial: Fix a harmless warning from clang 2017-06-07 15:34:53 +01:00
Richard Hughes
e76ed8eb0d trivial: Generate more than just SHA1 OptionROM checksums 2017-06-07 08:02:41 +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
985ac07ab7 Only decompress the firmware after the signature check
This is moderately more secure, in the event that g_zlib_decompressor_new() has
an exploitable overflow. Spotted by Sebastian Krahmer, many thanks.
2017-06-06 20:02:54 +01:00
Richard Hughes
812d1b708d trivial: Spit out non-enum functionality into a common file 2017-06-06 16:27:47 +01:00
Richard Hughes
605791d19e trivial: Remove the libgcab1-dev dep, nothing actually requires it 2017-06-06 14:51:25 +01:00
Richard Hughes
fe461b618e trivial: Use SHA256 for the store origin
If we're using this for caching it seems a good idea to use a secure cache function.
2017-06-06 14:18:17 +01:00
Richard Hughes
6b8528632c trivial: Update the bump soname list 2017-06-06 12:26:43 +01:00
Richard Hughes
7e206447a8 Use the user cache directory for firmware
We don't need to redownload this multiple times if we have multiple devices
needing the same firmware update.
2017-06-06 12:22:30 +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
45c1545b0a Add a 'downgrade' command to fwupdmgr
This allows the user to downgrade the firmware on a device.
2017-06-06 09:44:47 +01:00
Richard Hughes
224002ab38 Prompt for the device ID if nothing specified in get-releases
This makes it somewhat easier to use for the common case.
2017-06-06 09:34:46 +01:00
Richard Hughes
6e48871bce trivial: Respect the checksum kind when calling VerifyUpdate 2017-06-05 17:48:13 +01:00
Richard Hughes
e4a100cfee Add a GetReleases() D-Bus call to return all releases for a device
This allows us to downgrade firmware in the future.
2017-06-05 17:42:57 +01:00
Richard Hughes
fdce4f57a3 Remove deprecated API added since the last tarball release 2017-06-05 17:41:57 +01:00
Richard Hughes
1642b3b95a Deprecate the old FwupdResult API
It will be removed next time we bump soname.
2017-06-05 17:41:11 +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
502a2ca64a Do not re-download firmware that exists in the cache 2017-06-05 09:23:10 +01:00
Richard Hughes
01c13d1634 trivial: Use a helper to get the sysconfig dir
This makes testing using a prefix much easier.
2017-06-05 09:10:17 +01:00
Richard Hughes
0fe22ff010 ebitdo: Ensure the version is set on the device in non-bootloader mode 2017-06-05 09:03:44 +01:00
Richard Hughes
a9adbf5d22 ebitdo: 8bitdo has started using a new VID 2017-06-05 08:46:50 +01:00
Richard Hughes
b8f8db2082 Add support for Microsoft HardwareIDs
This commit provides a new "hwids" subcommand for fwupdmgr that shows the
hardware GUIDs on the local system. It also provides API that plugins can use
to self-disable when a specific HWID does not match.

The GUIDs used in this implementation match that of ComputerHardwareIds.exe
2017-06-04 19:46:36 +01:00
Richard Hughes
f29a6eeb2c trivial: Modernize the daemon private data cleanup 2017-06-02 20:14:14 +01:00
Richard Hughes
0b57806b68 Use the correct user and password for the firmware download 2017-06-02 13:19:08 +01:00
Richard Hughes
90bcd058f0 Return the remote ID when getting updates about hardware 2017-06-02 13:19:08 +01:00
Richard Hughes
d4bdfd6883 Do not copy the origin from the new metadata file
If the system has multiple remotes enabled then simply setting the origin to
the 'last-updated' source is confusing.
2017-06-02 13:19:08 +01:00
Richard Hughes
1b50d960f2 Send the daemon the remote ID when sending updated firmware metadata
This allows us to 'tag' the components with the correct remote ID value, which
then means we can tell where the firmware information has come from when saving
a composite store. It also allows us use the correct username and password in
the future when downloading the firmware blob itself.

Keep the old D-Bus method around to preserve API for existing clients.
2017-06-02 13:19:05 +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
5408985aef trivial: Fix up the example spec file 2017-06-01 10:50:09 +01:00
Eric Koegel
23603f0452 Add support for ConsoleKit2
Make systemd and ConsoleKit support an optional compile time flag
with both enabled by default. If both are used, the ifdef/elif will
ensure only the systemd calls are used so there's no conflict.
2017-06-01 09:00:16 +01:00
Chris Mayo
f358837685 Make documentation and man pages optional
Reduce the minimum build-time dependencies.
2017-05-31 20:00:59 +01:00
Richard Hughes
35579c3183 unifying: Do not expect a reply when issuing a REBOOT command
Although the device does send a response, in some cases the Linux USB stack
processes the disconnect before the reply is processed.

Resolves: https://github.com/hughsie/fwupd/issues/122
2017-05-31 16:44:21 +01:00
Richard Hughes
5bba7caa4d unifying: Remove the indirection to lu_device_send_request()
It's only called by one static user, and it is much simpler this way.
2017-05-31 16:40:54 +01:00
Richard Hughes
2ff985e04b unifying: Allow calling lu_device_close() multiple times without an error 2017-05-31 16:36:00 +01:00