)]}'
{
  "commit": "8acec00e9eaf4d69297a67c0c10729470b4bd764",
  "tree": "6fb240145e223931e36b550969158535eefeda7c",
  "parents": [
    "bc4c91ab4655d10b55427ad7d4f1ae21fe2df06b"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Wed May 19 13:03:34 2021 -0400"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Thu Jun 03 20:49:36 2021 +0000"
  },
  "message": "Manage Channel ID handshake state better.\n\nThe channel_id_valid bit is both used for whether channel_id is filled\nin (SSL_get_tls_channel_id), and whether this particular handshake will\neventually negotiate Channel ID.\n\nThe former means that, if SSL_get_tls_channel_id is called on the\nclient, we\u0027ll return all zeros. Apparently we never fill in channel_id\non the client at all. The latter means the state needs to be reset on\nrenegotiation because we do not currently forbid renegotiation with\nChannel ID (we probably should...), which is the last use of the init\ncallback for extensions.\n\nInstead, split this into a bit for the handshake and a bit for the\nconnection. Note this means we actually do not expose or even retain\nwhether Channel ID was used on the client.\n\nThis requires a tweak to the handoff logic, but it should be compatible.\nThe serialized ssl-\u003es3-\u003echannel_id was always a no-op: the handback\nhappens before the ChannelID message, except in RSA key exchange. But we\nforbid Channel ID in RSA key exchange anyway.\n\nUpdate-Note: SSL_get_tls_channel_id will no longer return all zeros\nduring the handshake or on the client. I did not find any callers\nrelying on this.\n\nChange-Id: Icd4b78dd3f311d1c7dfc1cae7d2b86dc7e327a99\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/47906\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0981f156ad6fcc576063dd4fb9713ac3ff5df389",
      "old_mode": 33188,
      "old_path": "include/openssl/ssl.h",
      "new_id": "cad9750b2afabdc0fab16ac1726c8c68eb3fb3b3",
      "new_mode": 33188,
      "new_path": "include/openssl/ssl.h"
    },
    {
      "type": "modify",
      "old_id": "3ac29c6b561f55f408b2c85fbcbd35155a10512e",
      "old_mode": 33188,
      "old_path": "ssl/handoff.cc",
      "new_id": "5f836fadb55335244f410a6880a671e9c5d6b812",
      "new_mode": 33188,
      "new_path": "ssl/handoff.cc"
    },
    {
      "type": "modify",
      "old_id": "e6280005be720a00a597ffd647c2d051fc7b1cb2",
      "old_mode": 33188,
      "old_path": "ssl/handshake.cc",
      "new_id": "ca2238f0452382a46a654ac54881ba153c81bfdc",
      "new_mode": 33188,
      "new_path": "ssl/handshake.cc"
    },
    {
      "type": "modify",
      "old_id": "7e2fbb58d2a1e9568d2a7e0831558de27f77b188",
      "old_mode": 33188,
      "old_path": "ssl/handshake_client.cc",
      "new_id": "b7432eccea82477c6e19cad0b0eb87b1bdca5b3c",
      "new_mode": 33188,
      "new_path": "ssl/handshake_client.cc"
    },
    {
      "type": "modify",
      "old_id": "24dbeae3a84c32bfa9d433d9f9544e4c2b4ab3b1",
      "old_mode": 33188,
      "old_path": "ssl/handshake_server.cc",
      "new_id": "2d1cc38cfb74d32ec82c8f88a2f922f68a0b048f",
      "new_mode": 33188,
      "new_path": "ssl/handshake_server.cc"
    },
    {
      "type": "modify",
      "old_id": "b5729311e933df00c021a0a4353940054806bd32",
      "old_mode": 33188,
      "old_path": "ssl/internal.h",
      "new_id": "7be766d74f3a126740e0025a1aa6ab32e0c6a59b",
      "new_mode": 33188,
      "new_path": "ssl/internal.h"
    },
    {
      "type": "modify",
      "old_id": "f6ba3682233bd12a1a75f326632a292f19f7e453",
      "old_mode": 33188,
      "old_path": "ssl/t1_lib.cc",
      "new_id": "a63ca5dd01ee5e810a21582b89ff8d2aeb396f23",
      "new_mode": 33188,
      "new_path": "ssl/t1_lib.cc"
    },
    {
      "type": "modify",
      "old_id": "8ba6b4de1243fecc6ff209875d08479bb3319370",
      "old_mode": 33188,
      "old_path": "ssl/tls13_client.cc",
      "new_id": "bac37ff0725ff8cc39de3a071f68b1a818e7dde4",
      "new_mode": 33188,
      "new_path": "ssl/tls13_client.cc"
    },
    {
      "type": "modify",
      "old_id": "c2a66a89d0c9d02e9d45d8a3796bb2211a82603f",
      "old_mode": 33188,
      "old_path": "ssl/tls13_server.cc",
      "new_id": "2dc285674dd5b77be7fcd8d58163a05cdcded35d",
      "new_mode": 33188,
      "new_path": "ssl/tls13_server.cc"
    }
  ]
}
