)]}'
{
  "commit": "731d6cbef936e60a04738edf4eb4fc93e187706a",
  "tree": "a8acbd2ea4b300cf2240a32f8d85171a1175b000",
  "parents": [
    "cd0b767492199a82c7e362d1a117e8c3fef6b943"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Tue Nov 30 15:32:25 2021 -0500"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Tue Nov 30 22:04:19 2021 +0000"
  },
  "message": "Add ERR_set_error_data for compatibility.\n\nrust-openssl, rather than using Rust\u0027s existing error types, exposes the\nOpenSSL error queue as the error type in its public callback types.\nSupporting a simplified version of ERR_set_error_data is simple enough,\nso it\u0027s easiest just to add this function.\n\nUnlike OpenSSL\u0027s, we don\u0027t attempt to support non-string error data. We\nalso don\u0027t try to retain borrowed pointers. If the caller did not pass\nownership, make a copy internally.\n\nChange-Id: I909eebc2867ab1f3b9975546a106ee1f762bf516\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/50625\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4aab75bce64777bd901e3f73a2e93c293e762ead",
      "old_mode": 33188,
      "old_path": "crypto/err/err.c",
      "new_id": "9b6d23816a0db7e40d7bc1d144b46de295a3a58c",
      "new_mode": 33188,
      "new_path": "crypto/err/err.c"
    },
    {
      "type": "modify",
      "old_id": "b41f8ddfef4cc555dca11b09eed316dfe2fb1acf",
      "old_mode": 33188,
      "old_path": "crypto/err/err_test.cc",
      "new_id": "5dbe77654b447cd72012efb72819b01632458633",
      "new_mode": 33188,
      "new_path": "crypto/err/err_test.cc"
    },
    {
      "type": "modify",
      "old_id": "572340c2d52b775acc8a72032f9cb5f442576be8",
      "old_mode": 33188,
      "old_path": "include/openssl/err.h",
      "new_id": "28ba2507079ca275970d2e47e418f79d7ad9f284",
      "new_mode": 33188,
      "new_path": "include/openssl/err.h"
    }
  ]
}
