)]}'
{
  "log": [
    {
      "commit": "fab175a3db9ddd9898cbe89c24d2796a2985363b",
      "tree": "1a4e2d18be5c5b9c15910dd816fd860485d7018e",
      "parents": [
        "2b68e6b41a78adcaa36805ec024700985d9ecde7"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Fri Apr 17 11:20:50 2020 -0700"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Tue Apr 28 19:49:07 2020 +0000"
      },
      "message": "update_engine: Change parameters of AttemptInstall() DBus\n\nCurrently, the update_engine is using the dlcservice\u0027s protobuf as\nits own input. This is bad API because now anyone dependent on the\nupdate_engine\u0027s DBus, needs to be dependent on the dlcservice too. This\nCL changes that so we only pass the arguments we want (DLC DIs and the\nomaha url).\n\nBUG\u003dchromium:1071654\nTEST\u003dcros_workon_make --board reef --test update_engine\n\nCq-Depend: chromium:2157670\nChange-Id: Id7f7a86d8b3e3194d4d7697a8ad26ed4bcc4ba2c\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2163442\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Andrew Lassalle \u003candrewlassalle@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nCommit-Queue: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "a8d7df32be890c5fd0e01259c9a7a092692a28e3",
      "tree": "a0e9e78d80dc23b26f8d19c39ba62eb3f04814ed",
      "parents": [
        "822d485e6de60dc4acaaad710a6b9445aad72656"
      ],
      "author": {
        "name": "Andrew",
        "email": "andrewlassalle@chromium.org",
        "time": "Sun Mar 15 20:10:01 2020 -0700"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Wed Mar 25 19:44:15 2020 +0000"
      },
      "message": "update_engine: Move DLC metadata ownership to update_engine\n\nAdd dbus messages so dlcservice can let update_engine know when a DLC is\ninstalled or uninstalled.\n\nBUG\u003dchromium:912666\nTEST\u003dunittests, install and uninstall DLCs on DUT.\n\nCq-Depend: chromium:2112994,chromium:2113254\nChange-Id: I35374504afcdaf96b099e343cabe072fc18f1022\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2113134\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nTested-by: Andrew Lassalle \u003candrewlassalle@chromium.org\u003e\nCommit-Queue: Andrew Lassalle \u003candrewlassalle@chromium.org\u003e\n"
    },
    {
      "commit": "e99511f9987c1315a019e1903d81e0d401331229",
      "tree": "695ce0e74c7f02e543304888c7027e282b66a4f0",
      "parents": [
        "b314674e8ba0e275836261cfd59144882b7e1a30"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Wed Oct 30 12:57:06 2019 -0700"
      },
      "committer": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Tue Nov 12 22:24:40 2019 +0000"
      },
      "message": "update_engine: Deprecate GetStatus DBus and StatusUpdate Signal\n\nNobody uses these anymore.\n\nBUG\u003dchromium:977320\nTEST\u003dsudo FEATURES\u003dtest emerge update_engine-client update_engine\n\nCq-Depend: chrome-internal:2099079\nChange-Id: Ie7b31d95346fbf6d391d805db1b808a518bd2bda\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/1891572\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    },
    {
      "commit": "2cbb069d65b1da20b3323022e12fe863bc0b98d0",
      "tree": "d9c01a490a15a93306899e992b6e95849df61f45",
      "parents": [
        "55c75417e22d5026971276997924a345d9973bbc"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Wed Oct 30 13:36:17 2019 -0700"
      },
      "committer": {
        "name": "Commit Bot",
        "email": "commit-bot@chromium.org",
        "time": "Thu Nov 07 02:17:51 2019 +0000"
      },
      "message": "update_engine: Deprecate EOL Status\n\nThis is not used anymore. It has been replaced by date based EOL.\n\nIt has been deprecated from Chrome per CL:1891467\n\nBUG\u003dchromium:1005511\nTEST\u003dsudo FEATURES\u003dtest emerge update_engine-client update_engine\n\nChange-Id: I047ca8d641906208728e89adb7c430b71ab11239\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/1891571\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nCommit-Queue: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n"
    },
    {
      "commit": "a1f4a7dcaa921fcb0ab395214a9558a62ca083f2",
      "tree": "2ffe9b345b832405d04a61ec9397cd98e0b84c88",
      "parents": [
        "9be122effd4022e14cc158191e11ca230a605544"
      ],
      "author": {
        "name": "Jae Hoon Kim",
        "email": "kimjae@chromium.org",
        "time": "Tue Sep 03 18:12:33 2019 +0000"
      },
      "committer": {
        "name": "Jae Hoon Kim",
        "email": "kimjae@chromium.org",
        "time": "Thu Sep 05 22:30:09 2019 +0000"
      },
      "message": "Revert \"update_engine: Support milestones to EOL from Omaha\"\n\nThis reverts commit 893cae4b0e5141bcaf9f56b1775e681c8f523630.\n\nReason for revert: use of EOL date and EOL notification date instead milestones to EOL.\n\nOriginal change\u0027s description:\n\u003e update_engine: Support milestones to EOL from Omaha\n\u003e\n\u003e Initiative to show EOL message on Chrome OS devices require that\n\u003e update_engine parses the fields within Omaha response that pertain to the\n\u003e new milestones to EOL field. The Omaha response will include a new\n\u003e field called \"milestones_to_eol\" which will be an integer value\n\u003e string.\n\u003e\n\u003e The job of update_engine when it comes to milestones to EOL from Omaha\n\u003e is to merely forward. No checks and no modifications of fields are\n\u003e done within update_engine besides being able to convert the milestones\n\u003e to EOL from a string to integer.\n\u003e\n\u003e BUG\u003dchromium:994999\n\u003e TEST\u003dFEATURES\u003d\"test\" emerge-$BOARD update_engine update_engine-client\n\u003e TEST\u003dcros deploy $IP update_engine update_engine-client\n\u003e TEST\u003dtest_that -b $BOARD $IP autoupdate_EOL # from Cq-Depend\n\u003e TEST\u003dtest_that -b $BOARD $IP autoupdate_EOL.milestones # from Cq-Depend\n\u003e\n\u003e Cq-Depend:chromium:1761371\n\u003e Change-Id: I268e4c8e641b17d6a727a50f53285cc97c76eb22\n\u003e Reviewed-on: https://chromium-review.googlesource.com/1759285\n\u003e Tested-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\n\u003e Commit-Ready: ChromeOS CL Exonerator Bot \u003cchromiumos-cl-exonerator@appspot.gserviceaccount.com\u003e\n\u003e Legacy-Commit-Queue: Commit Bot \u003ccommit-bot@chromium.org\u003e\n\u003e Reviewed-by: Nicolas Norvez \u003cnorvez@chromium.org\u003e\n\u003e Reviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\n\nTBR\u003dmaybelle@chromium.org,norvez@chromium.org,ahassani@chromium.org,abutzier@chromium.org,chromiumos-cl-exonerator@appspot.gserviceaccount.com,kimjae@chromium.org\n\nBUG\u003dchromium:994999\nTEST\u003dnone\nCq-Depend:chromium:1782971\nChange-Id: I42e75e22948b3653500d355027dc3312015c9ebf\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/1782970\nTested-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nCommit-Queue: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nLegacy-Commit-Queue: Commit Bot \u003ccommit-bot@chromium.org\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "893cae4b0e5141bcaf9f56b1775e681c8f523630",
      "tree": "506d20f29aabb1895687d3fcd9fdedaa60d7d656",
      "parents": [
        "bfa822665191388523149ee20a237135fd26f63f"
      ],
      "author": {
        "name": "Jae Hoon Kim",
        "email": "kimjae@chromium.org",
        "time": "Fri Aug 16 17:13:49 2019 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Sat Aug 24 05:06:46 2019 -0700"
      },
      "message": "update_engine: Support milestones to EOL from Omaha\n\nInitiative to show EOL message on Chrome OS devices require that\nupdate_engine parses the fields within Omaha response that pertain to the\nnew milestones to EOL field. The Omaha response will include a new\nfield called \"milestones_to_eol\" which will be an integer value\nstring.\n\nThe job of update_engine when it comes to milestones to EOL from Omaha\nis to merely forward. No checks and no modifications of fields are\ndone within update_engine besides being able to convert the milestones\nto EOL from a string to integer.\n\nBUG\u003dchromium:994999\nTEST\u003dFEATURES\u003d\"test\" emerge-$BOARD update_engine update_engine-client\nTEST\u003dcros deploy $IP update_engine update_engine-client\nTEST\u003dtest_that -b $BOARD $IP autoupdate_EOL # from Cq-Depend\nTEST\u003dtest_that -b $BOARD $IP autoupdate_EOL.milestones # from Cq-Depend\n\nCq-Depend:chromium:1761371\nChange-Id: I268e4c8e641b17d6a727a50f53285cc97c76eb22\nReviewed-on: https://chromium-review.googlesource.com/1759285\nTested-by: Jae Hoon Kim \u003ckimjae@chromium.org\u003e\nCommit-Ready: ChromeOS CL Exonerator Bot \u003cchromiumos-cl-exonerator@appspot.gserviceaccount.com\u003e\nLegacy-Commit-Queue: Commit Bot \u003ccommit-bot@chromium.org\u003e\nReviewed-by: Nicolas Norvez \u003cnorvez@chromium.org\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "3bab177b61d37254c332c4febb11e30bd46aae71",
      "tree": "4f96c2a6b6be932e9419bf7efbbc841865f1989d",
      "parents": [
        "eb463eef3769467d0a09d99aebb3300109ec912c"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Fri Jun 21 14:58:25 2019 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Thu Jul 04 12:43:54 2019 -0700"
      },
      "message": "update_engine: Use DBus protobuf capabilities in dlcservice API methods\n\nDBus have the capability to pass protobuf message directly in the method\nwithout the need for serializing it manually. This CL uses those types\nof arguments which is almost used everywhere in the platform2 code base.\n\nBUG\u003dchromium:978672\nTEST\u003dprecq\n\nCq-Depend: chromium:1672684\nChange-Id: I6e34ee76ede0c7b0b8cd1bba603a5836743d67fc\nReviewed-on: https://chromium-review.googlesource.com/1672021\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nLegacy-Commit-Queue: Commit Bot \u003ccommit-bot@chromium.org\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "eb463eef3769467d0a09d99aebb3300109ec912c",
      "tree": "eaabc93df05244e0a24c6de59e6b3ec458d8a527",
      "parents": [
        "7999ef8089454c51e8ed84e7d58db0f6592d1227"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Thu Jun 20 19:23:03 2019 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Thu Jul 04 12:43:54 2019 -0700"
      },
      "message": "update_engine: Add newer DBus method and signal for GetStatus\n\nThe current GetStatus function is pretty non-extendable and there has\nbeen use cases where we wanted to add arguments to it but it was quite\nhard to do specially changes in Chrome.\n\nThis CL adds a new DBus Method GetStatusAdvanced and Signal\nUpdateStatusAdvanced which use a protobuf for communicating dbus\nmessages. This allows us to extend the protobuf without much effort in\nthe future.\n\nBUG\u003dchromium:977320\nTEST\u003dunittests, precq\n\nCq-Depend: chromium:1672684, chrome-internal:1424559\nChange-Id: Ia93ed189e7561ca18c63b5ded81826bc9b1cff12\nReviewed-on: https://chromium-review.googlesource.com/1669974\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nLegacy-Commit-Queue: Commit Bot \u003ccommit-bot@chromium.org\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\n"
    },
    {
      "commit": "88d90387e5964b05f9e30adb2648433e4a277ab9",
      "tree": "19083a98f0817bc50b12806ab7895b84e69fa0d7",
      "parents": [
        "1aafbfdc30b20d9d6a193a0b992234db710cf3c5"
      ],
      "author": {
        "name": "Xiaochu Liu",
        "email": "xiaochu@chromium.org",
        "time": "Wed Aug 29 16:09:11 2018 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Fri Oct 12 15:16:34 2018 -0700"
      },
      "message": "update_engine: support downloading DLC\n\nDLC (Downloadable Content) is a new concept that best can be described\nas pieces of programs that are considered extensions of the rootfs. Each\nDLC resides in the stateful partition and there are two slots for each\nDLC (A and B, same as root and kernel partitions.) Each slot is treated\nmuch like the root and kernel partitions themselves. This patch adds\ninitial support for installing and updating one or multiple DLCs. Each\nDLC has a unique APP ID which is constructed such as\n${PLATFORM_APPID}_${DLC_ID} where:\n\nPLATFORM_APPID: Is the APP ID currently used for system updates (release\nor canary)\nDLC_ID: Is a unique ID given to a DLC for its lifetime.\n\nThe combination of these two unique IDs will generate a unique APP ID\nthat can be used for fetching update payloads for DLCs for each board.\n\nUpdate engine traditionally is used for updating a system to a newer one\nusing the A/B slots. However, with DLCs residing in the stateful\npartition, there is a chance that the stateful partition gets wiped or a\nnew DLC is required to be installed in the current slot. To solve this\nproblem, there is a new \"Install\" operation that allows downloading an\nupdate payload for the current slot with the same version as we are now.\nThis CL adds AttemptInstall Dbus signal to be used for attempting an DLC\ninstall operation. Furthermore, two new flags are added to the\nupdate_engine_client utility:\n--dlc_ids: A colon separated list of DLC IDs.\n--install: Requests an install operation rather than an update.\n\nBUG\u003dchromium:879313\nTEST\u003dunittest, manual test\nCQ-DEPEND\u003d1266235\n\nChange-Id: Ia9c9b702dc9d1bd47fbb10b30969baa0322993f6\nReviewed-on: https://chromium-review.googlesource.com/1195593\nCommit-Ready: Xiaochu Liu \u003cxiaochu@chromium.org\u003e\nTested-by: Xiaochu Liu \u003cxiaochu@chromium.org\u003e\nReviewed-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Xiaochu Liu \u003cxiaochu@chromium.org\u003e\n"
    },
    {
      "commit": "421ff33ee91186014c37abc7b6d8fa075074d894",
      "tree": "389afe3cd9145a284dac2bc9c827db06a53afacf",
      "parents": [
        "71818c8409812c5a08124627c19aa8ea0625a72e"
      ],
      "author": {
        "name": "Weidong Guo",
        "email": "weidongg@chromium.org",
        "time": "Mon Apr 17 10:08:38 2017 -0700"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Mon Mar 19 14:18:55 2018 -0700"
      },
      "message": "Reland update over cellular changes\n\nThis merge cherrypicks two commits that was reverted in an AOSP git merge.\n\n4b0d6032cbb86ce488c03b31936cda31283f97e3 Add functions to allow update over cellular (including tethered connection)\n840703a4cc77228e2606f45665ae3a4bd75ff7dd Fix update over cellular network on guest account\n\nHandled multi-package response.\n\nRan clang-format which fixed a lot of issues in those two CLs.\n\nBUG\u003dchromium:815356\nTEST\u003dunittests, precq\n\nChange-Id: I54b6763c4c54755272531b558ed7628ceb0fc6c7\nReviewed-on: https://chromium-review.googlesource.com/965267\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\n"
    },
    {
      "commit": "5688d16057d34b770c070e2b4a27841092003a4e",
      "tree": "7fea2289ebf922763b2c110094bb8e394b9e08f9",
      "parents": [
        "e5f6f2571d43eb65e0b27dd8d50f2c1f0b3fe30f"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Tue Jun 06 13:09:06 2017 -0700"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Tue Jun 06 13:09:22 2017 -0700"
      },
      "message": "Revert \"Add functions to allow update over cellular (including tethered connection)\"\n\nThis reverts commit 4b0d6032cbb86ce488c03b31936cda31283f97e3.\n\nBug: 62366504\nTest: GmsCore sees the old status code (i.e. UPDATED_NEED_REBOOT \u003d\u003d 6).\nChange-Id: I9185614a41bd621ad85e7f773b0f96919b0f70d5\n"
    },
    {
      "commit": "4b0d6032cbb86ce488c03b31936cda31283f97e3",
      "tree": "aa79f951ea4f50fcd33d613aa1991b6c30b00869",
      "parents": [
        "d6803aa21c1fcd2c8cce9b82fa73b5f9e3200b59"
      ],
      "author": {
        "name": "Weidong Guo",
        "email": "weidongg@chromium.org",
        "time": "Mon Apr 17 10:08:38 2017 -0700"
      },
      "committer": {
        "name": "Sen Jiang",
        "email": "senj@google.com",
        "time": "Wed May 31 15:56:02 2017 -0700"
      },
      "message": "Add functions to allow update over cellular (including tethered connection)\n\n- Add an update state NEED_PERMISSION_TO_UPDATE which is broadcasted along\nwith the update info (version and size) when |OmahaRequestAction| aborts\nupdate due to cellular connection. So the state transition will be:\nIDLE-\u003eCHECKING_FOR_UPDATE-\u003eNEED_PERMISSION_TO_UPDATE-\u003eREPORTING_ERROR_EVENT\n-\u003eIDLE\n(The Chrome UI prompts an alert window showing update size and asks user\nwhether to proceed upon receiving this state.)\n\n- Add a dbus interface to set update over cellular target\n(kPrefsUpdateOverCellularTargetVersion and kPrefsUpdateOverCellularTargetSize).\nThe target is the one received by Chrome UI in NEED_PERMISSION_TO_UPDATE\nbroadcast. By sending the target back with the dbus call, update engine can\ndouble check the target with the server to make sure there\u0027s no new server\npush after NEED_PERMISSION_TO_UPDATE is broadcasted to Chrome UI.\n(This dbus call is invoked when the user chooses to proceed to update at the\nalert window. The dbus call is followed by another dbus call |AttemptUpdate|)\n\n- So, the the decision tree as to whether to allow update over cellular\nconnection has changed to:\nIF (device policy DeviceUpdateAllowedConnectionTypes set)\n  follow device policy\u0027s decision\nELSE IF (kPrefsUpdateOverCellularPermission set to true)\n  allow update\nELSE IF (Either kPrefsUpdateOverCellularTargetVersion or\n    kPrefsUpdateOverCellularTargetSize is not set, or they are set but do not\n    match the version and size in |OmahaResponse| retrieved by\n    |OmahaRequestAction|)\n  disallow update, and broadcast NEED_PERMISSION_TO_UPDATE\nELSE\n  allow update\nENDIF\n\n- This decision making happens at |OmahaRequestAction| after |OmahaResponse| is\nretrieved. Since we want to separate the device policy check with the user\npreferences check which depends on |OmahaResponse| during checking for update,\nwe modify ConnectionManager::IsUpdateAllowedOver by moving the user preferences\ncheck to |OmahaRequestAction|. Thus, the function by default returns true for\ncellular connection if device policy is not set.\n\n- Corner case:\nAdding kPrefsUpdateOverCellularPermission and\nkPrefsUpdateOverCellularTargetSize seems to complicate the logic here. But\nthey could effectively solve a corner case where the target does not match\n|OmahaResponse| due to new server push after broadcasting\nNEED_PERMISSION_TO_UPDATE. In that case, we simply broadcast\nNEED_PERMISSION_TO_UPDATE again along with new update info.\n\nCQ-DEPEND\u003dCL:481102\nBUG\u003dchromium:691108\nTEST\u003d\u0027FEATURES\u003dtest emerge-link update_engine\u0027\n\n(cherry picked from commit 70063d9f7e229db8c5b42443ca96ac23a971a6dd)\nCherry-pick updated to compile on Android.\n\nReviewed-on: https://chromium-review.googlesource.com/479467\nCommit-Ready: Weidong Guo \u003cweidongg@chromium.org\u003e\nTested-by: Weidong Guo \u003cweidongg@chromium.org\u003e\nReviewed-by: Weidong Guo \u003cweidongg@chromium.org\u003e\nReviewed-by: Andrew de los Reyes \u003cadlr@chromium.org\u003e\nReviewed-by: Ben Chan \u003cbenchan@chromium.org\u003e\n"
    },
    {
      "commit": "5b5fa8b412312a41cfd4d7ab475b54d4f730ed2a",
      "tree": "30cecc0c704bc9b0ecafd4de5034d92a9e239822",
      "parents": [
        "e9ae98c24f115d9ff041953e705a95ef330355ce"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Oct 06 15:40:49 2016 -0700"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Oct 06 19:06:05 2016 -0700"
      },
      "message": "Add {Get,Set}CohortHint interface.\n\nExport the \"cohort hint\" getter and setter in the client interfaces\n(D-Bus and Binder). The cohort hint is sent to Omaha on every update\ncheck request but can be ignored and/or reset by Omaha on every\nresponse.\n\nOther minor linter fixes to the affected files.\n\nBug: 31740109\nTest: Build with D-Bus and with Binder.\n\nChange-Id: I93214f6ffb8662c238b3351e52bf2bdf23e46a9c\n"
    },
    {
      "commit": "b3fa53bf760bd0a6fd1ef9df28cb425586d733f6",
      "tree": "457141d09742613dd2b3f64a92d6da4a83a0e390",
      "parents": [
        "ed9bd92e00099eddda86b32fd2bb4896cb44cd51"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Mon Apr 18 19:57:58 2016 -0700"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue May 03 17:17:58 2016 -0700"
      },
      "message": "Parse and expose end-of-life flag.\n\nOmaha update or noupdate response can include _key\u003dvalue pairs with\narbitrary data. One of those key can be \"_eol\" with the one of the\nvalues \"supported\", \"security-only\" or \"eol\" which notifies the device\nthe end-of-life status of the device with respect to updates. This\ninformation is now exposed via GetEolStatus() to the client so it\ncan be properly displayed in the UI.\n\nBug: 27924505\nTEST\u003dAdded unittest. Run `update_engine_client --eol_status` on link.\n\nChange-Id: Icc15f25b4d0b19cc894f5afc52ac7c43c7818982\n"
    },
    {
      "commit": "2997173235e88c5e4cb13d2844f74afc7b25d6e2",
      "tree": "1efea76748ffcb44c7340c8cae9d9cbfb51cc19e",
      "parents": [
        "64d9878470aa7b388e971862181daf6260851602"
      ],
      "author": {
        "name": "Shuqian Zhao",
        "email": "shuqianz@google.com",
        "time": "Fri Feb 05 11:29:32 2016 -0800"
      },
      "committer": {
        "name": "Charlene Zhao",
        "email": "shuqianz@google.com",
        "time": "Wed Feb 10 22:38:45 2016 +0000"
      },
      "message": "Add a feature to get the last UpdateAttempt ErrorCode from update_engine\n\nFor autotest, update_engine test failures are always hard to debug,\nsince the error message is not clear. Add a new flag \u0027last_attempt_error\u0027\nto get the last UpdateAttempt ErrorCode from update_engine.\n\nBug:25598547\nTest:emerge-peppy update_engine\n     emerge-peppy update_engine_client\n     cros flash a test image to DUT.\n     (on the DUT):update_engine_client --last_attempt_error\n     Compare the results with the update_engine logs, matched.\n\nChange-Id: Id12681097ed30b0826cad68809f17f934a07e5b2\n"
    },
    {
      "commit": "cbea78f22e1420f3cd2167b963acbf599941eb84",
      "tree": "e9b92314469978a7765f6e2d93aead0b238e13ca",
      "parents": [
        "4d2990d04917bd8140772bee63f2cf43837b6a30"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Sep 15 22:59:56 2015 -0700"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Sep 15 23:08:34 2015 -0700"
      },
      "message": "Remove obsolete GetKernelDevices() method.\n\nupdate_engine daemon exposed a DBus method GetKernelDevices() returning\nthe list of available kernel block devices and whether they were\nbootable or not. This method was a developer-only method, since it\ncan\u0027t be called from chrome, and no other daemon uses it, besides the\nupdate_engine_client.\n\nThe update_engine daemon moved from managing root and kernel partitions\nexplicitly, to manage slots. So the notion of which block device is the\n\"kernel\" device is now unknown. The information about the available\nslots and their status, can be managed with the external tool bootctl\ninstead. Therefore, this patch removes the GetKernelDevices() method.\n\nBug: None\nTest: emerge-link update_engine; `mma` on AOSP.\n\nChange-Id: I715bdbb73ebbbca3dfb381b16043224a170a3832\n"
    },
    {
      "commit": "d6deb1d0357f47d5525bfaeffa6c201b19abd3e7",
      "tree": "40d0f18ca57ef6ee7ad9f8b7e1cec42d3f4e369d",
      "parents": [
        "46e9b1735a16518d563b3c7e7227408f8fc3e891"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Fri Aug 28 15:54:37 2015 -0700"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Sep 01 19:25:12 2015 -0700"
      },
      "message": "Use installed DBus libraries instead of generating them.\n\nlogin_manager, power_manager, debugd and shill now expose a client\nlibrary with the generated dbus-proxies.h file and the system_api\u0027s\ninstalled dbus-constants.h. This patch changes update_engine from\ngenerating these DBus headers to use the installed client libraries.\n\nThe client libraries already include the service path string, so we\ndon\u0027t need to include system_api dbus-constants.h in most cases, unless\nwe actually use some parameter constants defined there.\n\nBUG\u003db:23084776,b:23560718\nTEST\u003d./build_packages --board\u003dlink\n\nChange-Id: Idb4501e784ebb5928c92902d114462be57d5826a\n"
    },
    {
      "commit": "8a7d0ca79fba87411bd0d105f5eb502c61be269a",
      "tree": "9d9c3cc75e530104ca4fbdc6a04c5c365437ad14",
      "parents": [
        "5476a472a335ff42e1bf2a104f607dd401f50053"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Aug 25 17:30:27 2015 -0700"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Tue Aug 25 18:06:39 2015 -0700"
      },
      "message": "Rename DBus adaptor .xml file to .dbus-xml\n\nTo allow generating the DBus adaptor from the Android.mk rules, we need\nto rename the adaptor interface to have the .dbus-xml extension.\n\nBUG\u003db/23084776\nTEST\u003demerge-link update_engine\n\nChange-Id: Ib7686f8b6c05d21d132ff7dfdb043b434b858edd\n"
    },
    {
      "commit": "0b3db6b6040f53eb9859e614f7fe4c681213d33a",
      "tree": "3617cac41c1a518db08491667856e79bd0733bc0",
      "parents": [
        "305345001d85ca2282112c2a30fe75c7a4773491"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Mon Aug 10 15:19:37 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Aug 14 02:26:00 2015 +0000"
      },
      "message": "update_engine: Remove all references to glib.\n\nThe message loop in production code switched from\nchromeos::GlibMessageLoop to chromeos::BaseMessageLoop used in\nchromeos::Dameon. This patch moves all the unittests also to use\nchromeos::BaseMessageLoop or chromeos::FakeMessageLoop when I/O is not\nrequired.\n\nThis patch removes all (now unused) references to glib.\n\nBUG\u003dchromium:499886\nTEST\u003d`grep glib[^c] . -R` return no results. Also, unittests work.\n\nChange-Id: Iddfb17def501829d932ed1f70faad3e00268898e\nReviewed-on: https://chromium-review.googlesource.com/292157\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "08d493198de248281beb5c9e2f37904edccf60dc",
      "tree": "be503e5767d2282940be6a24a86ef469912eb233",
      "parents": [
        "fffd23e1ed1903beeb893640c611001175380186"
      ],
      "author": {
        "name": "Timothy Jennison",
        "email": "tjennison@chromium.org",
        "time": "Wed Mar 04 13:46:40 2015 -0500"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Tue Mar 10 19:03:21 2015 +0000"
      },
      "message": "update_engine: fixes to use chromeos-dbus-bindings generation\n\nAdd dbus-service-config.json and fix update_engine.xml to have the\ncorrect DBus path.  Move both into dbus_bindings folder.\n\nBUG\u003dNone\nTEST\u003dSuccessful build and tested generated bindings\nCQ-DEPEND\u003dCL:256827,CL:*204736\n\nChange-Id: I7020940c17cc3cf085cf2ef38275ed3a16f37ceb\nReviewed-on: https://chromium-review.googlesource.com/255935\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Timothy Jennison \u003ctjennison@google.com\u003e\nCommit-Queue: Timothy Jennison \u003ctjennison@google.com\u003e\n"
    },
    {
      "commit": "455eb53c60d79f15e437a5fc79b3be79de79458e",
      "tree": "f7706c67bdb60d4c12ef3054688939a657ebe26e",
      "parents": [
        "54fa66dc58f965b276433e08ecebbe268f66de4c"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Thu Sep 25 22:54:56 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Oct 02 07:02:34 2014 +0000"
      },
      "message": "update_engine: Include direction\u003d\"in\" in all method args missing it.\n\nThe instrospect.dtd specifies:\n  \u003c!-- Method arguments SHOULD include \"direction\",\n       while signal and error arguments SHOULD not (since there\u0027s no point).\n       The DTD format can\u0027t express that subtlety. --\u003e\n  \u003c!ATTLIST arg direction (in|out) \"in\"\u003e\n\nThis make the direction\u003d\"in\" the default for args that are part of\nmethod tags. Nevertheless, these args SHOULD include the direction.\n\nThis patch adds direction\u003d\"in\" to all the method args, and fixes the\nindent.\n\nBUG\u003dNone\nTEST\u003d`generate-chromeos-dbus-bindings --input\u003dupdate_engine/update_engine.xml` now works.\n\nChange-Id: I96c86b05395d51a7697790f627464c3e568d9c12\nReviewed-on: https://chromium-review.googlesource.com/220133\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: David Zeuthen \u003czeuthen@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "2bddadd17e31ca1341604f8652432a8619557688",
      "tree": "226f7f40cdef3863aff282cb6180c149ca0787dd",
      "parents": [
        "9a423ff19e3a7503cd8128998b3a10d65c499fdc"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Thu Mar 27 13:23:46 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Mar 28 23:11:38 2014 +0000"
      },
      "message": "update_engine: Added more logging and debugging for rollback checking\n\nTo help troubleshoot issues similar to http://crbug.com/356975 I added\nmore logging in DBus methods of update_engine to trace various stages\nof determining available boot partitions, etc.\n\nAlso added two more DBus methods - to get the suggested rollback\npartition name (and switched CanRollback to use this method) and\nthe list of availavle kernel partitions along with the \u0027bootable\u0027\nflag for each.\n\nChanged update_engine_client to show the name of avaiable rollback\npartition with --can_rollback and also added --show_kernels to\noutput list of available kernel partitions and whether each partition\nis bootable or not.\n\nBUG\u003dNone\nTEST\u003dUnit tests pass\n\nChange-Id: Ib7f92a6460c578953ea1ba9b23bd0669acb0e22f\nReviewed-on: https://chromium-review.googlesource.com/191949\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "dea2eac2c565ed5b587278b865e2c07b805a8333",
      "tree": "87501bf70fdff62b273011aad7ca2e91e052652c",
      "parents": [
        "759c275760b51defcfe5545abb887ad2616335f4"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Fri Mar 14 15:56:59 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Mar 20 23:51:59 2014 +0000"
      },
      "message": "update_engine: Added ability to retrieve old version via DBus\n\nNow it is possible to retrieve an old OS version that was in use\nbefore the last reboot, provided that we are now booted into\nan updated version. This is to be used by crash reporter in case\nthe reboot was caused by a crash in kernel while reboot was pending\nfor an update. In such a scenario, the crash would be attributed\nto the current (updated) version, which is wrong.\n\nAlso added additional parameter, --old_version, to\nupdate_engine_client to retrieve the old version number, if any,\nfrom the update engine.\n\nBUG\u003dchrome-os-partner:26518\nTEST\u003dcros deploy and tested via update_engine_client\n\nChange-Id: I84e2322c5698b44b4c77f25c8f4211cdb367e5dc\nReviewed-on: https://chromium-review.googlesource.com/190149\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "59e253e555072d11f3646fc1286459cbc6aa5419",
      "tree": "720e3cde0cb4c1c235f04c776db6ce730ad525ff",
      "parents": [
        "55f39b7043fae6b7c27188d0cd797946098b42ef"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Mon Feb 24 10:40:21 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Feb 25 22:12:31 2014 +0000"
      },
      "message": "update_engine: added CanRollback dbus method\n\nAdded a method to the update engine to check if a rollback\npartition is available and can be booted from.\nupdate_engine_client is also updated to call the function\nwhen --can_rollback paramater is specified\n\nBUG\u003dchromium:343301\nTEST\u003dRan \"update_engine_client --can_rollback\" and unit tests\n\nChange-Id: If3fcb29a0067069a22812f60e9b67c6fdbbd18bd\nReviewed-on: https://chromium-review.googlesource.com/187157\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "3c55abd5fa1e3db40974b2e8d94f2ddce65fe40d",
      "tree": "b601a42e18c7871b980cae929fcd66647d4cf4e7",
      "parents": [
        "c7dd853f695619ebf6dea15831a21aac1a23f209"
      ],
      "author": {
        "name": "David Zeuthen",
        "email": "zeuthen@chromium.org",
        "time": "Mon Oct 14 12:48:03 2013 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Nov 01 19:11:38 2013 +0000"
      },
      "message": "Add D-Bus method to get the duration since an update completed.\n\nThis new API can be used by Chrome to automatically reboot the device\nat N hours after updating. This is implemented as a D-Bus method that\nreturns the number of micro-seconds on the wall-clock since the update\ncompleted. If the device has not updated, the D-Bus method returns an\nerror.\n\nFor robustness, durations are measured using the CLOCK_BOOTTIME clock\ninstead of the usual CLOCK_REALTIME clock. This avoids interference\nwith NTP adjustments, the RTC clock being wrong and other things.\n\nBUG\u003dchromium:218192\nTEST\u003dNew unit test + unit tests pass + manual test on a device using\n    the gdbus(1) command as the chronos user.\n\nChange-Id: I51d44d69afe2d3024bb0780916c3c4e3f8ebb19e\nReviewed-on: https://chromium-review.googlesource.com/173032\nReviewed-by: David Zeuthen \u003czeuthen@chromium.org\u003e\nCommit-Queue: David Zeuthen \u003czeuthen@chromium.org\u003e\nTested-by: David Zeuthen \u003czeuthen@chromium.org\u003e\n"
    },
    {
      "commit": "75a4c3ee6d45c0892e33e46973816e2fec07e277",
      "tree": "fc687614e9b9bcd1ad831638c25abdfe99d3aacf",
      "parents": [
        "20f005c62b55471d3ed8f6fd55e23564adeb59fe"
      ],
      "author": {
        "name": "David Zeuthen",
        "email": "zeuthen@chromium.org",
        "time": "Fri Sep 06 11:36:59 2013 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat Sep 07 23:03:42 2013 +0000"
      },
      "message": "update_engine_client: Add -interactive\u003dtrue|false flag\n\nThis makes it easier to test the update_engine codepaths dealing with\nnon-interactive update attempts.\n\nBUG\u003dchromium:273251\nTEST\u003dManually tested with \u0027update_engine_client -update -interactive\u003dX\u0027 +\n    unit tests pass.\n\nChange-Id: Id3894261fd1c0dc2afdf2426484835f487924433\nReviewed-on: https://chromium-review.googlesource.com/168445\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nTested-by: David Zeuthen \u003czeuthen@chromium.org\u003e\nCommit-Queue: David Zeuthen \u003czeuthen@chromium.org\u003e\n"
    },
    {
      "commit": "36dc2f34ebb67ff2c58e9798bf021d6ffa5bbf5b",
      "tree": "d4488da45820a4df2ac5eb374d1c3f7925075669",
      "parents": [
        "5fdf776fe7eabb0492636ae52d4809ebdbe8a25e"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Thu Aug 29 15:45:06 2013 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Sep 03 23:37:38 2013 +0000"
      },
      "message": "client: Replace DBus client generated method names.\n\nThe dbus-binding-tool uses a different annotation name to specify\nthe C Symbol of a method when generating the interface .h file from\nthe .xml file. For the server side, the\norg.freedesktop.DBus.GLib.CSymbol is used while for the client side\norg.freedesktop.DBus.GLib.ClientCSymbol is used.\n\nThis fix adds the client annotation C Symbol and replaces all the\nfunction calls to those functions.\n\nBUG\u003dNone\nTEST\u003dCode compiles. Generated names are correct.\n\nChange-Id: Ibc9c6c343e618fb2c455f61f89e06c58f9551656\nReviewed-on: https://chromium-review.googlesource.com/167525\nReviewed-by: David Zeuthen \u003czeuthen@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "5fdf776fe7eabb0492636ae52d4809ebdbe8a25e",
      "tree": "8e5d63a43243b70d2c65e45074fbebaf5c735a4d",
      "parents": [
        "d5b3e427e14817266da4d6ead89815778dedf089"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Wed Jul 17 20:01:40 2013 -0700"
      },
      "committer": {
        "name": "Caroline Tice",
        "email": "cmtice@chromium.org",
        "time": "Thu Aug 29 23:09:43 2013 +0000"
      },
      "message": "New DBus methods to enable/disable P2P update sharing.\n\nThis patch adds two new methods to enable/disable sharing updates\nover P2P in the local network. This allows a crosh command to set\nand get this flag to enable or disable this feature.\n\nBUG\u003dchromium:260441\nTEST\u003dManual test. See below.\n\nManual test procedure.\n1. Enable P2P:\nupdate_engine_client -p2p_update yes -show_p2p_update\n\n[0829/141039:INFO:update_engine_client.cc(433)] Current update using P2P setting: ENABLED\n[0829/141039:INFO:update_engine_client.cc(500)] Done.\n\n2. Start the p2p server (this will be done by the p2p_manager\n   as part of the update_engine procedure).\n\n3. Run an update check\nupdate_engine_client -check_for_update\n\nThe /var/log/update_engine.log shows the following line confirming\np2p is enabled.\n[0829/141317:INFO:p2p_manager.cc(194)] Returning value 1 for whether p2p is enabled.\n\n4. Disable p2p and verify the p2p server is not running.\nupdate_engine_client -p2p_update no -show_p2p_update\n\n[0829/141039:INFO:update_engine_client.cc(433)] Current update using P2P setting: ENABLED\n[0829/141039:INFO:update_engine_client.cc(500)] Done.\n\n5. Verify p2p server is not running (ps aux | grep p2p doesn\u0027t show\np2p-server)\n\nChange-Id: I3215e2961be440c491f669d4c580bbf87f7fec25\nReviewed-on: https://chromium-review.googlesource.com/62505\nReviewed-by: David Zeuthen \u003czeuthen@chromium.org\u003e\nCommit-Queue: Alejandro Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alejandro Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "cb7fa886480e74440b41e94856cd3d12a6099e00",
      "tree": "77784cab5c6dc597b745788f12095dd824c9361d",
      "parents": [
        "049d16529de8d43c7c61ae5677efc570d0976a22"
      ],
      "author": {
        "name": "Chris Sosa",
        "email": "sosa@chromium.org",
        "time": "Thu Jul 25 17:02:59 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Mon Aug 05 14:29:46 2013 -0700"
      },
      "message": "Remove all mentions of Set/Get Track and hard-coding of canary-channel.\n\nThis CL removes the deprecated functionality of Set/Get Track previously\nused to change channels. Now that the UI is using Set/Get Channel we no\nlonger need these methods. I\u0027ve also gone ahead and fixed the long standing\nbug of needed to do an update check before testing channel change.\n\nI\u0027ve also added the testing of allow powerwash functionality to update_engine\nclient to better test this feature.\n\nBUG\u003dchromium:221850\nTEST\u003dunittests + update_engine_client with channel change and allowing\npowerwash and not allowing powerwash. Confirmed the versions were as expected (\nwhen going more stable we send version 0.0.0.0 when we allow powerwash vs the\nactual version when not).\n\nChange-Id: I87297f7e7e103bb25e62f2d896e155e758030ead\nReviewed-on: https://gerrit.chromium.org/gerrit/63674\nCommit-Queue: Chris Sosa \u003csosa@chromium.org\u003e\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nTested-by: Chris Sosa \u003csosa@chromium.org\u003e\n"
    },
    {
      "commit": "f4867c4dab4d1ca566f1aa3f585bd16d87b911dd",
      "tree": "2e98607aafd4d60331e97a3bd578dea5d9e02ab7",
      "parents": [
        "820cc706c5ef60a3be96f5487f616bfed2b1d207"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Fri Jun 28 14:41:39 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Tue Jul 09 15:21:24 2013 -0700"
      },
      "message": "Add DBus methods to allow/disallow updates over 3G\n\nThis fix adds a new DBus pair of methods to allow/disallow the\nupdates over cellular networks and get the current state of this\nsetting. The setting is overridden by the device policy and the\nSetUpdateOverCellularPermission() method fails if called on an\nenrolled device that has the autoupdate settings in the device\npolicy.\n\nBUG\u003dchromium:213401\nTEST\u003dunittests for connection_manager changes. Manual test for the DBus service, see below.\n\nManual test procedure.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nRun on a shell:\n\n1. Test for the default setting.\n$ update_engine_client -show_update_over_cellular\n[0701/183633:INFO:update_engine_client.cc(371)] Current update over cellular network setting: DISABLED\n[0701/183633:INFO:update_engine_client.cc(443)] Done.\n\n2. Test that enable works.\n$ update_engine_client -update_over_cellular\u003dyes -show_update_over_cellular\n[0701/183655:INFO:update_engine_client.cc(371)] Current update over cellular network setting: ENABLED\n[0701/183655:INFO:update_engine_client.cc(443)] Done.\n\n3. Test that disable works.\n$ update_engine_client -update_over_cellular\u003dno -show_update_over_cellular\n[0701/183659:INFO:update_engine_client.cc(371)] Current update over cellular network setting: DISABLED\n[0701/183659:INFO:update_engine_client.cc(443)] Done.\n\n4. Enable again the update over cellular, connect the chromebook to a 3G\nand perform an update check.\n\nChange-Id: Ic234a3ef8898b1e60e26277208276a958b7e0d94\nReviewed-on: https://gerrit.chromium.org/gerrit/60716\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "d317e40be46e1b69f624a8165472c99fe6346a1e",
      "tree": "6edd17f9f184c55409eb4563c01c138ab155c8a5",
      "parents": [
        "c41c228da3e34d04fb556f56a4815c51ce741ff6"
      ],
      "author": {
        "name": "Chris Sosa",
        "email": "sosa@chromium.org",
        "time": "Wed Jun 12 13:47:09 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Tue Jun 18 16:11:46 2013 -0700"
      },
      "message": "Implement Rollback to previously booted partitions.\n\nThis CL implements rollback to whatever partition we ran from before.\nWe expose this functionality via dbus under AttemptRollback and expose\na new command-line option to update_engine_client that a developer can\nuse.\n\nBUG\u003dchromium:242665\nTEST\u003dUnittests, full update, update + rollback and verified.\n\nChange-Id: Ie59f90b9a0b777dc1329592449090c70892236bf\nReviewed-on: https://gerrit.chromium.org/gerrit/58427\nCommit-Queue: Chris Sosa \u003csosa@chromium.org\u003e\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nTested-by: Chris Sosa \u003csosa@chromium.org\u003e\n"
    },
    {
      "commit": "ae4697c073b84b260990a141acd53c6806da0708",
      "tree": "c7914e65c09a3ce4f114e9a43acac07acea53c8f",
      "parents": [
        "1d7870976be9fb07259eaa7fc055fc709d28338d"
      ],
      "author": {
        "name": "Jay Srinivasan",
        "email": "jaysri@chromium.org",
        "time": "Mon Mar 18 17:08:08 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Mon Mar 18 18:26:36 2013 -0700"
      },
      "message": "Enhanced channel changing behavior\n\nThis CL adds a new DBUS API to UpdateEngine called SetTargetChannel to\nchange the current channel of the device with an option to indicate\nwhether to do eventually or immediately.\n\nThe API will be called with the option to do it immediately in a\nsubsequent CL in Chrome UI. For now the old API (set_track) has been\nwired up to call the new API to produce the old behavior (i.e. change\neventually). The old API will be removed after Chrome UI code stops\nusing it.\n\nIt\u0027s the UI\u0027s responsibility to ask the user for confirmation for the\npowerwash that may happen in some cases and call the API with the\nappropriate value whether or not the powerwash should happen.\n\nFor now, we\u0027re restricting the changing of channels to only those\ndevices that are on canary-channel or running test builds. This\nrestriction will be lifted off once the UI work is ready to give\nwarning to the users about the powerwash that may happen when they move\nto a more stable channel.\n\nWe also enforce ReleaseChannelDelegated and ReleaseChannel policies\ncorrectly now as follows:\n\n* If ReleaseChannelDelegated is false, SetTargetChannel will fail as we\nneed to honor (only) the ReleaseChannel value in this case.\n* If ReleaseChannelDelegated is true, we\u0027ll allow the SetTargetChannel\ncall to specify. In this case, we\u0027ll ignore the value of ReleaseChannel,\nif any.\n\nBUG\u003dchromium-os:39095\nTEST\u003dTested on ZGB by going from canary to dev-channel with and without\npowerwash.\nTEST\u003dExisting unit tests have been updated and they pass.\nTEST\u003dNew unit tests have been added.\n\nChange-Id: Ifbf806a06e1c30d2f318e94d73735d1812049abd\nReviewed-on: https://gerrit.chromium.org/gerrit/44619\nCommit-Queue: Jay Srinivasan \u003cjaysri@chromium.org\u003e\nReviewed-by: Jay Srinivasan \u003cjaysri@chromium.org\u003e\nTested-by: Jay Srinivasan \u003cjaysri@chromium.org\u003e\n"
    },
    {
      "commit": "c1ba09a8f4d3eda4654b34bf01d41fd9ad1d9f38",
      "tree": "fe37b90ede427fb8e8b849ac7f35072457d2eac9",
      "parents": [
        "21be0753ca991afed45998ecd4c157c245f1fad0"
      ],
      "author": {
        "name": "Jay Srinivasan",
        "email": "jaysri@chromium.org",
        "time": "Tue Aug 14 14:15:57 2012 -0700"
      },
      "committer": {
        "name": "Gerrit",
        "email": "chrome-bot@google.com",
        "time": "Tue Aug 14 16:11:50 2012 -0700"
      },
      "message": "Support in update_engine for script for UI jank investigation.\n\nWe need to update image_to_live.sh to run in a loop to help investigate\nthe kernel behavior during AU. Since update_engine doesn\u0027t allow a\nnew update to be applied unless the device is rebooted after the previous\nupdate, this CL adds an option to reset the state for testing purposes.\n\nThis CL does not cause any change in product code, since\nupdate_engine_client will never be invoked with this option in product.\n\nBUG\u003dchromium-os:27954\nTEST\u003dTested on ZGB.\nChange-Id: I561e58893818a1b4990fdc131cd3bb64e473155e\nReviewed-on: https://gerrit.chromium.org/gerrit/29907\nCommit-Ready: Jay Srinivasan \u003cjaysri@chromium.org\u003e\nReviewed-by: Jay Srinivasan \u003cjaysri@chromium.org\u003e\nTested-by: Jay Srinivasan \u003cjaysri@chromium.org\u003e\n"
    },
    {
      "commit": "583667b33cb62b97fbbd792d6c830c530d759ec1",
      "tree": "923655017e09d3d7307c3a9bc6097e62c3c0ccee",
      "parents": [
        "34e41a1b50ccd06f5b3dad7a1ab1d467c7e8e00e"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@chromium.org",
        "time": "Wed Oct 27 13:09:57 2010 +0900"
      },
      "committer": {
        "name": "Satoru Takabayashi",
        "email": "satorux@chromium.org",
        "time": "Wed Oct 27 13:09:57 2010 +0900"
      },
      "message": "AU: Implement getting of tracks through GetTrack.\n\nAdd SetTrack and GetTrack to UpdateEngine.xml as well.\n\nBUG\u003dchromium-os:8104\nTEST\u003dtested on device with update_engine_client\n\nChange-Id: I10ef2552e9280524b3a8d5f232d104a81a114e06\n\nReview URL: http://codereview.chromium.org/4181001\n"
    },
    {
      "commit": "8daa3247249c5cd71ae920ef6808dd0224ef42e7",
      "tree": "0ceac62e63a93b589c30f6422df07df3a232a685",
      "parents": [
        "4ba850db6ae74f056e875c75c1631043bfd44f56"
      ],
      "author": {
        "name": "Darin Petkov",
        "email": "petkov@chromium.org",
        "time": "Mon Oct 25 13:28:47 2010 -0700"
      },
      "committer": {
        "name": "Darin Petkov",
        "email": "petkov@chromium.org",
        "time": "Mon Oct 25 13:28:47 2010 -0700"
      },
      "message": "AU: Provide a D-Bus API for changing the update track.\n\nThe method is SetTrack(string). It doesn\u0027t do anything right now but hopefully\nthis CL will enable work on libcros.\n\nBUG\u003d8104\nTEST\u003dunit tests; tested on device through update_engine_client.\n\nChange-Id: I6941fe3d04165d85c4612e3a01939d02c02014f9\n\nReview URL: http://codereview.chromium.org/4094001\n"
    },
    {
      "commit": "0aa39a6ac40e52d783e3d80abe59ffe30ec7c1dd",
      "tree": "dd278292149750d2c024b46c942efff2ae4487ab",
      "parents": [
        "58529db65ee21eaa3279bc2bb28baf1fec72e621"
      ],
      "author": {
        "name": "Darin Petkov",
        "email": "petkov@chromium.org",
        "time": "Fri Aug 13 12:41:57 2010 -0700"
      },
      "committer": {
        "name": "Darin Petkov",
        "email": "petkov@chromium.org",
        "time": "Fri Aug 13 12:41:57 2010 -0700"
      },
      "message": "Remove obsolete CheckForUpdate/check_for_update D-Bus method.\n\nBUG\u003d5402\nTEST\u003dunit tests, gmerged on device and tried updates, emerged libcros.\n\nChange-Id: I94ac031a33e6ca586a67974235496d245ded04bd\n\nReview URL: http://codereview.chromium.org/3179014\n"
    },
    {
      "commit": "296889c68c92b04d307035c5803681f8d2c8f9d3",
      "tree": "12bc939be362b65145d45efa26d5886a5d5e80dc",
      "parents": [
        "192ced474a4226f1921fcdaa6a763f5f2d7e1b49"
      ],
      "author": {
        "name": "Darin Petkov",
        "email": "petkov@chromium.org",
        "time": "Fri Jul 23 16:20:54 2010 -0700"
      },
      "committer": {
        "name": "Darin Petkov",
        "email": "petkov@chromium.org",
        "time": "Fri Jul 23 16:20:54 2010 -0700"
      },
      "message": "AU: Provide a reboot_if_needed D-Bus API.\n\nThis will reboot if the current state is UPDATED_REBOOT_NEEDED.\nAlso add -reboot option to the update_engine_client.\n\nBUG\u003d4250\nTEST\u003dunit tests,gmerged on device and tried reboot requests\n\nReview URL: http://codereview.chromium.org/3034026\n"
    },
    {
      "commit": "5a7f565a542196f24eb87ddac96508f8a84e3329",
      "tree": "139f0837dc61973ae806c76185a7533a0d78d804",
      "parents": [
        "777dbfae01be95ac66f385cd96dc6e4b421fefe5"
      ],
      "author": {
        "name": "Darin Petkov",
        "email": "petkov@chromium.org",
        "time": "Thu Jul 22 21:40:09 2010 -0700"
      },
      "committer": {
        "name": "Darin Petkov",
        "email": "petkov@chromium.org",
        "time": "Thu Jul 22 21:40:09 2010 -0700"
      },
      "message": "Add support to update_engine_client for -app_version and -omaha_url.\n\nThese options prevent auto-detection of these parameters.\nNote that this CL makes the check_for_update DBus method obsolete from\nthe client\u0027s point of view.\n\nBUG\u003d4593\nTEST\u003dunit tests, gmerged on device and tried the client with different options.\n\nReview URL: http://codereview.chromium.org/3048008\n"
    },
    {
      "commit": "63b96d74b2ffe5999243ab5c33f588030bcb42ce",
      "tree": "4a6e93710964a383ea862a91a944b086d745452b",
      "parents": [
        "f98bff879c8e90840582f6a60a93918465f2d8b9"
      ],
      "author": {
        "name": "Andrew de los Reyes",
        "email": "adlr@chromium.org",
        "time": "Mon May 10 13:08:54 2010 -0700"
      },
      "committer": {
        "name": "Andrew de los Reyes",
        "email": "adlr@chromium.org",
        "time": "Mon May 10 13:08:54 2010 -0700"
      },
      "message": "AU: DBus support.\n\nA few changes to support dbus in the Update Engine daemon:\n\n- SConstruct: build marshaller for the dbus signal.\n\n- Update Attempter: respond to dbus calls and broadcast status on dbus\n  signal.\n\n- Update Engine Client: flag to listen for status updates.\n\n- Also, cleanup outdated code in Omaha Response Handler.\n\nBUG\u003dNone\nTEST\u003dattached unittests/on device tests\n\nReview URL: http://codereview.chromium.org/2037002\n"
    },
    {
      "commit": "4e9b9f4d57a0c95fb1b9281077f0eef5fdf5e345",
      "tree": "32bd273a8369718b300bba4af4532580f6090bb4",
      "parents": [
        "09e56d64202d2148b95008c5bd18cf719ec0f40c"
      ],
      "author": {
        "name": "Andrew de los Reyes",
        "email": "adlr@chromium.org",
        "time": "Mon Apr 26 15:06:43 2010 -0700"
      },
      "committer": {
        "name": "Andrew de los Reyes",
        "email": "adlr@chromium.org",
        "time": "Mon Apr 26 15:06:43 2010 -0700"
      },
      "message": "AU: Beginnings of dbus support.\n\nThe AU will be a daemon that runs as root. Non-root will communicate\nvia dbus with the updater to do things such as: query status, request\nforced or full updates, etc.\n\nNew files for dbus:\n\nUpdateEngine.conf - security configuration\ndbus_constants.h - common constants\ndbus_service.* - The object exposed over dbus\norg.chromium.UpdateEngine.service - the dbus service file\nudpate_attempter.* - Refactored this out of main.cc\nupdate_engine_client.cc - Simple command line utility to interact with\nUpdate Engine over dbus. Whereas Update Engine runs as root, this tool\nruns as non-root user.\n\nReview URL: http://codereview.chromium.org/1733013\n"
    }
  ]
}
