)]}'
{
  "commit": "e2cb423767cc39f187da28ef6f1facf31d5b76f8",
  "tree": "05fc2de883b00ec93c16e8b63991ab0656cbea46",
  "parents": [
    "61f320874be3541087c9ba5e2f21c1ebbc90dbce"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Wed Jun 23 18:14:22 2021 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Aug 25 22:28:51 2021 +0000"
  },
  "message": "Deduplicate our three ServerHello parsers.\n\nWe do this enough that it\u0027s worth extracting a common parser. And this\ngives a struct we can pass around. Note this moves the server extensions\nblock parsing out of ssl_scan_serverhello_tlsext.\n\nI\u0027ve also consolidated a few error conditions to tighten the code up a\nbit: the TLS 1.2 code distinguishes unknown from unadvertised cipher,\nwhile the TLS 1.3 code didn\u0027t. And seeing the wrong legacy version\nnumber in TLS 1.3 is really just a syntax error since it\u0027s not the\nversion field anymore. (RFC8446 specifies the value.)\n\nChange-Id: Ia2f44ff9a3899b5a594569f1b258f2b487930496\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/48908\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9af928cec1d94e02d4cd1a76836da3bed33bb7d4",
      "old_mode": 33188,
      "old_path": "ssl/extensions.cc",
      "new_id": "6fec4458447b47a388bde7fb4ffcfbac4d55d37f",
      "new_mode": 33188,
      "new_path": "ssl/extensions.cc"
    },
    {
      "type": "modify",
      "old_id": "ba8f4b74864d3dd6f022e76fd8c2f25f6cb69523",
      "old_mode": 33188,
      "old_path": "ssl/handshake_client.cc",
      "new_id": "b5199baaf3a4b3399426b66aab140732f5e25320",
      "new_mode": 33188,
      "new_path": "ssl/handshake_client.cc"
    },
    {
      "type": "modify",
      "old_id": "7505e5dcd7a04a8fff70bf95376f94114f1cdd46",
      "old_mode": 33188,
      "old_path": "ssl/internal.h",
      "new_id": "0c91724b2f72ca83f5844b0923f2bd4e23237302",
      "new_mode": 33188,
      "new_path": "ssl/internal.h"
    },
    {
      "type": "modify",
      "old_id": "03dcbf150ef9140e2264231b8ea3e0cf1c507a7e",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/runner.go",
      "new_id": "1953b885b58190a0ab325f3cf638ee4e753e0060",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/runner.go"
    },
    {
      "type": "modify",
      "old_id": "bc137aa72e20bd73273c20d5775d75e19c96b8de",
      "old_mode": 33188,
      "old_path": "ssl/tls13_client.cc",
      "new_id": "7a19b2abe87fdfa75b99b8ebb659cd51f4b069ba",
      "new_mode": 33188,
      "new_path": "ssl/tls13_client.cc"
    }
  ]
}
