)]}'
{
  "commit": "32345ce6f23f0c284acad302084f300f15a00bcd",
  "tree": "5b2286d90535a6c6647794403795f74e76059f52",
  "parents": [
    "42d723f634ce668bcb246e3c042cba264d60bb21"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Fri Oct 26 14:30:44 2018 -0500"
  },
  "committer": {
    "name": "CQ bot account: commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Tue Oct 30 21:00:45 2018 +0000"
  },
  "message": "Minor fixes to bytestring.h header.\n\nRyan noticed that CBS_ASN1_{SEQUENCE,SET} used CBS_ASN1_CONSTRUCTED\nbefore it was defined. The C preprocessor expands late, so this works,\nbut it is weird. Flip the order.\n\nThere was also some question about the constructed bit, which is\ndifferent from how ASN.1 formally specifies it. (ASN.1 believes the\nconstructed bit is a property of the element, not the tag. We fold it in\nbecause it\u0027s entirely computable[*] from the type in DER, so it\u0027s easier\nto fold it in.) Move existing text to the section header and expand on\nit.\n\n[*] DER forbids constructed strings so string types are always\nprimitive. ASN.1 forbids implicitly tagging CHOICE or ANY, so the\ninherited constructed bit cannot vary by value.\n\nChange-Id: Ieb91f9d6898d582dda19fec8b042051b67f217a8\nReviewed-on: https://boringssl-review.googlesource.com/c/32725\nReviewed-by: Ryan Sleevi \u003crsleevi@chromium.org\u003e\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nCommit-Queue: Adam Langley \u003cagl@google.com\u003e\nCQ-Verified: CQ bot account: commit-bot@chromium.org \u003ccommit-bot@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1400f2ed12b2e3b97d438b7d5345ca41d64078cc",
      "old_mode": 33188,
      "old_path": "include/openssl/bytestring.h",
      "new_id": "701466ea9e876dff07eb74286a5bc65396ef4ff8",
      "new_mode": 33188,
      "new_path": "include/openssl/bytestring.h"
    }
  ]
}
