Commit Graph

6279 Commits

Author SHA1 Message Date
Sean Rhodes
5d4e70e9cc
plugins/superio: Fix detection of IT5570 for StarBook Mk V (#3747) 2021-09-14 10:41:24 +01:00
Richard Hughes
d8d26e1f97 superio: Make the ports and timeouts specific to the DMI model
The chipset doesn't define the port like I guessed, as Tuxedo and Star
Labs both want to use a 0x5570 with different values.
2021-09-13 17:42:32 +01:00
Richard Hughes
9ed7eac949 trivial: Add translations for more device categories 2021-09-13 15:08:32 +01:00
Richard Hughes
9a2a4a211a synaptics-cxaudio: Use accurate FuProgress steps 2021-09-13 14:28:15 +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
Sean Rhodes
f959b198d2 plugins/flashrom: Fix logic in reset cmos
ioperm returns -1 for an error and 0 for success
2021-09-13 12:09:37 +01:00
Ricardo Cañuelo
15a39b94ee logitech-hidpp: Add support for updating Bolt peripheral firmware
Also simplify the Instance IDs added by the Bolt hardware.
2021-09-13 11:28:55 +01:00
Sean Rhodes
8cc158bda4 plugins/flashrom: Add reset-cmos flag to Star Labs laptops 2021-09-11 07:47:14 -05:00
Richard Hughes
30ee6064f9 trivial: Fix a small memory leak when processing recommends 2021-09-10 21:12:53 +01:00
Richard Hughes
2bcb19ac4b trivial: Fix a small memory leak in the self tests 2021-09-10 21:12:53 +01:00
Richard Hughes
8a9aea267c wacom-usb: Abort on invalid SREC files early to avoid a fuzzing timeout
Half a million new-lines was taking a long time to parse.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38381
2021-09-10 18:56:02 +01:00
Sean Rhodes
af9d9b3ffd plugins/flashrom: Add private flag to reset CMOS
Reset the CMOS based on a private flag. Tested on coreboot using an
offset of 123. Required when a CMOS layout or default option has
changed as the resulting flash will have 0's for the modified option.
2021-09-10 16:25:32 +01:00
Richard Hughes
b3824c94fa Fix a regression in flashing the Dell dock
This fixes a regression caused by 15b668c, we should have been more careful.

Fixes https://github.com/fwupd/fwupd/issues/3732
2021-09-10 15:50:52 +01:00
Richard Hughes
9e32b7325a trivial: Do not use deprecated GLib API 2021-09-10 15:02:46 +01:00
Sean Rhodes
bcf6253134 plguins/flashrom: Add GUID for StarBook coreboot 2021-09-09 22:31:56 +01:00
Sean Rhodes
33e850dea5 plugins/{superio,flashrom}: Add GUIDs for StarBook Mk V 2021-09-09 14:26:36 -05:00
Richard Hughes
75eae41a86 dell-dock: Use the correct data file for the device test 2021-09-09 17:59:20 +01:00
Richard Hughes
75221f2e07 cxaudio: Use the correct data file for the device test 2021-09-09 17:59:20 +01:00
Richard Hughes
83962339ba trivial: Do not update the progressbar title for the device child 2021-09-08 18:51:30 +01:00
Richard Hughes
3489b43700 wacom-usb: Also set the context for FuWacModuleTouch 2021-09-08 15:49:19 +01:00
Richard Hughes
8b47bbeb09 trivial: Allow setting the FuDevice context in a constructor
This allows devices to add instance IDs in object_class->constructed,
e.g. FuWacModule.
2021-09-08 15:49:19 +01:00
Richard Hughes
39e45920b6 trivial: Disconnect all handlers, including the generic one 2021-09-08 14:10:58 +01:00
Richard Hughes
0a81e22777 trivial: Set the context on FuWacModuleBluetooth 2021-09-08 12:08:33 +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
1210aa4ae7 redfish: Create user accounts automatically using IPMI
This allows the Redfish plugin to "just work" when there is no username
or password in the SMBIOS data. Using KCS we can create an admin account
from the host OS and then automatically enumerate devices.
2021-09-07 17:25:37 +01:00
Richard Hughes
fb3f869810 redfish: Refactor the PATCH modify code 2021-09-07 17:25:37 +01:00
Richard Hughes
33a24c77b7 trivial: Add fu_plugin_set_config_value() for future usage 2021-09-07 17:25:37 +01:00
Richard Hughes
1a6414c41f trivial: Allow NULL GError for fu_device_locker_new()
It's correctly specified in the docs as 'nullable'.
2021-09-07 17:25:37 +01:00
Crag Wang
b81604f6c1 trivial: system firmware may primarily use sha256 bank instead sha1 2021-09-07 16:11:49 +08:00
Richard Hughes
fa64f8fd30 trivial: Fix a tiny memory leak for an invalid SREC file
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38196
2021-09-06 21:35:06 +01:00
Richard Hughes
9c6f676656 Actually check for parse errors when using fu_firmware_strparse_uintX_safe
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38141
2021-09-05 15:46:00 +01:00
Richard Hughes
cf34c8f1dd wacom-usb: Ignore invalid SREC commands to fail invalid files early 2021-09-05 15:46:00 +01:00
Richard Hughes
8a47ded53c Remove the hardcoded legacy runtime requirements
No active firmware on the LVFS depends on either.
2021-09-05 15:45:13 +01:00
Richard Hughes
63b52e9bf3 trivial: Add two missing properties in the JSON output 2021-09-04 13:53:12 +01:00
Richard Hughes
f56878ff88 Allow adding GUIDs to each HSI security attr
This indicates the GUID in some way contributed to the result decided.

It also allows us to match the submitted HSI results back to a firmware
stream on the LVFS, which allows us to allow vendors to see a subset of
results for uploaded devices.
2021-09-03 22:03:28 +01:00
Richard Hughes
841adff03d trivial: Add --json to fwupdtool and use for HSI attrs 2021-09-03 22:03:28 +01:00
Richard Hughes
11bcf2677c synaptics-mst: Only probe devices that have opted-in
Fixes https://github.com/fwupd/fwupd/issues/3701
2021-09-03 21:14:37 +01:00
Richard Hughes
d4fb04d6fc Allow overriding the quirks directory at runtime 2021-09-03 21:14:37 +01:00
Mario Limonciello
113c784ce4 trivial: run Ubuntu CI target tests with "nobody" user account
This should ensure that self tests are never trying to access or
create things they shouldn't be.
2021-09-03 15:10:38 -05:00
Mario Limonciello
41c00ff404 trivial: libfwupdplugin: make the self tests not overwrite source folders 2021-09-03 15:10:38 -05:00
Mario Limonciello
65a7f87358 trivial: libfwupdplugin: remove unused PLUGINBUILDDIR 2021-09-03 15:10:38 -05:00
Mario Limonciello
946cfd63ac trivial: synaptics-mst: make self tests not write
The self tests shouldn't be writing the source directory, make sure
they open up files in read-only mode.
2021-09-03 15:10:38 -05:00
Mario Limonciello
c62da839d5 trivial: platform-integrity: remove an unused variable 2021-09-03 15:10:38 -05:00
Mario Limonciello
0b7c0691e8 trivial: fix nvme and ata self tests failing in buildd
The buildds can't write to /var/cache/fwupd, and for that matter
fwupd shouldn't be writing during tests anyway.
2021-09-03 15:10:38 -05:00
Richard Hughes
48e42dce56 Use the same JSON schema in the database as the upload
I mistakenly told Kate there was no existing format, but of course
there is, and it makes sense for the formats to be the same.
2021-09-03 19:47:47 +01:00
Richard Hughes
504e8db1a0 uefi-capsule: Add the apply method to the uploaded report
We want to be able to differenciate failures for a specific update
method, e.g. finding if should be enabling CoD by default or not.
2021-09-03 13:11:17 -05:00
Mario Limonciello
14dab4da6d trivial: Disable FreeBSD CI again
It's failing again due to non-obvious linker errors outside of the
fwupd code.

```
/usr/sbin/dtrace -G  -o tclDTrace.o -s /usr/ports/lang/tcl86/work/tcl8.6.11/generic/tclDTrace.d regcomp.o regexec.o regfree.o regerror.o tclAlloc.o  tclAssembly.o tclAsync.o tclBasic.o tclBinary.o tclCkalloc.o  tclClock.o tclCmdAH.o tclCmdIL.o tclCmdMZ.o  tclCompCmds.o tclCompCmdsGR.o tclCompCmdsSZ.o tclCompExpr.o  tclCompile.o tclConfig.o tclDate.o tclDictObj.o tclDisassemble.o  tclEncoding.o tclEnsemble.o  tclEnv.o tclEvent.o tclExecute.o tclFCmd.o tclFileName.o tclGet.o  tclHash.o tclHistory.o tclIndexObj.o tclInterp.o tclIO.o tclIOCmd.o  tclIORChan.o tclIORTrans.o tclIOGT.o tclIOSock.o tclIOUtil.o  tclLink.o tclListObj.o  tclLiteral.o tclLoad.o tclMain.o tclNamesp.o tclNotify.o  tclObj.o tclOptimize.o tclPanic.o tclParse.o tclPathObj.o tclPipe.o  tclPkg.o tclPkgConfig.o tclPosixStr.o  tclPreserve.o tclProc.o tclRegexp.o  tclResolve.o tclResult.o tclScan.o tclStringObj.o  tclStrToD.o tclThread.o  tclThreadAlloc.o tclThreadJoin.o tclThreadStorage.o tclStubInit.o  tclTimer.o tclTrace.o tclUtf.o tclUtil.o tclVar.o tclZlib.o  tclTomMathInterface.o tclUnixChan.o tclUnixEvent.o tclUnixFCmd.o  tclUnixFile.o tclUnixPipe.o tclUnixSock.o  tclUnixTime.o tclUnixInit.o tclUnixThrd.o  tclUnixCompat.o tclUnixNotfy.o   tclOO.o tclOOBasic.o tclOOCall.o tclOODefineCmds.o tclOOInfo.o  tclOOMethod.o tclOOStubInit.o tclLoadDl.o
dtrace: failed to link script /usr/ports/lang/tcl86/work/tcl8.6.11/generic/tclDTrace.d: an error was encountered while processing tclDictObj.o
*** [tclDTrace.o] Error code 1
```
2021-09-03 13:09:09 -05:00
Sean Rhodes
42136840bd contri/ci: Add dependancies for flashrom
Add libpci-dev for Ubuntu and Debian as it's required for flashrom
2021-09-03 12:49:57 -05:00
Sean Rhodes
2e856d21e0 plugins/flashrom: Only backup BIOS region
As we are only writing to the BIOS region, we only need to backup the BIOS
region. The will avoid the error "failed to back up original firmware" if
regions such as the ME can't be read.
2021-09-03 12:04:20 +01:00
Kate Hsuan
db04223167 fu_history: fu_security_attr: Convert secutiry attr to json and write to DB.
1. Create hsi_history table to store the security attributes.
2. Convert all security entities to a json string and write to database.

Signed-off-by: Kate Hsuan <hpa@redhat.com>

Changes in v1:
1. Fixed typo: "his_history" to "hsi_history"
2. g_autofree all gchar pointer.
3. Removed unnecessary g_warning messages.
4. Moved the json format comment to Document comment.
5. Add an error handling for json converter.

Changes in v2:
1. Declare all pointers using g_auto_ptr.
2. The warning messages of JSON conversion and DB writing errors were added.
3. "Since: 1.7.0" was added to the document comment.

Changes in v3:
1. Fix variable declaration.
2. Remove unecessary data type casting.

Changes in v4:
1. Fix migration schema.

Changes in v5:
1. Fix hsi_history column name declaration.

Changes in v6:
Column name was modified from last to timestamp.
2021-09-03 12:03:17 +01:00