Commit Graph

95 Commits

Author SHA1 Message Date
Richard Hughes
c2592a4aa2 trivial: Update the fuzzing doc
We can use --force to ignore the CRC warnings.
2016-08-26 17:32:52 +01:00
Richard Hughes
e9b53e7d09 trivial: Don't fallback to RAW if DFU probing fails 2016-08-26 10:20:38 +01:00
Richard Hughes
e24963d055 trivial: Parse the 0xfe IHEX record to avoid failing
This looks like debug data, and isn't important to the exported DfuImage.
2016-08-26 07:39:56 +01:00
Richard Hughes
f37f5a62a2 trivial: Fix up a const warning 2016-08-26 07:38:37 +01:00
Richard Hughes
de327ffefd trivial: Print the serial number in the dfu-tool list output 2016-08-24 10:06:48 +01:00
Richard Hughes
4092831e3b trivial: Print more details when the metadata table is corrupt 2016-08-24 10:05:30 +01:00
Richard Hughes
c0804c5bfb trivial: Print the device name in the dfu-tool list output 2016-08-24 10:05:01 +01:00
Richard Hughes
3ae417b960 Add a set-address command to dfu-util
This allows us to set the start address of DfuSe elements.
2016-08-23 09:55:39 +01:00
Richard Hughes
e02eaf27ab trivial: Allow setting a firmware release of '0' 2016-08-23 09:54:37 +01:00
Richard Hughes
e183bb9e81 trivial: Add DFU_CIPHER_KIND_DEVO 2016-08-23 09:53:39 +01:00
Richard Hughes
5e4cc87d6c Support the 'DEVO' cipher kind in libdfu
This is not really a cipher, more just obfuscation and is specific to the
Walkera Devo line of RC controllers. Many thanks to Mike Meyer for the help.
2016-08-23 09:28:10 +01:00
Richard Hughes
abe1de75ec trivial: Split out the XTEA cipher to a new file 2016-08-23 08:59:02 +01:00
Richard Hughes
f854e6eb80 Add a set-target-size command to dfu-tool
This allows us to specify the padding byte value and makes the convert command
easier to understand.
2016-08-23 08:35:55 +01:00
Richard Hughes
381e52c3b7 trivial: Fix a crash when parsing IHEX files 2016-08-22 12:44:12 +01:00
Richard Hughes
1d69034f15 libdfu: Fix hang when parsing corrupt IHEX files
Found by the ever-helpful american fuzzy lop.
2016-08-22 11:38:34 +01:00
Richard Hughes
e1e50dc2fd Split out the DFU file formats to separate files 2016-08-17 17:46:15 +01:00
Richard Hughes
33a518a615 Add another compile warning and fix up any build failures 2016-07-27 16:57:36 +01:00
Mario Limonciello
033c4511f7 trivial: correct typographical error in dfu-target debug statements 2016-07-01 15:40:31 -05:00
Richard Hughes
ce38d94d5e trivial: Get rid of useless internal-only gtk-doc markup 2016-06-29 11:25:25 +01:00
Richard Hughes
d0583ae340 Only claim the DFU interface when required
It appears that some expensive USB sound cards do not like the DFU interface
being claimed at the same time the kernel starts using a different endpoint.

I suspect this is a device bug or limitation in some reference implementation
somewhere, but seeing as we only need the interface when verifying or writing
new firmware the sensible thing to do is not claim it until required.

Fixes: https://github.com/hughsie/fwupd/issues/50
2016-06-08 16:42:49 +01:00
Richard Hughes
16261e3f76 libdfu: Show the DFU protocol version in 'dfu-tool list' 2016-06-08 15:14:06 +01:00
Richard Hughes
10d4c84fbd libdfu: Add DfuVersion enumerated values 2016-06-08 14:58:11 +01:00
Richard Hughes
11dc9ace51 trivial: Fix up some warnings spotted by new GCC 2016-06-07 10:11:00 +01:00
Richard Hughes
903b029829 Fix big endian issues when reading and writing DFU and DfuSe files
Fixes https://github.com/hughsie/fwupd/issues/43
2016-04-03 10:46:42 +01:00
Richard Hughes
1b853eb971 Fix libdfu CRC check for big endian architectures
dfu_firmware_generate_crc32() generates a uint in the host byte order, the
proper fix is to write the checksum in LE format like the other fields.
2016-04-03 09:41:28 +01:00
Richard Hughes
540df18d97 Add dfu_image_get_element_default() 2016-04-03 09:38:23 +01:00
Mario Limonciello
54c09e9c43 Fix libdfu CRC check for big endian architectures
This is the first fix needed for #43, there are others yet.
2016-04-02 16:07:02 -05:00
Richard Hughes
cf1767c5fa Split out the libdfu-devel package
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1322589
2016-04-01 08:16:04 +01:00
Richard Hughes
bd046c8a19 libdfu: Fix up some NULL/FALSE confusion 2016-03-18 12:33:47 +00:00
Richard Hughes
b3849683b6 trivial: Remove all 'suspicious commas' 2016-03-18 12:33:47 +00:00
Richard Hughes
da9804d8be Show ignored DFU devices in dfu-util, but not in fwupd
This allows desktop software to ignore the device, but leaves the device
controllable by the dfu-tool command line client.
2016-03-07 08:47:11 +00:00
Richard Hughes
d8b6d8a1f5 Export the attribute and quirk values in libdfu 2016-03-07 08:44:14 +00:00
Richard Hughes
c9620ac61e Ignore the DFU runtime on the DW1820A 2016-03-07 08:42:12 +00:00
Richard Hughes
2fd64ecef8 trivial: Fix a method prefix to reflect reality 2016-03-07 08:21:39 +00:00
Richard Hughes
41b1f6c7c4 trivial: Fix tiny build warning with GCC6 2016-03-03 08:13:03 +00:00
Richard Hughes
46d6180f29 Correct the BCD version number for DFU 1.1
This prevents a warning about invalid version numbers for newer hardware.
I have no idea why 1.1 would be encoded as 0x0110 rather than 0x0101 but
dfu-util seems to do the same thing.
2016-03-02 09:57:38 +00:00
Richard Hughes
280745f5f0 Release fwupd 0.6.0 2015-12-07 16:20:59 +00:00
Richard Hughes
f4e8fe0763 trivial: Fix several trivial warnings on ARM 2015-12-06 17:51:10 +00:00
Richard Hughes
7774f815a7 trivial: Fix clang-spotted hard-to-hit crash in dfu-tool 2015-12-06 16:36:58 +00:00
Richard Hughes
032596e800 libdfu: Fix several reported crashes in the inhex32 import code
This also adds the ability to write simple Intel HEX files too.
2015-12-06 16:27:16 +00:00
Richard Hughes
ccc54ae972 trivial: Add some fuzzing examples for libdfu 2015-12-06 16:27:16 +00:00
Richard Hughes
564303d877 libdfu: Only enumerate the DfuContext when required
This speeds up afl fuzzing significantly.
2015-12-06 16:27:03 +00:00
Richard Hughes
7c37e55459 libdfu: Add support for the draft 'DFU Metadata Table Specification' 2015-12-04 16:01:40 +00:00
Richard Hughes
4545dd70af libdfu: Add DfuCipher which is a property on a target and a firmware file
At the moment we're not doing anything smart other than looking at the
firmware filename, but in the future we might do something better.
2015-12-04 12:58:05 +00:00
Richard Hughes
021f65e370 libdfu: Show better device errors 2015-12-04 12:26:45 +00:00
Richard Hughes
045198d643 libdfu: Add commands to encrypt and decrypt firmware images
This uses XTEA to encrypt and decrypt images in the firmware file, although
I'm open for adding other methods as required.
2015-12-02 15:48:03 +00:00
Richard Hughes
71e55aafeb libdfu: Fix another bug discovered by the fuzzer 2015-12-02 08:29:59 +00:00
Richard Hughes
f7c61fcb18 libdfu: Fix a few crashers found using afl 2015-12-01 15:56:59 +00:00
Richard Hughes
1936e4afb5 libdfu: Display all the files shown with 'dfu-tool dump'
Also, show the file CRC in the debug output.
2015-12-01 14:53:04 +00:00
Richard Hughes
832c334548 Fix compile with --disable-shared 2015-12-01 11:41:16 +00:00