update_engine: Process Omaha response for rollback images Omaha returns whether the image returned is a rollback in the _rollback="true" argument. If this is set, the client has to check whether it's OK to apply the rollback image (policy is specifically requesting a rollback and verified boot will accept the image based on its kernel and firmware key versions). In addition to this, the device has to do a safe powerwash if the image is a rollback. (We're not supporting rollbacks with partial or no powerwash yet.) We're also setting the rollback_happened preference to avoid force updates happening before the policy is available again. Chromium CL adding the error code: http://crrev.com/c/1047866 BUG=chromium:840432 TEST='cros_run_unit_tests --board=caroline --packages update_engine' Change-Id: I1436ca96211b2a8523e78bf83602ef8b6b525570 Reviewed-on: https://chromium-review.googlesource.com/1047610 Commit-Ready: Marton Hunyady <[email protected]> Tested-by: Marton Hunyady <[email protected]> Reviewed-by: Amin Hassani <[email protected]>
diff --git a/omaha_response_handler_action.h b/omaha_response_handler_action.h index 2974841..e868b53 100644 --- a/omaha_response_handler_action.h +++ b/omaha_response_handler_action.h
@@ -89,6 +89,8 @@ friend class OmahaResponseHandlerActionTest; FRIEND_TEST(UpdateAttempterTest, CreatePendingErrorEventResumedTest); + FRIEND_TEST(UpdateAttempterTest, SetRollbackHappenedNotRollback); + FRIEND_TEST(UpdateAttempterTest, SetRollbackHappenedRollback); FRIEND_TEST(UpdateAttempterTest, UpdateDeferredByPolicyTest); DISALLOW_COPY_AND_ASSIGN(OmahaResponseHandlerAction);