)]}'
{
  "commit": "008c0af3180c4e981012a3d9d42a5ae435b45ba4",
  "tree": "c847e6228da2f9c5de7884d97802e97a8c3523bd",
  "parents": [
    "6a4de22e0ea2f35ebeb0f36bf04f243acc86857b"
  ],
  "author": {
    "name": "Damien Neil",
    "email": "dneil@google.com",
    "time": "Mon Sep 18 08:52:27 2023 -0700"
  },
  "committer": {
    "name": "Damien Neil",
    "email": "dneil@google.com",
    "time": "Mon Sep 18 23:35:13 2023 +0000"
  },
  "message": "quic: refactor keys for key updates\n\nRefactor how we store encryption keys in preparation for adding\nsupport for key updates.\n\nPreviously, we had a single \"keys\" type containing header and packet\nprotection key material. With key update, the 1-RTT header protection\nkeys are consistent across the lifetime of a connection, while\npacket protection keys vary. Separate out the header and packet\nprotection keys into distinct types.\n\nAdd \"fixed\" key types for keys which remain fixed across a\nconnection\u0027s lifetime and do not update. For the moment,\n1-RTT keys are still fixed.\n\nRemove a number of can-never-happen error returns from\nkey handling paths. We were previously inconsistent about\nwhere to panic and where to return an error on these paths;\nwe now consistently panic in paths where errors can only\noccur due to a bug. (For example, attempting to create an\nAEAD with an incorrect secret size.)\n\nNo functional changes, this is purely refactoring.\n\nFor golang/go#58547\n\nChange-Id: I49f83091517186e452845b65a1597add60e5fc92\nReviewed-on: https://go-review.googlesource.com/c/net/+/529155\nReviewed-by: Jonathan Amsterdam \u003cjba@google.com\u003e\nLUCI-TryBot-Result: Go LUCI \u003cgolang-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "26c25f8956ed21d469aa6f03c22cbae7505f183c",
      "old_mode": 33188,
      "old_path": "internal/quic/conn.go",
      "new_id": "4565e1a58cc53a80d5e65983c786cc3a656fdfe2",
      "new_mode": 33188,
      "new_path": "internal/quic/conn.go"
    },
    {
      "type": "modify",
      "old_id": "64e5f985faddfc0f97977b0310867b9d5c79b6b7",
      "old_mode": 33188,
      "old_path": "internal/quic/conn_recv.go",
      "new_id": "d1fa52d99034e156c33efc0fcb1d39457404a5fa",
      "new_mode": 33188,
      "new_path": "internal/quic/conn_recv.go"
    },
    {
      "type": "modify",
      "old_id": "853c8453fddb564776ec1eabfd67571c43e6d253",
      "old_mode": 33188,
      "old_path": "internal/quic/conn_send.go",
      "new_id": "58a3df1078b47f7d70f8ead9b4685deec5dc4a9c",
      "new_mode": 33188,
      "new_path": "internal/quic/conn_send.go"
    },
    {
      "type": "modify",
      "old_id": "4228ce7215a8444eeba89b5ba747ef78590e03e9",
      "old_mode": 33188,
      "old_path": "internal/quic/conn_test.go",
      "new_id": "3fef62d507233bd51439a62050c3dcead83de67d",
      "new_mode": 33188,
      "new_path": "internal/quic/conn_test.go"
    },
    {
      "type": "modify",
      "old_id": "3503d24318ae249a8c57246764dbc01ac8fada34",
      "old_mode": 33188,
      "old_path": "internal/quic/packet_codec_test.go",
      "new_id": "7f0846f3ec5b64065d61ac716f4df2c341194ea6",
      "new_mode": 33188,
      "new_path": "internal/quic/packet_codec_test.go"
    },
    {
      "type": "modify",
      "old_id": "43238826f1eda435bd10bfd98c64c5443eb7ec57",
      "old_mode": 33188,
      "old_path": "internal/quic/packet_parser.go",
      "new_id": "458cd3a93a358608235e00e64c6d40293f5111c4",
      "new_mode": 33188,
      "new_path": "internal/quic/packet_parser.go"
    },
    {
      "type": "modify",
      "old_id": "18470536ff503a0bbf814dadd441ff85e8fc3a95",
      "old_mode": 33188,
      "old_path": "internal/quic/packet_protection.go",
      "new_id": "2f9b9cefb64d9503385a35963f0a01dd5a833e1a",
      "new_mode": 33188,
      "new_path": "internal/quic/packet_protection.go"
    },
    {
      "type": "modify",
      "old_id": "6495360a3b208c2eb5f40aa17071c6f3177fda82",
      "old_mode": 33188,
      "old_path": "internal/quic/packet_protection_test.go",
      "new_id": "1fe1307311a3a358f770caf798a4ea9e2ce1ed2f",
      "new_mode": 33188,
      "new_path": "internal/quic/packet_protection_test.go"
    },
    {
      "type": "modify",
      "old_id": "a80b4711ee92f09cd41f43f1206b3105f9d282b0",
      "old_mode": 33188,
      "old_path": "internal/quic/packet_writer.go",
      "new_id": "2009895e04e80e130b38c886d862cbe536ccc2fb",
      "new_mode": 33188,
      "new_path": "internal/quic/packet_writer.go"
    },
    {
      "type": "modify",
      "old_id": "e3a430ed722ae1a1e9bed121d8cdc316b61689b3",
      "old_mode": 33188,
      "old_path": "internal/quic/tls.go",
      "new_id": "a37e26fb8e15bcf971d84b15b2e3ff62c0d9fd03",
      "new_mode": 33188,
      "new_path": "internal/quic/tls.go"
    }
  ]
}
