)]}'
{
  "commit": "195c2c55405924d7a315ce6351e2b559fbfb83de",
  "tree": "b8ea3911aa048b9f954f0e2b450ea9efc18aa125",
  "parents": [
    "da90150e6d86e85ad37c9c130e67e44d25904a58"
  ],
  "author": {
    "name": "Xiangfei Ding",
    "email": "xfding@google.com",
    "time": "Thu Jun 18 09:32:27 2026 +0000"
  },
  "committer": {
    "name": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Jul 08 12:10:16 2026 -0700"
  },
  "message": "rust: bssl-tls: Disallow downcasting in-handshake to normal handle\n\nA big downside in doing so is that it accidentally allows users to\ntrigger progression in TLS state machine during the handshake.\nThis is possible because we supply various callbacks with the\nin-handshake handle and through this existing downcasting the callbacks\ncan call read and write again, which is a re-entry into our handshake code.\n\nUpdate-Note: a breaking change is introduced to further restrict the\n`in_handshake()` handle to the connection, so that one cannot possibly\nadvance the TLS state machine while a read or write into the TLS socket\nis in progress. This was possible through callbacks that can be invoked\nwhile reading or writing on the socket. The necessary changes can be\nfound in cl/934247882.\n\nSigned-off-by: Xiangfei Ding \u003cxfding@google.com\u003e\nChange-Id: I3212b0184a3ebda606812217a4e350396a6a6964\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/97667\nPresubmit-BoringSSL-Verified: boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cboringssl-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\nReviewed-by: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a906309f112cd49325914142c633f634b45687ce",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls-tokio/src/lib.rs",
      "new_id": "87c345ef61dde12cf8996caeac3af1e9f877436d",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls-tokio/src/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "f8dec3d17e196df404d36ea37d8285777c5a2207",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls-tokio/tests/datagram.rs",
      "new_id": "19a6c9558dd6ea47db476d8981ae80be435b24e3",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls-tokio/tests/datagram.rs"
    },
    {
      "type": "modify",
      "old_id": "03347b25bcf9be90cf84a3b74d44c5fc23296bea",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/connection.rs",
      "new_id": "54ae9659385b166a5093d1bd6188a1c77fc4f788",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/connection.rs"
    },
    {
      "type": "modify",
      "old_id": "11b16e504c8de96af37a6b3b785b1b01e094069c",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/connection/credentials.rs",
      "new_id": "0d10cfa8fb0f0103ade24448b0ad5aea771d8943",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/connection/credentials.rs"
    },
    {
      "type": "modify",
      "old_id": "032cec2ff43c0e1df26bf816131690a27cde94f2",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/connection/lifecycle.rs",
      "new_id": "42aef370155f3e7a7ae043319d106852c5d6f00e",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/connection/lifecycle.rs"
    },
    {
      "type": "modify",
      "old_id": "fe9e4750f03cefaf2c4dbd353d0036b0a6ec1606",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/context.rs",
      "new_id": "29088c6c4086543c59e8e08df72ceb0170156eff",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/context.rs"
    },
    {
      "type": "modify",
      "old_id": "02a70e8f217c93643cd6c07c708bcb3f2f7fc87f",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/credentials/tests.rs",
      "new_id": "6ae988b01f2cc610222a73622fef4ff9359e8af5",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/credentials/tests.rs"
    },
    {
      "type": "modify",
      "old_id": "05e6fe67b48aa68c3090fa2c58be1548985d2d5a",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/sessions.rs",
      "new_id": "a1696b68217f8601943a116911947170deb312bd",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/sessions.rs"
    },
    {
      "type": "modify",
      "old_id": "83c7f5ff0cc3a828bf7ae6af763cafaf711ffa96",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/tests.rs",
      "new_id": "ed9b45f11cefcc4baa0aa248c715e53a33608c65",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/tests.rs"
    },
    {
      "type": "modify",
      "old_id": "0dfe046df42f25e37d07b520d14d0f574fbef645",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/tests/credentials.rs",
      "new_id": "6c026de986987009e48183afbf1696635ed0f80a",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/tests/credentials.rs"
    },
    {
      "type": "modify",
      "old_id": "7f8775efc1cbe854f371792cfb29d7915d2fb724",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/tests/datagram.rs",
      "new_id": "78a964954d00a6183e844dd235cb7894d4b7dbcd",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/tests/datagram.rs"
    }
  ]
}
