)]}'
{
  "commit": "70d1e737f43f3d4efde8928316f3762d7c169b2a",
  "tree": "849babfe126b5027e9ac298a0ef81dae1b4b2534",
  "parents": [
    "ee3f9468584b6607f944b885ad50db35a70daf8d"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Mon Oct 07 13:34:57 2024 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Oct 21 21:20:00 2024 +0000"
  },
  "message": "Store DTLS epoch state separately\n\nThis wraps DTLS per-epoch state into DTLSReadEpoch and DTLSWriteEpoch\nstructures. For now, we only keep one DTLSReadEpoch though we will need\nto keep two in DTLS 1.3. In preparation for that, I\u0027ve reworked the DTLS\nrecord parser to resolve the DTLSReadEpoch at the same time, even though\nthere\u0027s currently only one of them.\n\nOn the write side, this removes the special-cased initial write epoch\nand just stores an array of the last few epochs.\n\nSome things this does not yet do, but that we ideally would do as\nfollow-ups:\n\n1. Move RecordNumberEncrypter out of SSLAEADContext, now that we have a\n   DTLS-specific struct for it.\n\n2. Pass just a byte secret into set_read_state / set_write_state and let\n   the transport-aware code construct the SSLAEADContext.\n\n3. Don\u0027t construct the SSLAEADContext at all for QUIC.\n\n4. Don\u0027t save the read and write traffic secrets in QUIC at all.\n\n5. KeyUpdate should be part of the SSL_PROTOCOL_METHOD interface to\n   accomodate DTLS driving KeyUpdate by ACK.\n\nUpdate-Note: As part of rearranging the record parser, when the DTLS 1.2\nimplementation encounters a DTLS 1.3 record, it will now discard just\nthat record and continue parsing records out of the packet, rather than\ndiscarding the whole packet. This isn\u0027t expected to make any difference.\n\nBug: 371998381\nChange-Id: Ie2ae657d41e33152208a001df177630398798394\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/72128\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Nick Harper \u003cnharper@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "80da7178c6a6394501d92715fbc42bce250c962d",
      "old_mode": 33188,
      "old_path": "ssl/d1_both.cc",
      "new_id": "f9f3a90ed47ee6a01971a6fb53756ef2d9c39f33",
      "new_mode": 33188,
      "new_path": "ssl/d1_both.cc"
    },
    {
      "type": "modify",
      "old_id": "4aa71acc1d65821b21766cbd71c9b2d683f4721f",
      "old_mode": 33188,
      "old_path": "ssl/d1_lib.cc",
      "new_id": "3204b693fc5bad85dd2fc9b9b1982d17853be180",
      "new_mode": 33188,
      "new_path": "ssl/d1_lib.cc"
    },
    {
      "type": "modify",
      "old_id": "13da69adf3bc33df67153026f301a007199a4f3e",
      "old_mode": 33188,
      "old_path": "ssl/d1_pkt.cc",
      "new_id": "1dc57753f8d2ea3aac677bd5948258fab04a9155",
      "new_mode": 33188,
      "new_path": "ssl/d1_pkt.cc"
    },
    {
      "type": "modify",
      "old_id": "501dd97f35e498745662448c67f00ea011173155",
      "old_mode": 33188,
      "old_path": "ssl/dtls_method.cc",
      "new_id": "dff3d5c555c2e447ca7040363a539af63c8474b9",
      "new_mode": 33188,
      "new_path": "ssl/dtls_method.cc"
    },
    {
      "type": "modify",
      "old_id": "479ecd4b8aee7d061174faed70eb3d89b2f1db81",
      "old_mode": 33188,
      "old_path": "ssl/dtls_record.cc",
      "new_id": "161530f3738f995d99f3fd843dab85bae2b2289d",
      "new_mode": 33188,
      "new_path": "ssl/dtls_record.cc"
    },
    {
      "type": "modify",
      "old_id": "b3b1f67b4256e8d167f42e307164cc3fcd9543ee",
      "old_mode": 33188,
      "old_path": "ssl/internal.h",
      "new_id": "174b7e43bf034e929ad0353f59c4d461ef77534c",
      "new_mode": 33188,
      "new_path": "ssl/internal.h"
    },
    {
      "type": "modify",
      "old_id": "14d9b640ce0d48e10294007fb02c0a47f2b1fbec",
      "old_mode": 33188,
      "old_path": "ssl/s3_lib.cc",
      "new_id": "faa4d6164209ca2e47455b252dbad7e94608882e",
      "new_mode": 33188,
      "new_path": "ssl/s3_lib.cc"
    },
    {
      "type": "modify",
      "old_id": "f0b3872e95d21646e6fb943f012a11287c1cf5a8",
      "old_mode": 33188,
      "old_path": "ssl/ssl_lib.cc",
      "new_id": "cbb5cbf84386c4ab336c9227a8041741236dec45",
      "new_mode": 33188,
      "new_path": "ssl/ssl_lib.cc"
    },
    {
      "type": "modify",
      "old_id": "963f2ee55f2684ff4f4687cc6d576376605199ef",
      "old_mode": 33188,
      "old_path": "ssl/ssl_test.cc",
      "new_id": "1e09a76fc55b299b7cfd0b4eeaaed806c6de60af",
      "new_mode": 33188,
      "new_path": "ssl/ssl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "360c8551395817b6a5c62aa616b7f7a4a78e2cc3",
      "old_mode": 33188,
      "old_path": "ssl/t1_enc.cc",
      "new_id": "a13629e68f128ddcb3937e08c53fb445fc6cee31",
      "new_mode": 33188,
      "new_path": "ssl/t1_enc.cc"
    },
    {
      "type": "modify",
      "old_id": "b747215a8e1522bd2ba86a3476046b6a4cf077a6",
      "old_mode": 33188,
      "old_path": "ssl/tls13_client.cc",
      "new_id": "24da90ab69f09fbd082537b18b8fc17013c989e2",
      "new_mode": 33188,
      "new_path": "ssl/tls13_client.cc"
    },
    {
      "type": "modify",
      "old_id": "11ea7b52cb8d0ace8b76526a8d990ca70614a90c",
      "old_mode": 33188,
      "old_path": "ssl/tls13_enc.cc",
      "new_id": "ee3b635db62443724cf44d5b9c8eff5dfc3aadeb",
      "new_mode": 33188,
      "new_path": "ssl/tls13_enc.cc"
    },
    {
      "type": "modify",
      "old_id": "5fcf684de2d889f62b7d06d122c72ae1fe04e805",
      "old_mode": 33188,
      "old_path": "ssl/tls_method.cc",
      "new_id": "0a3fc4e4d3e9d8f84a2f45e593039fdd0a49b171",
      "new_mode": 33188,
      "new_path": "ssl/tls_method.cc"
    },
    {
      "type": "modify",
      "old_id": "685b78ae9db39138f4c27579dd450883099a03d9",
      "old_mode": 33188,
      "old_path": "ssl/tls_record.cc",
      "new_id": "d982683e2f527704ce43bd6727897218b0106ced",
      "new_mode": 33188,
      "new_path": "ssl/tls_record.cc"
    }
  ]
}
