)]}'
{
  "log": [
    {
      "commit": "21a0250e767dd6fc787252b9cc05657405332774",
      "tree": "1152a5ae33e938bd3a6a670e025a7042138c5e13",
      "parents": [
        "9753f3d28bda5d2abd7d17eb79022f7e02cb65b9"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Thu Aug 22 16:59:48 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Mon Aug 26 16:02:59 2013 -0700"
      },
      "message": "paycheck: allow to pass an explicit path to bspatch\n\nThe bspatch binary is used when applying update payloads. By default, we\nwere using whatever bspatch that was found via path expansion in\nos.execvp, however there are cases where we want to be specific about\nwhere the bspatch binary is that we need to be using (such as during\npaygen runs).\n\nBUG\u003dchromium:277072\nTEST\u003dNon-default bspatch binary used\n\nChange-Id: I85ffd28aeb26938cbf5ea428fa97d29af0353a7d\nReviewed-on: https://gerrit.chromium.org/gerrit/66736\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "e5fdf189ce3a4628f02a0bd5e09694bf7b815cdf",
      "tree": "5a3a186031be7d878a309eda61ac01ff97b8d820",
      "parents": [
        "7a7edfd034e37663337049ccb0aa59467f3b8fd1"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Thu May 23 16:13:38 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Fri May 24 11:36:49 2013 -0700"
      },
      "message": "paycheck: truncate partitions resulting from applying a payload\n\nSince the correctness of the result only encompasses the filesystem (or\notherwise \"meaningful data\") on the target partition, it is desirable to\nactually get rid of whatever is past that point. There are different\nreasons for the presence of such extra space in delta updates, including\nremnants from a source partition that served as baseline for a delta\nupdate, or scratch space used by MOVE operations for breaking cycles.\n\nWe make truncation the default behavior, although it can be suppressed\nby passing the right flag (truncate_to_expected_size\u003dFalse). Note that\nthis change is necessary for comparing the results of applying a payload\nto the partitions as they are extracted from a target image, which is to\nbe attempted during payload generation.\n\nThis also fixes tiny gpylint complaints.\n\nBUG\u003dchromium:241283\nTEST\u003dEmitted partition files truncated as expected\n\nChange-Id: Ibb71e4f2305ec41224afdc503168ae02c312f6fe\nReviewed-on: https://gerrit.chromium.org/gerrit/56532\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "432d601e236bf8b9110fdb497e5f5c87899346e2",
      "tree": "987f4a1da85832be2f2ebdf9bab1ae2b8264344f",
      "parents": [
        "4f50b413c60a5ef8d642b9d7493baa92c8eedd09"
      ],
      "author": {
        "name": "Don Garrett",
        "email": "dgarrett@google.com",
        "time": "Fri May 10 15:01:36 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Wed May 15 18:42:55 2013 -0700"
      },
      "message": "Update paycheck to understand the updated update_metadata fields.\n\nWhen checking a payload, always start by printing a description of the\npayload being checked.\n\nRecompiled (with protoc) the updated update_metadata.proto from the\nupdate_engine.\n\nBUG\u003dchromium:226310\nTEST\u003dManual Run\nCQ-DEPEND\u003dCL:47347\n\nChange-Id: Ib60c6e6978d30444db7b65ef6d09540c9ffacdb8\nReviewed-on: https://gerrit.chromium.org/gerrit/50899\nCommit-Queue: Don Garrett \u003cdgarrett@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nTested-by: Don Garrett \u003cdgarrett@chromium.org\u003e\n"
    },
    {
      "commit": "272a499e2db9d72a64490ca5ccbebe8155fc2966",
      "tree": "d43741ced85b1740f1acbc26da3b94da0b4dddcb",
      "parents": [
        "16416600a92a60294cd57aceec170a13ed72ed19"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Wed May 08 13:12:53 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Mon May 13 19:31:11 2013 -0700"
      },
      "message": "paycheck: support for in-place BSDIFF operations\n\nWhen applying BSDIFF operations in payloads, we used to extract the\nblock sequences from the old partition and serialize it into a temporary\nfile, and vice versa for the new partition. This worked but did not\nallow us to test bspatch as it is actually being used by the update\nengine.\n\nThis CLs allows paycheck to invoke bspatch so that it reads/writes block\nextents directly from/to the partition file, in the same way it\u0027s being\nused by the update engine. Since performance is the same, this is the\nnew default behavior; users can opt for the aforementioned old behavior\nusing a command-line flag (-x or --extract-bsdiff).\n\nBUG\u003dchromium:229705\nTEST\u003dbspatch invoked differently depending on the -x flag\nTEST\u003dPasses unit/integration tests\n\nChange-Id: I8821754e1163b357617ece6befa42d1c2e575930\nReviewed-on: https://gerrit.chromium.org/gerrit/50486\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Darin Petkov \u003cpetkov@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "16416600a92a60294cd57aceec170a13ed72ed19",
      "tree": "9c03d70c288b726e10279952311b6f36ab3cf767",
      "parents": [
        "2ca9f145a8f7abe5893ad43021dc2901072315be"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Sat May 04 21:40:39 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Mon May 13 15:54:25 2013 -0700"
      },
      "message": "paycheck: src/dst -\u003e old/new in applier code\n\nThe old/new terminology is consistent with that used in update payload\nmanifest, as well as other parts of the update_payload library (e.g.\nchecker).\n\nBUG\u003dNone\nTEST\u003dUnit/integration test passes\n\nChange-Id: I91244ae8adf073b958e8cd7e7670341f056c848e\nReviewed-on: https://gerrit.chromium.org/gerrit/50130\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "382df5ce2f4b67bf0998b01c6fedcdb5c35ebef9",
      "tree": "f134f56266c93512a10f7d8fff5bd06bd15e70a5",
      "parents": [
        "e73dad9a9ea7121c9e80448dbda154c2510a860f"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Fri May 03 12:49:28 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Tue May 07 00:03:14 2013 -0700"
      },
      "message": "paycheck: enforce physical partition size correctly\n\nDuring payload checking, payload has wrongly interpreted the size\nreported in the update payload to be the physical partition size,\nwhereas this is in fact the size of the filesystem portion only (a\nmisnomer). This sometimes caused it to emit errors on out-of-bounds\noperations, which are otherwise harmless in real-world scenarios.\n\nThis CL makes a clear distinction between the two, with the following\nsemantics:\n\n- The payload\u0027s embedded filesystem size must by \u003c\u003d the physical\n  partition sizes.\n\n- Reading/writing from/to the new partition must be within the physical\n  partition size boundaries, and not the filesystem ones.\n\n- Reading from the old partition is only allowed from filesystem\n  boundaries; this is unchanged from current behavior and appears to be\n  consistent with how we perform delta updates.\n\n- Old/new SHA256 verification during payload application is now limited\n  to the allotted filesystem portion only (and not the full partition\n  size). This is consistent with the update engine\u0027s semantics.\n\n- Other than that, this change currently has no further effect on\n  payload application, which remains more permissive wrt to partition\n  sizes.  This also means that the sizes of partitions resulting from\n  a payload application will not necessarily abide by the predetermined\n  physical partition sizes.  This is in line with the prevailing\n  division of responsibilities between payload checking (strict) and\n  application (relaxed).\n\nBUG\u003dchromium:221847\nTEST\u003dPayload checking respects partition size override\nTEST\u003dUnit tests pass\nTEST\u003dIntegration tests pass\n\nChange-Id: I0dbc88d538c0cc53b7551f4dfa8f543bcf480cd5\nReviewed-on: https://gerrit.chromium.org/gerrit/50103\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nCommit-Queue: David James \u003cdavidjames@chromium.org\u003e\n"
    },
    {
      "commit": "eaed0d1371d781d3f5effa1475f5202dea9467e7",
      "tree": "47579dbb2323becb26c525d85da1e33b459ee1ef",
      "parents": [
        "4fbe409cb84e9ae89f22c6f3e80580ee49dbc0a2"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Tue Apr 30 15:38:22 2013 -0700"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Thu May 02 15:46:43 2013 -0700"
      },
      "message": "paycheck: allow to disable specific checks\n\nThis became necessary as the delta generator appears to generate\npayloads that fail certain checks (e.g. during update_engine unit\ntesting).\n\nBUG\u003dNone\nTEST\u003dDisabled checks not being triggered\n\nChange-Id: I4491e0cb32ef44f85e11ffb0402b40d1371525ae\nReviewed-on: https://gerrit.chromium.org/gerrit/49676\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "5502b56f34f9703cf053be46e4ea5685c0c9ac26",
      "tree": "5d1eb5c4d0fb8016ae03698d5a89451fcde5bde7",
      "parents": [
        "857223b4118d7b4d9bd988d996db00d7ea313029"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Fri Mar 08 13:22:31 2013 -0800"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Fri Apr 05 17:02:56 2013 -0700"
      },
      "message": "paycheck: unit tests + fixes to checker module\n\nThis adds missing unit tests for the checker module, bundled with fixes\nto some bugs that surfaced due to unit tests. This includes:\n\n* A fake extent (signified by start_block \u003d\u003d UINT64_MAX) that\n  accompanies a signature data blob bears different requirements than\n  previously implemented.  Specifically, the extent sequence must have\n  exactly one extent; and the number of blocks is not necessarily one,\n  rather it is the correct number that corresponds to the actual length\n  of the signature blob.\n\n* REPLACE/REPLACE_BZ operations must contain data.\n\n* MOVE operation validation must ensure that all of the actual message\n  extents are being used.\n\n* BSDIFF operation must contain data (the diff).\n\n* Signature pseudo-operation should be a REPLACE.\n\nBUG\u003dchromium-os:34911,chromium-os:33607,chromium-os:7597\nTEST\u003dPasses unittests (upcoming); works with actual payloads.\n\nChange-Id: I4d839d1d4da1fbb4a493b208958a139368e2c8ca\nReviewed-on: https://gerrit.chromium.org/gerrit/45429\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "553b0ec49bc64fc4b7df4358cd31396a87276d2b",
      "tree": "ae430c299339c9480d12c2d2da0be419426aa55d",
      "parents": [
        "516f0f7a3d13b74f7bf6f5fb8573f5900c1eb94f"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Sat Jan 26 01:00:39 2013 -0800"
      },
      "committer": {
        "name": "ChromeBot",
        "email": "chrome-bot@google.com",
        "time": "Fri Mar 08 12:01:42 2013 -0800"
      },
      "message": "Update payload library + command-line tool\n\nAn initial implementation of a Python module for parsing, checking and\napplying a Chrome OS update payload. Comes with a command-line tool\n(paycheck.py) for applying such operations on payload files, and a test\nscript (test_paycheck.sh) for ensuring that the library and tool are\nworking correctly.\n\nSince update_payload is introduced as a package, we\u0027re moving some\npreviously merged utilities into the package\u0027s directory.\n\n(Unit testing for this code will be uploaded on a separate CL; see\nchromium-os:39663)\n\nBUG\u003dchromium-os:34911,chromium-os:33607,chromium-os:7597\nTEST\u003dtest_paycheck.sh successful on MP-signed payloads\nCQ-DEPEND\u003dI5746a1d80e822a575f0d96f94d0b4e765fc64507\n\nChange-Id: I77123a1fffbb2059c239b7145c6922968fdffb6a\nReviewed-on: https://gerrit.chromium.org/gerrit/43041\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nReviewed-by: Jay Srinivasan \u003cjaysri@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    }
  ]
}
