imageloader: add GetComponentMetadata D-Bus method

This allows us to pack some information into the imageloader
manifest that will be signed but which we can access before we
actually load components. This information might be used to make
decisions about whether or not we actually do need to load the
component.

BUG=chromium:773471
TEST=deploy on device and test, new unit tests

Change-Id: Ia5e9f963e12dcd443851773f428d0d9f6c2104d8
Reviewed-on: https://chromium-review.googlesource.com/737428
Commit-Ready: Eric Caruso <ejcaruso@chromium.org>
Tested-by: Eric Caruso <ejcaruso@chromium.org>
Reviewed-by: Greg Kerr <kerrnel@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
25 files changed
tree: e244fcb29664e9a7a61d5b027adc4381feb12d85
  1. dbus_adaptors/
  2. dbus_permissions/
  3. dbus_service/
  4. public_keys/
  5. seccomp/
  6. testdata/
  7. .presubmitignore
  8. component.cc
  9. component.h
  10. component_unittest.cc
  11. helper_process.cc
  12. helper_process.h
  13. imageloader-client.gyp
  14. imageloader-shutdown.conf
  15. imageloader.cc
  16. imageloader.conf
  17. imageloader.gyp
  18. imageloader.h
  19. imageloader_impl.cc
  20. imageloader_impl.h
  21. imageloader_main.cc
  22. imageloader_unittest.cc
  23. imageloader_wrapper
  24. ipc.proto
  25. libimageloader-client-test.pc.in
  26. libimageloader-client.pc.in
  27. mock_helper_process.h
  28. mock_verity_mounter.h
  29. mount_helper.cc
  30. mount_helper.h
  31. OWNERS
  32. README.md
  33. run_tests.cc
  34. test_utilities.cc
  35. test_utilities.h
  36. verity_mounter.cc
  37. verity_mounter.h
  38. verity_mounter_impl.cc
  39. verity_mounter_impl.h
  40. verity_mounter_unittest.cc
README.md

src/platform/imageloader

This aims to provide a generic utility to verify and load (mount) signed disk images through DBUS IPC.

Binaries

  • imageloader

imageloader handles the mounting of disk images. imageloader should be executed via the imageloader_wrapper script, which ensures that imageloader's storage exists and is owned by imageloaderd user. When imageloader is not running, DBus will automatically invoke it. After 20 seconds of inactivity, the service exits.