UpdateManager: UpdateCurrentConnectionAllowed should return kAskMeAgainLater.

This reflects the fact that the restriction is temporary, and that the
update process should not be terminated, therefore is more correct than
returning kFailed.

This also relocates the code that allows user settings to enable update
over a cellular connection, in cases where a policy is active but does
not specify allowed connections.

BUG=chromium:390264
TEST=Unit tests.

Change-Id: Iadfd05ba3c4617a22c69b82232b7802d1ea65504
Reviewed-on: https://chromium-review.googlesource.com/206144
Tested-by: Gilad Arnold <garnold@chromium.org>
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Commit-Queue: Gilad Arnold <garnold@chromium.org>
2 files changed
tree: dc5f0f2a2d4c93dee5b335f1445af479e60f07c7
  1. init/
  2. payload_generator/
  3. update_manager/
  4. .gitignore
  5. action.h
  6. action_mock.h
  7. action_pipe.h
  8. action_pipe_unittest.cc
  9. action_processor.cc
  10. action_processor.h
  11. action_processor_mock.h
  12. action_processor_unittest.cc
  13. action_unittest.cc
  14. build
  15. bzip.cc
  16. bzip.h
  17. bzip_extent_writer.cc
  18. bzip_extent_writer.h
  19. bzip_extent_writer_unittest.cc
  20. certificate_checker.cc
  21. certificate_checker.h
  22. certificate_checker_mock.h
  23. certificate_checker_unittest.cc
  24. chrome_browser_proxy_resolver.cc
  25. chrome_browser_proxy_resolver.h
  26. chrome_browser_proxy_resolver_unittest.cc
  27. clock.cc
  28. clock.h
  29. clock_interface.h
  30. connection_manager.cc
  31. connection_manager.h
  32. connection_manager_unittest.cc
  33. constants.cc
  34. constants.h
  35. dbus_constants.h
  36. dbus_service.cc
  37. dbus_service.h
  38. dbus_wrapper_interface.h
  39. delta_performer.cc
  40. delta_performer.h
  41. delta_performer_unittest.cc
  42. download_action.cc
  43. download_action.h
  44. download_action_unittest.cc
  45. error_code.h
  46. extent_ranges.cc
  47. extent_ranges.h
  48. extent_ranges_unittest.cc
  49. extent_writer.cc
  50. extent_writer.h
  51. extent_writer_unittest.cc
  52. fake_clock.h
  53. fake_hardware.h
  54. fake_p2p_manager.h
  55. fake_p2p_manager_configuration.h
  56. fake_prefs.cc
  57. fake_prefs.h
  58. fake_system_state.cc
  59. fake_system_state.h
  60. file_descriptor.cc
  61. file_descriptor.h
  62. file_writer.cc
  63. file_writer.h
  64. file_writer_mock.h
  65. file_writer_unittest.cc
  66. filesystem_copier_action.cc
  67. filesystem_copier_action.h
  68. filesystem_copier_action_unittest.cc
  69. gen_coverage_html
  70. hardware.cc
  71. hardware.h
  72. hardware_interface.h
  73. http_common.cc
  74. http_common.h
  75. http_fetcher.cc
  76. http_fetcher.h
  77. http_fetcher_unittest.cc
  78. hwid_override.cc
  79. hwid_override.h
  80. hwid_override_unittest.cc
  81. inherit-review-settings-ok
  82. install_plan.cc
  83. install_plan.h
  84. libcurl_http_fetcher.cc
  85. libcurl_http_fetcher.h
  86. local_coverage_rate
  87. main.cc
  88. metrics.cc
  89. metrics.h
  90. mock_connection_manager.h
  91. mock_dbus_wrapper.h
  92. mock_file_writer.h
  93. mock_hardware.h
  94. mock_http_fetcher.cc
  95. mock_http_fetcher.h
  96. mock_p2p_manager.h
  97. mock_payload_state.h
  98. multi_range_http_fetcher.cc
  99. multi_range_http_fetcher.h
  100. omaha_hash_calculator.cc
  101. omaha_hash_calculator.h
  102. omaha_hash_calculator_unittest.cc
  103. omaha_request_action.cc
  104. omaha_request_action.h
  105. omaha_request_action_unittest.cc
  106. omaha_request_params.cc
  107. omaha_request_params.h
  108. omaha_request_params_unittest.cc
  109. omaha_response.h
  110. omaha_response_handler_action.cc
  111. omaha_response_handler_action.h
  112. omaha_response_handler_action_unittest.cc
  113. p2p_manager.cc
  114. p2p_manager.h
  115. p2p_manager_unittest.cc
  116. payload_constants.cc
  117. payload_constants.h
  118. payload_signer.cc
  119. payload_signer.h
  120. payload_signer_unittest.cc
  121. payload_state.cc
  122. payload_state.h
  123. payload_state_interface.h
  124. payload_state_unittest.cc
  125. postinstall_runner_action.cc
  126. postinstall_runner_action.h
  127. postinstall_runner_action_unittest.cc
  128. prefs.cc
  129. prefs.h
  130. prefs_interface.h
  131. prefs_mock.h
  132. prefs_unittest.cc
  133. proxy_resolver.cc
  134. proxy_resolver.h
  135. real_dbus_wrapper.h
  136. real_system_state.cc
  137. real_system_state.h
  138. run_unittests
  139. sample_omaha_v3_response.xml
  140. SConstruct
  141. simple_key_value_store.cc
  142. simple_key_value_store.h
  143. simple_key_value_store_unittest.cc
  144. subprocess.cc
  145. subprocess.h
  146. subprocess_unittest.cc
  147. system_state.h
  148. terminator.cc
  149. terminator.h
  150. terminator_unittest.cc
  151. test_http_server.cc
  152. test_utils.cc
  153. test_utils.h
  154. testrunner.cc
  155. unittest_key.pem
  156. unittest_key2.pem
  157. update_attempter.cc
  158. update_attempter.h
  159. update_attempter_mock.h
  160. update_attempter_unittest.cc
  161. update_check_scheduler.cc
  162. update_check_scheduler.h
  163. update_check_scheduler_unittest.cc
  164. update_engine.xml
  165. update_engine_client.cc
  166. update_metadata.proto
  167. UpdateEngine.conf
  168. utils.cc
  169. utils.h
  170. utils_unittest.cc
  171. WATCHLISTS
  172. zip_unittest.cc