Richard Hughes
10e8f0559b
Always search for uSWID data in the image
2023-01-06 14:23:13 +00:00
Richard Hughes
fb764b5187
trivial: Support writing compressed uSWID payloads
2022-10-07 14:52:31 +01:00
Richard Hughes
2fef67db3b
trivial: Fix writing uSWIDv2 payloads
...
The optional flags come last in the header.
2022-10-07 14:52:31 +01:00
Richard Hughes
a01379f835
trivial: Use fu_strtobool() to parse the uSWID compressed attr
2022-10-07 14:52:31 +01:00
Richard Hughes
c43b981d63
Fix parsing uSWID uncompressed metadata
...
The magic offset is not required as we're working on a pre-offset GBytes.
2022-09-07 16:02:27 +01:00
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
3236682a71
Allow decoding linear firmware with 'fwupdtool firmware-parse'
...
We cannot enable this for all formats as some firmware images have junk
data or are aligned in a specific way. Only do this when we know it is
safe.
2022-06-28 10:09:58 +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
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
c6581fb7a6
Split out the GByteArray helpers to a new source file
2022-06-14 14:36:52 -05:00
Richard Hughes
519110b70e
Support firmware with uSWID header version 2
...
This allows multiple coSWID objects to be saved into a uSWID firmware,
and adds support for Zlib compressed payloads.
2022-04-18 17:48:52 +01:00
Richard Hughes
92515d193a
Add coSWID and uSWID parsers to libfwupdplugin
...
These parse the structures as defined in:
* https://datatracker.ietf.org/doc/draft-ietf-sacm-coswid/
* https://github.com/hughsie/python-uswid
2022-03-15 14:37:02 +00:00