)]}'
{
  "commit": "f771a6b876495f16b59163a18bf0d41d0301cc45",
  "tree": "f5adc04c2980732c54ed817ed77a25d8d615f9a5",
  "parents": [
    "ece2d3bd8894a028d557fb2385315f914c5f27be"
  ],
  "author": {
    "name": "Nicholas Bishop",
    "email": "nicholasbishop@google.com",
    "time": "Mon Jan 23 19:51:06 2023"
  },
  "committer": {
    "name": "Chromeos LUCI",
    "email": "chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jan 24 22:07:58 2023"
  },
  "message": "Add self-revocation check\n\nThis check can prevent old versions of crdyboot from booting, as long as\na newer version of crdyboot has run at least once. This is a form of\nrollback protection. The revocation variable could also be set through\nother means outside of crdyboot, although this would be specific to the\ndeployment.\n\nSee the docstring in `libcrdy/src/revocation.rs` for more details.\n\nThis feature is currently tested mostly through unit tests in\n`revocation.rs`; the UEFI variable reads and writes are mocked out and\nall the various `check_revocation` branches have a unit test.\n\nBUG\u003db:265975022\nTEST\u003dcargo xtask check\nTEST\u003dcargo xtask qemu\n\nChange-Id: Ie1c53588cb84ee87135091bb6c279d3bd59fe373\nReviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crdyboot/+/4189083\nReviewed-by: Ted Brandston \u003ctbrandston@google.com\u003e\nCommit-Queue: Nicholas Bishop \u003cnicholasbishop@google.com\u003e\nTested-by: Nicholas Bishop \u003cnicholasbishop@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "51ef151563fb64afd0340c52cdd466e6e6f0c12e",
      "old_mode": 33188,
      "old_path": "crdyboot/src/main.rs",
      "new_id": "6dc27e43d992fc539cc36227f396132ab4c5cbde",
      "new_mode": 33188,
      "new_path": "crdyboot/src/main.rs"
    },
    {
      "type": "modify",
      "old_id": "25fcfb08b8e7acb3d5b8657f42e1d864dc0113e7",
      "old_mode": 33188,
      "old_path": "libcrdy/src/lib.rs",
      "new_id": "cf1b6052b4f87d68d7d0e7469adaf1b1295fd487",
      "new_mode": 33188,
      "new_path": "libcrdy/src/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "acd0b1deae84fb76c67ebe9e69eb57d5ff8a48a4",
      "old_mode": 33188,
      "old_path": "libcrdy/src/result.rs",
      "new_id": "42be5f1033ee2392e56f158c4ef176fd03b970ea",
      "new_mode": 33188,
      "new_path": "libcrdy/src/result.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "afb5d7e61c55a0c3376543df3ad7c5e51f2f5d37",
      "new_mode": 33188,
      "new_path": "libcrdy/src/revocation.rs"
    }
  ]
}
