1. 22 Aug, 2019 3 commits
  2. 21 Aug, 2019 5 commits
  3. 19 Aug, 2019 1 commit
  4. 15 Aug, 2019 6 commits
  5. 14 Aug, 2019 5 commits
  6. 13 Aug, 2019 4 commits
  7. 12 Aug, 2019 1 commit
    • Richard Hughes's avatar
      Never use memcpy() in a possibly unsafe way · 5308ea4f
      Richard Hughes authored
      There are several subtle bugs in various places in fwupd caused by not treating
      user-provided offsets into buffers as unsafe. As fwupd runs as root we have to
      assume that all user firmware is evil, and also that devices cannot be trusted.
      
      Make a helper to put all the logic into one place and convert all users.
      5308ea4f
  8. 09 Aug, 2019 1 commit
  9. 08 Aug, 2019 1 commit
    • Richard Hughes's avatar
      Use FuFirmware as a container for firmware images · 7afd7cba
      Richard Hughes authored
      In many plugins we've wanted to use ->prepare_firmware() to parse the firmware
      ahead of ->detach() and ->write_firmware() but this has the limitation that it
      can only return a single blob of data.
      
      For many devices, multiple binary blobs are required from one parsed image,
      for instance providing signatures, config and data blobs that have to be pushed
      to the device in different way.
      
      This also means we parse the firmware *before* we ask the user to detach.
      
      Break the internal FuDevice API to support these firmware types as they become
      more popular.
      
      This also allows us to move the Intel HEX and SREC parsing out of the dfu plugin
      as they are used by a few plugins now, and resolving symbols between plugins
      isn't exactly awesome.
      7afd7cba
  10. 06 Aug, 2019 4 commits
  11. 05 Aug, 2019 2 commits
  12. 02 Aug, 2019 5 commits
  13. 01 Aug, 2019 2 commits
    • Richard Hughes's avatar
      Verify we don't break the ABI · 4836cb36
      Richard Hughes authored
      This adds a script which can check for ABI breaks between two Git
      revisions:
      
          $ ./contrib/ci/check-abi.sh
      
      The CI is set up to run it automatically between the tip of the branch
      being tested and the last release tag.
      
      Based on the work by Mathieu Bridon <bochecha@daitauha.fr>, many thanks.
      4836cb36
    • Richard Hughes's avatar
      Fix a crash when stopping the fwupd service · dfaca2de
      Richard Hughes authored
      This difficult to debug bug only showed up when the fwupd service was stopped,
      which the user never noticed, but services like abrt were still keen to report.
      The root issue was that the call to fu_plugin_get_smbios_data() in
      fu-plugin-uefi.c:fu_plugin_startup() was freeing the returned const GBytes,
      which rippled down all the way to a double-free deep in libxmlb.
      
      It's somewhat unusual to have a const GBytes, so just change the plugin helper
      to returned a ref'd copy, on the logic a potential 16 byte memory leak is better
      than a double-free when the next plugin gets the logic the wrong way around.
      
      Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1734746
      dfaca2de