Richard Hughes
7d7a2d3227
trivial: Fix a crash with corrupt firmware files
2015-07-01 11:46:23 +01:00
Richard Hughes
c15cd320b6
Fix Intel VBIOS detection on Dell hardware
...
Many thanks to Gerben Welter for reporting the problem.
2015-06-30 20:54:05 +01:00
Thomas Hindoe Paaboel Andersen
7fca610d67
Do not return NULL as a gboolean
2015-06-30 21:00:56 +02:00
Thomas Hindoe Paaboel Andersen
80b85676bb
remove unused variables
2015-06-30 20:47:15 +02:00
Jussi Kukkonen
ebfbad71e3
build: gusb is required even without colorhug
...
Fix build failure when building with --disable-colorhug.
2015-06-30 19:45:31 +03:00
Richard Hughes
174211b979
Provide a way to dump the option ROM using the command line
...
This allows someone to do:
$ find /sys/devices -name rom -exec sudo fwupdmgr dump-rom {} \;
...and get a nice summary of the option roms installed.
2015-06-30 15:40:46 +01:00
Richard Hughes
ac32a2a232
trivial: Fix a crash if the rom filename is invalid
2015-06-30 15:36:36 +01:00
Richard Hughes
ffd5fdf7f2
Get the version number out from Intel VBIOS too
2015-06-30 15:12:28 +01:00
Richard Hughes
4b41e737b1
Make the ROM parsing more robust and add self tests
...
This code can now parse 99.6% of all the user-submitted firmwares from the
http://www.techpowerup.com/vgabios/ database.
2015-06-30 14:00:31 +01:00
Richard Hughes
a043c2e376
Add a 'verify' command that verifies the cryptographic hash of device firmware
...
Goes some way towards fixing https://github.com/hughsie/fwupd/issues/15
2015-06-29 12:53:01 +01:00
Richard Hughes
a1e5d86d20
Extract the version string from the ROM in PCI devices
2015-06-29 12:53:01 +01:00
Richard Hughes
ebb58a3495
Add a Udev firmware provider
...
This allows us to support showing firmware updates for VIA USB hubs
2015-06-29 12:53:01 +01:00
Richard Hughes
ae0efdc5a7
Provide a way for clients to add new firmware metadata to the system cache
...
This is only possible if the metadata has been signed by a key that we trust.
2015-06-25 09:59:53 +01:00
Richard Hughes
f0d6c86df2
trivial: Print the command message even for internal error
2015-05-21 13:42:10 +01:00
Richard Hughes
d7dba98e68
Move boolean properties on the device to a set of flags
...
This is much less boilerplate and allows us to expand in the future.
2015-05-05 16:02:20 +01:00
Richard Hughes
c89c1b0e9b
Support OpenHardware devices using the fwupd vendor extensions
...
We won't be able to update these devices ourself, but we can detect if there
are updates available.
2015-05-05 15:22:00 +01:00
Richard Hughes
3b0be1b8bb
Get the firmware version from the device descriptors
...
Not claiming the interface means we can avoid blocking other applications just
to get the current firmware version.
See https://blogs.gnome.org/hughsie/2015/04/29/updating-openhardware-firmware-2/
for more details about what is required from firmware.
2015-04-29 16:37:49 +01:00
Richard Hughes
d8a02bfeeb
Run the offline actions using systemd when required
2015-04-25 17:14:20 +01:00
Richard Hughes
fd4688408d
Coldplug the devices before acquiring the well known name
...
This prevents getting no added devices when 'fwupdmgr get-devices' autostarts
the fwupd process.
2015-04-22 16:44:10 +01:00
Richard Hughes
adb7a5e29b
Extract the .cat file alongside the firmware
2015-04-16 12:02:37 +01:00
Richard Hughes
63bbbf544f
Only allow signed firmware to be upgraded without a password
...
This does not affect UEFI capsule updates as the signing is checked by the
machine itself. We don't know anything about the trust level at all because
NIST SP800-147 pretty much says we're not allowed to.
For BIOS or ColorHug updates however we really do need to request authentication
before downgrading or installing non-signed code.
At the moment only the Hughski Limited key is trusted for firmware, although I
hope in the future we can also include Red Hat, Microsoft, Intel, AMD and other
hardware vendors in that list too.
Fixes: https://github.com/hughsie/fwupd/issues/5
2015-04-14 16:19:39 +01:00
Richard Hughes
d8fa049693
Show the firmware trust status when doing GetDetails()
2015-04-14 15:57:08 +01:00
Richard Hughes
8a08f9d8f3
Verify firmware if a detached signature is present
2015-04-14 15:41:44 +01:00
Richard Hughes
683b0e0def
Decompress any firmware signatures in the .cab file
2015-04-14 15:08:24 +01:00
Richard Hughes
36a889034c
Add helper code to validate public key signatures
...
We'll use this in the future for checking device firmware.
2015-04-14 13:53:19 +01:00
Richard Hughes
8ccb1af4fe
trivial: Use the ALS firmware with signed payload
2015-04-14 13:44:35 +01:00
Richard Hughes
d34d7d9643
trivial: Fix a tiny compile warning
2015-04-08 19:47:41 +01:00
Richard Hughes
8818151196
Export the status as an enumerated value rather than a string
2015-03-19 10:57:44 +00:00
Richard Hughes
f910ac9541
trivial: Also export the status enum codes
2015-03-19 10:54:06 +00:00
Richard Hughes
8645ec9ad5
Create a libfwupd shared library
2015-03-19 10:54:05 +00:00
Richard Hughes
d3c0a70b37
Create runtime directories if they do not exist
2015-03-19 10:31:23 +00:00
Richard Hughes
0e883ee815
Add and document the offline-update lifecycle
...
Also allow providers to override getting and clearing the last update status.
2015-03-19 10:31:23 +00:00
Richard Hughes
871e017bdb
Add a 'get-updates' command to fwupdmgr
...
This matches the devices from the AppStream metadata and displays new releases.
2015-03-17 21:00:21 +00:00
Richard Hughes
9a38c03fe2
Do not crash when there are no devices to return
2015-03-17 20:58:46 +00:00
Richard Hughes
7c3485bc1b
trivial: Make a translated string a little clearer
2015-03-17 07:56:31 +00:00
Richard Hughes
8ded6ca0f1
trivial: Mark some more strings as translatable
...
Also fix up some translator comments.
2015-03-16 12:51:43 +00:00
Richard Hughes
310419856b
trivial: Add some files ready for a first release
2015-03-16 12:51:04 +00:00
Richard Hughes
31ddb97066
trivial: Relax the BRs so we can build in Fedora 22
2015-03-16 11:38:03 +00:00
Richard Hughes
bbac6d7932
Return some more fields when returning data about firmware files
2015-03-12 11:41:20 +00:00
Richard Hughes
8152e208d5
Use the metainfo.xml in the .cab file when it's available
2015-03-11 22:01:47 +00:00
Richard Hughes
45255952b7
Use efibootmgr to automatically boot the UEFI firmware update process
2015-03-11 21:34:40 +00:00
Richard Hughes
28cf0a8d1b
trivial: Fix crash when installing UEFI firmware
2015-03-11 20:33:11 +00:00
Richard Hughes
d7022b50e6
Emit ::Changed() when devices are added or removed
...
This allows clients to reget any available updates.
2015-03-11 19:47:08 +00:00
Richard Hughes
1e59872733
Port to the new fwupdate API
2015-03-10 17:32:20 +00:00
Richard Hughes
3bf9480d34
Parse the firmware name when exploding the cab file
2015-03-10 15:57:30 +00:00
Richard Hughes
dd2c776c0a
trivial: Fix the ColorHug display names
2015-03-10 09:48:00 +00:00
Richard Hughes
773ce988e8
Add a 'Status' property which is updated when the daemon is active
2015-03-09 22:43:25 +00:00
Richard Hughes
a8e8394b70
Do not require the root password to update removable devices
2015-03-09 22:43:25 +00:00
Richard Hughes
184232918d
Do not require authentication to update devices when the root user
2015-03-09 22:43:25 +00:00
Richard Hughes
cccc775b60
Add a method to get details about a firmware file
2015-03-09 11:04:32 +00:00
Richard Hughes
d079b1a6ca
Allow installing firmware without a specified device ID
2015-03-06 10:09:55 +00:00
Richard Hughes
18e7591104
Use fwup.h to actually implement the UEFI update
2015-03-05 13:56:56 +00:00
Richard Hughes
6af9e50c7d
Delete the pending firmware file after it has been used
2015-03-05 13:56:56 +00:00
Richard Hughes
003e4bf9b7
Check the firmware is valid for the device before applying
2015-03-05 13:38:39 +00:00
Richard Hughes
3c99ba4d3c
Make both the ColorHug and UEFI support optional
2015-03-05 12:17:48 +00:00
Richard Hughes
412034adaa
Add actual error codes for failure
2015-03-05 11:30:58 +00:00
Richard Hughes
d1e823ccbf
Allow scheduling updates for later
...
Also add a update-prepared command to fwupdmgr to process the defered updates.
In the future we'll hook into the systemd early-boot code for this.
2015-03-05 11:15:36 +00:00
Richard Hughes
9849d2bb61
Register the local error codes with D-Bus to return a nice error message
2015-03-04 22:30:12 +00:00
Richard Hughes
d3d0165259
trivial: Strip the D-Bus error before showing to the user
2015-03-04 22:30:12 +00:00
Richard Hughes
1b5ea3517d
Add an OnlyOffline property for devices that cannot do online updates
2015-03-04 22:30:12 +00:00
Richard Hughes
e7c1264f3b
Add a --force option to fwupdmgr to allow installing old firmware
2015-03-04 22:30:12 +00:00
Richard Hughes
def3175655
Compare the specified and installed firmare versions
2015-03-04 19:26:54 +00:00
Richard Hughes
a2288a3fce
trivial: Fix build after the ColorHug rename
2015-03-04 18:45:15 +00:00
Richard Hughes
72dff812c0
Add initial ColorHug support
...
This may be useful; more people have ColorHug devices than UEFI firmware that
supports system capsule updates.
2015-03-03 15:13:27 +00:00
Richard Hughes
81e8d799f7
trivial: Pad out the properties when doing GetDevices
2015-03-03 15:11:22 +00:00
Richard Hughes
67ec898265
Extract the .cab file and parse the .inf file
2015-03-03 11:41:01 +00:00
Richard Hughes
1ffde6cd72
Return the device properties when calling GetDevices()
...
This allows us to discover a version number, and other things.
2015-03-02 22:44:58 +00:00
Richard Hughes
74cc217f9d
Support online updates
...
This doesn't make sense for UEFI firmware, but allows us to support other
future usecases.
2015-03-01 20:33:54 +00:00
Richard Hughes
f508e76a7a
Use PolicyKit to check the authorisation of the firmware update
2015-02-27 12:49:36 +00:00
Richard Hughes
8bbfdf49a8
Flesh out the provider interface and allow offline updates
2015-02-27 08:29:13 +00:00
Richard Hughes
8dbfb1c478
Add initial build files and enough code to launch a simple D-Bus daemon
2015-02-26 18:16:40 +00:00