Richard Hughes
a61bb37881
Build the quirk files into the daemon as a GResource
...
Interestingly, this increases the `fwupd` binary size by ~30kb but
reduces the installed size of /usr/share/fwupd/quirks.d by ~330kb.
2022-06-30 18:52:24 +01:00
Richard Hughes
0491b07a93
Make the FuFirmware->parse() vfunc more helpful
...
This removes the 100% unused addr_end parameter and explicitly makes
the addr_start into the start offset in more cases.
2022-06-27 15:40:11 -05:00
Richard Hughes
b8be6daf1f
trivial: Use 'priv' for plugin private data to be consistent
2022-06-26 13:57:53 -05:00
Richard Hughes
dc1730c439
trivial: Some clang-format fixups
2022-06-22 15:55:32 +01:00
Gaël PORTAY
299b42fe96
trivial: Make meson.build indentation consistent
2022-06-21 03:27:38 -04:00
Richard Hughes
fc2da47b69
Remove fu_strtoull_full()
2022-06-14 14:36:52 -05:00
Richard Hughes
4105768a01
Remove the 'common' prefix when parsing version numbers
2022-06-14 14:36:52 -05:00
Richard Hughes
3e0a4dc1c3
Be smarter and include less header files per source file
2022-06-14 14:36:52 -05:00
Richard Hughes
067d7d8088
Split out the path helpers to a new source file
2022-06-14 14:36:52 -05:00
Richard Hughes
7f86ffab6f
Split out the dump helpers to a new source file
2022-06-14 14:36:52 -05:00
Richard Hughes
ed1b13da28
Split out the memory helpers to a new source file
2022-06-14 14:36:52 -05:00
Richard Hughes
4b1313b406
Split out the GByte helpers to a new source file
2022-06-14 14:36:52 -05:00
Richard Hughes
9d33c29e92
Split out the string helpers to a new source file
2022-06-14 14:36:52 -05:00
Richard Hughes
619677fc3f
redfish: Also reconnect the network during BMC re-coldplug
2022-06-10 13:15:08 +01:00
Richard Hughes
b75553cb49
redfish: Be more helpful when debugging connection failures
2022-06-10 13:15:08 +01:00
Richard Hughes
09f9ea7d06
redfish: Autoconnect the Redfish network device when rebooting the BMC
2022-06-10 11:09:26 +01:00
Richard Hughes
0c8079b13c
redfish: Never manually modprobe ipmi-devintf
...
This produces startup failures on images that do not ship that exact
module, e.g. guest-images.
Just rely on the kernel driver to be auto-loaded when required.
Fixes https://github.com/fwupd/fwupd/issues/4550
2022-06-06 08:20:21 -05:00
Richard Hughes
e6b487e762
Add FuProgress to ->startup() and ->coldplug()
...
This allows us to profile the daemon startup so we can find any plugins
taking an inordinate amount of time to start.
2022-06-04 20:21:50 +01:00
Richard Hughes
dc91d59f8e
Remove the recently added fu_progress_add_step_full()
...
Just break API instead.
2022-06-03 13:47:11 -05:00
Richard Hughes
0cbcac93cd
Rename fu_udev_device_ioctl_full() as we broke ABI
2022-06-03 13:47:11 -05:00
Richard Hughes
5ef0ae182d
Add a 'name' attribute to each FuProgress step
...
This allows us to print better warning strings, and in the future
would allow us to profile each operation in a meaningful way.
Also, add context to some of the progress steps as required.
2022-06-01 15:05:43 +01:00
Richard Hughes
4925fc3ba2
redfish: Fix a tiny leak when making requests
2022-05-27 11:59:28 +01:00
Richard Hughes
cc10990628
redfish: Fix a memory leak when running coldplug multiple times
2022-05-27 11:59:28 +01:00
Richard Hughes
54a1ef4642
redfish: Do not show a warning when there is no post delay
2022-05-26 11:55:32 +01:00
Richard Hughes
15a0288141
redfish: Don't reboot the BMC for all updates
...
The WILDCARD_TARGETS private flag had the same value as MANAGER_RESET...
2022-05-26 11:55:32 +01:00
Richard Hughes
0ad49b444e
redfish: Be more resilient when restarting the BMC
2022-05-24 14:45:56 +01:00
Richard Hughes
317887cf85
redfish: Do not print unhelpful coldplug text
2022-05-24 14:45:56 +01:00
Richard Hughes
353a772e1a
redfish: Use the correct key name for BMC reboot
2022-05-24 13:01:12 +01:00
Richard Hughes
d3d7cfa816
Add plugin quirk keys earlier in the startup process
...
This allows creating the silo when starting the engine with custom
plugin keys such as WacomI2cFlashBaseAddr.
If we move the plugin initialization earlier then we don't get the
HwID matches, so we really do have to split this into a 4-stage startup,
e.g. ->load(), ->init(), ->startup() and ->coldplug().
2022-05-09 11:13:52 +01:00
Richard Hughes
5aefc520b6
redfish: Poll less frequently during cleanup
...
The BMC can take more than 30 minutes to start (!) if lots of devices
are installed.
2022-05-09 11:00:18 +01:00
Richard Hughes
e90367d854
redfish: hardcode the filedata name to firmware.bin
...
Unbelievably, using a filename with spaces causes Lenovo XCC to return a message
with InternalError, 'The request failed due to an internal service error.
The service is still operational.'
As we're using a multipart update rather than a legacy HttpPushUriTargetsBusy
PATCHing, hardcoding should be quite safe.
2022-05-09 11:00:18 +01:00
Richard Hughes
fb93b6c51c
redfish: Do not mark all updates as UPDATABLE
2022-05-09 11:00:18 +01:00
Richard Hughes
5ebcfa909c
redfish: Use actual FuProgress steps for ->cleanup()
2022-05-09 11:00:18 +01:00
Richard Hughes
b7bf0a7611
Do not fallback to audio-card
...
Let the frontend choose the most appropriate icon if unspecified.
2022-04-25 14:49:30 +01:00
Richard Hughes
81fbff8445
redfish: Restart the BMC after installing BCM updates
2022-04-19 20:24:59 +01:00
Richard Hughes
a374254d74
redfish: Drop the cache when invalidated
2022-04-15 16:49:48 +01:00
Richard Hughes
08a3fd8b65
redfish: Fix a memory leak when calling ->setup() more than once
2022-04-15 16:49:48 +01:00
Richard Hughes
064cb648c1
redfish: Allow specifying the request type
2022-04-15 07:43:09 +01:00
Richard Hughes
f8f5cd1f25
redfish: Don't add a device to itself when replugging
2022-04-14 13:06:21 +01:00
Richard Hughes
3b0d1a6c6b
trivial: Ignore the return value of curl_easy_setopt() in most cases
...
This makes Coverity happy.
2022-04-13 15:08:12 +01:00
Richard Hughes
0b7af7d54b
trivial: Ignore the return value of setenv() in most cases
...
This makes Coverity happy.
2022-04-13 15:08:12 +01:00
Richard Hughes
200302bbc6
redfish: Remove some logically dead code
2022-04-13 15:08:12 +01:00
Richard Hughes
a11fefff35
redfish: Don't add the backup BMC device as it shares the same GUIDs
...
This fixes the problem when the UEFI update depends on a specific BMC
version -- including the backup BMC device means we checking that both
the primary and the backup were above a specific version.
I don't think it's ever useful to show the backup BMC device, so just
don't include it as an enumerated device.
Fixes https://github.com/fwupd/fwupd/issues/4404
2022-03-18 11:03:14 +00:00
Richard Hughes
c4ca026294
Allow devices to build instance IDs more easily
...
Provide a device instance builder that allows plugins to easily
create multiple instance IDs based on parent attributes.
Also fix a lot of the instance ID orders, so that we add more generic
IDs first, and more specific IDs after.
2022-03-03 09:13:29 +00:00
Mario Limonciello
5bc5462213
trivial: redfish: use the configured prefix to determine if it's an installed test
...
fixes : #3880
2022-02-28 13:36:49 -06:00
Mario Limonciello
661990ed98
Convert build system to use meson tristate features
...
tristate features will automatically disable if dependencies marked
as required are missing.
Packagers can manually override using `auto_features`.
Link: https://mesonbuild.com/Build-options.html#features
2022-02-28 08:34:48 -06:00
Richard Hughes
f3a13f89dd
Allow specifing the DeviceIntegrity flag from metadata
2022-02-22 19:12:06 +00:00
Richard Hughes
f3d71a18a5
redfish: Be more robust by retrying IPMI transactions
...
This fixes creating users when the BMC is otherwise busy.
2022-02-01 16:18:28 +00:00
Richard Hughes
fba2fd62f2
redfish: Add error codes not provided in ipmi_msgdefs.h
2022-02-01 16:18:28 +00:00
Richard Hughes
de874c7d8e
redfish: Wait some time after creating the initial IPMI user
...
It would appear that in reality a delay is required for them to sync state.
2022-02-01 16:18:28 +00:00