Commit Graph

15 Commits

Author SHA1 Message Date
Richard Hughes
0c51630991 Check firmware magic in a more standard way
Some parsers are ignoring the magic when using _FLAG_IGNORE_CHECKSUM
(which is wrong; fuzzers have no problem with enforcing a static prefix)
and other either disregard the offset or check the magic in an unsafe
way. Also, use FWUPD_ERROR_INVALID_FILE consistently for magic failure.

Add a vfunc, and move all the clever code into one place.
2022-07-14 14:48:15 +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
425fedcca1 trivial: Remove fu_byte_array_set_size_full() 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
9d33c29e92 Split out the string helpers to a new source file 2022-06-14 14:36:52 -05:00
Richard Hughes
3fe9c0de34 Split out the CRC and sum functions to new source files 2022-06-14 14:36:52 -05:00
Richard Hughes
d32bbb0084 genesys: Remove unused variable 2022-04-23 10:28:16 +01:00
Gaël PORTAY
cd6677ac01 genesys: Add support for detecting GL3521 2022-04-05 14:00:32 +01:00
adamgene
2868c924bc genesys: usbhub: Unsupport without tool string
1. Legacy device unsupported.
2. add fu_genesys_tsdigit_value() to convert ts corretly.
3. delete wrong checking tool_string_version in 0xff.
2022-03-31 08:57:51 +01:00
adamgene
852b94bbe1 genesys: usbhub: Read firmware size from blob
This fixes the firmware size of for the GL3590 chips.
2022-03-31 08:57:51 +01:00
Gaël PORTAY
859a1e2f42 genesys: usbhub: Decrease hardcoded constants
This adds new defines to decrease the use of hardcoded constant in the
code.
2022-03-23 21:45:58 +00:00
Gaël PORTAY
13ad6125a4 genesys: usbhub: Move some code to common
This moves some code to common and reuses a constant to decrease
hardcoded constants.
2022-03-23 21:45:58 +00:00
Gaël PORTAY
737443d73c genesys: usbhub: Fix firmware size for GL3590 hubs 2022-03-23 21:45:58 +00:00
Gaël PORTAY
be4e3fffdc genesys: usbhub: Identify HP usbhub using its public-key
The HP M2xfd monitors use GenesysLogic GL3523 USB Hub and provides their
own firmwares. Furthermore, HP uses the same VID/PID for other USB Hubs
products, with a different public-key; the HP M24fd and M27fd use
different public-key.

This appends the public-key to the instance-id string to make the
distinction between all the HP USB Hubs, and prevents to install a
firmware with the wrong public-key.
2022-03-23 20:46:39 +00:00
Ricardo Cañuelo
9466e778f5 Add a new plugin to handle HP M2xfd monitors
Added support for genesys logic devices.
2022-02-21 08:30:43 +00:00