Optional source filesystem verification in minor version 3.

In minor version 3, we use per-operation source hash to verify the source
instead of whole filesystem hash, but if target partition doesn't match,
we still need to check the source partition to see if it is the cause.

Bug: 23182225
TEST=Applied a minor version 3 delta payload.
TEST=cros_workon_make update_engine --test

Change-Id: I1f32c292d2938540b63f086cf4988d64620702a5
3 files changed
tree: 4e8b478a428e7917a02a19a8cd5bffcc0f0ec287
  1. binder_bindings/
  2. client_library/
  3. common/
  4. dbus_bindings/
  5. include/
  6. init/
  7. payload_consumer/
  8. payload_generator/
  9. sample_images/
  10. update_manager/
  11. update_payload_key/
  12. .gitignore
  13. Android.mk
  14. binder_main.cc
  15. binder_service.cc
  16. binder_service.h
  17. chrome_browser_proxy_resolver.cc
  18. chrome_browser_proxy_resolver.h
  19. chrome_browser_proxy_resolver_unittest.cc
  20. connection_manager.cc
  21. connection_manager.h
  22. connection_manager_interface.h
  23. connection_manager_unittest.cc
  24. daemon.cc
  25. daemon.h
  26. dbus_service.cc
  27. dbus_service.h
  28. dbus_service_unittest.cc
  29. dbus_test_utils.h
  30. fake_file_writer.h
  31. fake_p2p_manager.h
  32. fake_p2p_manager_configuration.h
  33. fake_shill_proxy.cc
  34. fake_shill_proxy.h
  35. fake_system_state.cc
  36. fake_system_state.h
  37. generate_pc_file.sh
  38. image_properties.h
  39. image_properties_android.cc
  40. image_properties_chromeos.cc
  41. libcros_proxy.cc
  42. libcros_proxy.h
  43. libupdate_engine-client-test.pc.in
  44. libupdate_engine-client.pc.in
  45. local_coverage_rate
  46. main.cc
  47. metrics.cc
  48. metrics.h
  49. metrics_utils.cc
  50. metrics_utils.h
  51. metrics_utils_unittest.cc
  52. mock_action.h
  53. mock_action_processor.h
  54. mock_connection_manager.h
  55. mock_file_writer.h
  56. mock_omaha_request_params.h
  57. mock_p2p_manager.h
  58. mock_payload_state.h
  59. mock_update_attempter.h
  60. MODULE_LICENSE_APACHE2
  61. NOTICE
  62. omaha_request_action.cc
  63. omaha_request_action.h
  64. omaha_request_action_unittest.cc
  65. omaha_request_params.cc
  66. omaha_request_params.h
  67. omaha_request_params_unittest.cc
  68. omaha_response.h
  69. omaha_response_handler_action.cc
  70. omaha_response_handler_action.h
  71. omaha_response_handler_action_unittest.cc
  72. OWNERS
  73. p2p_manager.cc
  74. p2p_manager.h
  75. p2p_manager_unittest.cc
  76. payload_state.cc
  77. payload_state.h
  78. payload_state_interface.h
  79. payload_state_unittest.cc
  80. PRESUBMIT.cfg
  81. proxy_resolver.cc
  82. proxy_resolver.h
  83. real_system_state.cc
  84. real_system_state.h
  85. run_unittests
  86. sample_omaha_v3_response.xml
  87. shill_proxy.cc
  88. shill_proxy.h
  89. shill_proxy_interface.h
  90. system_state.h
  91. tar_bunzip2.gypi
  92. test_http_server.cc
  93. testrunner.cc
  94. unittest_key.pem
  95. unittest_key2.pem
  96. update_attempter.cc
  97. update_attempter.h
  98. update_attempter_unittest.cc
  99. update_engine-client.gyp
  100. update_engine.conf
  101. update_engine.gyp
  102. update_engine.rc
  103. update_engine_client.cc
  104. update_metadata.proto
  105. update_status_utils.cc
  106. update_status_utils.h
  107. UpdateEngine.conf
  108. WATCHLISTS