)]}'
{
  "commit": "9aa7b975fd5190f39a3d9ac19c79bca8d508f124",
  "tree": "eb93dfca6344bdcab3315e60973eafca4d0e7e11",
  "parents": [
    "12830f07b13ab7f7dc5e9c0bd4fee20cfae64abd"
  ],
  "author": {
    "name": "Xiangfei Ding",
    "email": "xfding@google.com",
    "time": "Thu Aug 20 07:22:46 2026 +0000"
  },
  "committer": {
    "name": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Sep 29 14:21:19 2026 -0700"
  },
  "message": "rust: bssl-tls: Clean up the error classification\n\nIn various context, there is no universal classification of return\nvalues of function calls when I/O might have suspended or failed.\n\nFor instance, we failed to correctly distinguish transport error and TLS\nerror/retry and it has created much difficulty in various internal functions\nto decide whether the operation is successful or the error should be\nbubbled up.\n\nWe are also improperly swallowing transport errors that would have been\nuseful. For DTLS, a failure to send a packet due to system resource\npressure is recoverable and the library should pretend that it was\nsuccessful and allow timeout mechanism to handle this case. Since we\nhave been misclassifying the errors, this has not been working reliably.\n\nThe best approach so far should have been context-aware, depending\non whether we are in a reading or writing or handshaking.\n\nSigned-off-by: Xiangfei Ding \u003cxfding@google.com\u003e\nChange-Id: Ia0092a8acb68bbce2cf7dfa29196d76a6a6a6964\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/101607\nReviewed-by: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6f1bfe2a6ff2bad193c40b56020442331738c127",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls-tokio/src/hyper.rs",
      "new_id": "4773b9a7fe49f33860b2101d36787cd19748da4f",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls-tokio/src/hyper.rs"
    },
    {
      "type": "modify",
      "old_id": "2ea665891b72c2d16352e60e4ca8bda7f8f22c0e",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls-tokio/src/lib.rs",
      "new_id": "8f610680cf81214c2819e3a133e695b1ca370c22",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls-tokio/src/lib.rs"
    },
    {
      "type": "modify",
      "old_id": "2d54bb4c17076acc30b41f46139b96ab2cbae24c",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls-tokio/src/tests/datagram.rs",
      "new_id": "f420be09bf240b37f33bc76b6e6778d8f8b157b4",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls-tokio/src/tests/datagram.rs"
    },
    {
      "type": "modify",
      "old_id": "13b14cd23d37ce8e6373eb2b3937f1589ad2411b",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/connection.rs",
      "new_id": "2559c1007e7c02b15a0bed2a65bf1be49dc5369e",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/connection.rs"
    },
    {
      "type": "modify",
      "old_id": "8ab11e0bd4057c5fe4d7e32a6b1e6a2ac2166c5d",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/connection/alpn.rs",
      "new_id": "5e577e3c79141141e701c9f12f81fabcfce9b7d4",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/connection/alpn.rs"
    },
    {
      "type": "modify",
      "old_id": "a212b9322687b0bec2349ab885815d4a99cf57ec",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/connection/io.rs",
      "new_id": "096f8d473531f8643825f48dfb3248be9df02a84",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/connection/io.rs"
    },
    {
      "type": "modify",
      "old_id": "43448ae5f796fa9734fa9a340306800b9ea5435e",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/connection/io/stdio.rs",
      "new_id": "b869bbc4908a7fae916488bba1cb102d9cd816e7",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/connection/io/stdio.rs"
    },
    {
      "type": "modify",
      "old_id": "f575ad2165d1593a55104fd770c9f061e5f4eadf",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/connection/lifecycle.rs",
      "new_id": "51614a8ca33d7dba33ee41cc370e45cb0e879ba6",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/connection/lifecycle.rs"
    },
    {
      "type": "modify",
      "old_id": "51d41986003145b8bd00a1454e5a5d63788ee467",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/connection/transport.rs",
      "new_id": "8d65477326522352052be296d45bd8ff94d57387",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/connection/transport.rs"
    },
    {
      "type": "modify",
      "old_id": "7785bce6bd313772b51aabd82bdf9777ade02f26",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/context/alpn.rs",
      "new_id": "d42910c12822067fe11357b3953f8ae5074f28a0",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/context/alpn.rs"
    },
    {
      "type": "modify",
      "old_id": "61fb5a6a2e89665ba252666d54f546d511e6b884",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/credentials.rs",
      "new_id": "412943ec03b9aa789c2a834cdf5ddcdec85589b1",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/credentials.rs"
    },
    {
      "type": "modify",
      "old_id": "c7596230cf9ee34c3e972702231fc8718468a655",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/errors.rs",
      "new_id": "a2dd96a5327bd3dbef6ff4225a4b6fa864f247c2",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/errors.rs"
    },
    {
      "type": "modify",
      "old_id": "176c78f909e6ee788babe6ccab0d15b176abf52e",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/io.rs",
      "new_id": "7d43d62fe83f219634b95d0cf61d65d53428d444",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/io.rs"
    },
    {
      "type": "modify",
      "old_id": "535d5b1472a3b43f3719ceb696a0123696164497",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/io/stdio.rs",
      "new_id": "c8a71d9438cbd414def665569d3ef9540cd48d56",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/io/stdio.rs"
    },
    {
      "type": "modify",
      "old_id": "f5419dc4b6b87570d8ae86f93a74fd4bfaadd6bf",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/io/sync_io.rs",
      "new_id": "35ba41bdb7cb72d87b47d4f7ad80c8dc7ba0c015",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/io/sync_io.rs"
    },
    {
      "type": "modify",
      "old_id": "ed764ae17e0d43db00f1779eee7f509b1c005690",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/io/unix.rs",
      "new_id": "d43e2bda74a5f3c4f3d61020ac2c206ab55d6d64",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/io/unix.rs"
    },
    {
      "type": "modify",
      "old_id": "93bf11c1a45909353f92220edb09569b45588a73",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/macros.rs",
      "new_id": "fbf3979b494d81a65caf4104a5b55a439da3e08b",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/macros.rs"
    },
    {
      "type": "modify",
      "old_id": "eada1b0f30b911d1c206ea123a98d01dfb167173",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/sessions.rs",
      "new_id": "943a268e575c8cce75b9e6235020fd96a6574fc4",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/sessions.rs"
    },
    {
      "type": "modify",
      "old_id": "be873fe77a13e071a106985757530781a411e81b",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/tests.rs",
      "new_id": "673dfc69aeb534ea8ebb0f563c982d2203ee5ad7",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/tests.rs"
    },
    {
      "type": "modify",
      "old_id": "c21d13b5d73fc04c1451e1c7c5edb7d3edba7b0d",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/tests/datagram.rs",
      "new_id": "9edcce2f25c8df938e5c27d63f5891992a858423",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/tests/datagram.rs"
    },
    {
      "type": "modify",
      "old_id": "1f24c8f9e056829d66007f51f8dd0ed7fe547232",
      "old_mode": 33188,
      "old_path": "rust/bssl-tls/src/tests/transport.rs",
      "new_id": "598eeb53a017730815b1665c27b6bd22954fae4b",
      "new_mode": 33188,
      "new_path": "rust/bssl-tls/src/tests/transport.rs"
    }
  ]
}
