)]}'
{
  "commit": "aef0e2df53d9b2357c2e7ee7e93fc869214a00b4",
  "tree": "9dcb942ef347fcaaaee5a64342373abba3f8f1c8",
  "parents": [
    "7a441c6bba12b1dee1dc39b362f73caa4d0cd4d3"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Thu Apr 30 11:55:09 2026 -0400"
  },
  "committer": {
    "name": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri May 01 15:08:45 2026 -0700"
  },
  "message": "Reference-count CRYPTO_BUFFER_POOLs\n\nSSL_CTX_set0_buffer_pool was a difficult API to use correctly, if you\ntried to free your buffer pools. (It was envisioned as being mostly used\nwith global pools.)\n\nYou had to ensure the pool outlives the SSL_CTX, but the SSL_CTX is\nreference-counted, so it is hard to be sure when the SSL_CTX will be\ndestroyed. SSL objects, in particular, extend the lifetime.\n\nInstead, just reference-count the pools. Note that buffers still do not\nown references to their pools. That is still a weak reference. We\nprobably could promote it to a strong reference now, but no need to keep\nthe hash table around when we don\u0027t need to.\n\nWith that, deprecated SSL_CTX_set0_buffer_pool in favor of\nSSL_CTX_set1_buffer_pool, though SSL_CTX_set0_buffer_pool now internally\ntakes the refcount to and becomes safer automatically. (This should be\nbackwards-compatible.) I\u0027ve switched calls within the library to the\nset1 spelling but left bssl-tls alone for now, since bssl-tls can\nprobably take other simplifications at the same time.\n\nChange-Id: I1421b44cc129c7f2d7090538ac595a5530688f2f\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/94467\nReviewed-by: Xiangfei Ding \u003cxfding@google.com\u003e\nAuto-Submit: David Benjamin \u003cdavidben@google.com\u003e\nCommit-Queue: Xiangfei Ding \u003cxfding@google.com\u003e\nPresubmit-BoringSSL-Verified: boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com \u003cboringssl-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4bf616c00e5e02ed082fa7fbad8f5f32b29bd4d9",
      "old_mode": 33188,
      "old_path": "PORTING.md",
      "new_id": "2bc339e5a515020416c7d672e6da70513e8fccc4",
      "new_mode": 33188,
      "new_path": "PORTING.md"
    },
    {
      "type": "modify",
      "old_id": "a243134222cbb30e797b52bf237bb120edfe24dd",
      "old_mode": 33188,
      "old_path": "crypto/pool/internal.h",
      "new_id": "abb0eba856965a6c4361a5ed5020643c405762c7",
      "new_mode": 33188,
      "new_path": "crypto/pool/internal.h"
    },
    {
      "type": "modify",
      "old_id": "3c47143cbd4db08195d0d7dd68321de681ffed18",
      "old_mode": 33188,
      "old_path": "crypto/pool/pool.cc",
      "new_id": "825ce4a7298b82c3471cae122a736c3841090277",
      "new_mode": 33188,
      "new_path": "crypto/pool/pool.cc"
    },
    {
      "type": "modify",
      "old_id": "055bc11cc1927bdea8b5447335f365550443e023",
      "old_mode": 33188,
      "old_path": "crypto/pool/pool_test.cc",
      "new_id": "11b50f456d1ada909b40b7eeddfdf2c9fd6a8ca1",
      "new_mode": 33188,
      "new_path": "crypto/pool/pool_test.cc"
    },
    {
      "type": "modify",
      "old_id": "edb7aed6ba52f88c30fd81ec2c6a8929f8670b4b",
      "old_mode": 33188,
      "old_path": "include/openssl/pool.h",
      "new_id": "3cc475ebe93ae25bfab7e4f52422447eeb605d4e",
      "new_mode": 33188,
      "new_path": "include/openssl/pool.h"
    },
    {
      "type": "modify",
      "old_id": "c255e35d1e7ee8a88c5c1021e3a4f039094eab11",
      "old_mode": 33188,
      "old_path": "include/openssl/prefix_symbols.h",
      "new_id": "fe02e5e464e6c47033f28c2e3ee3e519eaf10e73",
      "new_mode": 33188,
      "new_path": "include/openssl/prefix_symbols.h"
    },
    {
      "type": "modify",
      "old_id": "453318b92b2ee3987aa8e0c11a33b3c472374d3c",
      "old_mode": 33188,
      "old_path": "include/openssl/ssl.h",
      "new_id": "8d9dd5bcf83b74e8549ea9c2b21f8e9597b9cad0",
      "new_mode": 33188,
      "new_path": "include/openssl/ssl.h"
    },
    {
      "type": "modify",
      "old_id": "470e74f48acc9baf98481e36e8b8a7f6ea363a53",
      "old_mode": 33188,
      "old_path": "ssl/extensions.cc",
      "new_id": "a9b834a5a4ea866c762eae906917cf1ff4dfe605",
      "new_mode": 33188,
      "new_path": "ssl/extensions.cc"
    },
    {
      "type": "modify",
      "old_id": "303330fe99d2aa6d468645dec56cd9bea26df933",
      "old_mode": 33188,
      "old_path": "ssl/handoff.cc",
      "new_id": "9669cfa5fb599c317455f66058e8ca7a3151460a",
      "new_mode": 33188,
      "new_path": "ssl/handoff.cc"
    },
    {
      "type": "modify",
      "old_id": "689375c388dca29587ddd4feb7987c90721ac14c",
      "old_mode": 33188,
      "old_path": "ssl/handshake_client.cc",
      "new_id": "7ab6d2c5379887ab10c5efbdbb32074cbd69efd9",
      "new_mode": 33188,
      "new_path": "ssl/handshake_client.cc"
    },
    {
      "type": "modify",
      "old_id": "7c27c2d46b084d61a6c4286d67fa6370a7d5ee76",
      "old_mode": 33188,
      "old_path": "ssl/handshake_server.cc",
      "new_id": "aaa6565147c927183f1d705c7633563d4b7cf158",
      "new_mode": 33188,
      "new_path": "ssl/handshake_server.cc"
    },
    {
      "type": "modify",
      "old_id": "4d86a6170b2b8ce948a324db45e96cfd46d9e416",
      "old_mode": 33188,
      "old_path": "ssl/internal.h",
      "new_id": "cac3ff42e60498fe3fcfbbf86201aac97cc4d1a6",
      "new_mode": 33188,
      "new_path": "ssl/internal.h"
    },
    {
      "type": "modify",
      "old_id": "8b9cbeaba3dbd2083b5ba5a8a16d7cfde6859a62",
      "old_mode": 33188,
      "old_path": "ssl/ssl_asn1.cc",
      "new_id": "ad43e77fe39f34b6c992f2d7f87bdf7df4936806",
      "new_mode": 33188,
      "new_path": "ssl/ssl_asn1.cc"
    },
    {
      "type": "modify",
      "old_id": "d07dce518399f92eeaa16f0eeef14ad5a2c9a870",
      "old_mode": 33188,
      "old_path": "ssl/ssl_cert.cc",
      "new_id": "32ee7a0043d504b5df23551f2f6f84d705206ca1",
      "new_mode": 33188,
      "new_path": "ssl/ssl_cert.cc"
    },
    {
      "type": "modify",
      "old_id": "de4e79efcca6edd49ba9f5d4ff9476cc083f3231",
      "old_mode": 33188,
      "old_path": "ssl/ssl_lib.cc",
      "new_id": "6e9571a7049c34ab80af71a3841bfc2c90e492ef",
      "new_mode": 33188,
      "new_path": "ssl/ssl_lib.cc"
    },
    {
      "type": "modify",
      "old_id": "30bae84e0caa04f7313e2cdb9675e029fb60af39",
      "old_mode": 33188,
      "old_path": "ssl/ssl_x509.cc",
      "new_id": "ec4c1e18e6df25806607379b80645f124aab66e2",
      "new_mode": 33188,
      "new_path": "ssl/ssl_x509.cc"
    },
    {
      "type": "modify",
      "old_id": "ffbe599cf0a8cd4362775f90b6b0f134e02541eb",
      "old_mode": 33188,
      "old_path": "ssl/test/test_config.cc",
      "new_id": "56a9526a889d35587038c20334deab9d45ab8e4b",
      "new_mode": 33188,
      "new_path": "ssl/test/test_config.cc"
    },
    {
      "type": "modify",
      "old_id": "f9c21939b3591ecb05d1d9c7fc6f230b01a7bacb",
      "old_mode": 33188,
      "old_path": "ssl/test/test_state.cc",
      "new_id": "79d0fdfad6530df1fca0965fcbb42f7402c5086d",
      "new_mode": 33188,
      "new_path": "ssl/test/test_state.cc"
    },
    {
      "type": "modify",
      "old_id": "fc6d0be7654b683e49db1450077003ffb2d06d31",
      "old_mode": 33188,
      "old_path": "ssl/tls13_both.cc",
      "new_id": "fc7a11f3b90ffd8b49a4b8ad11045502a755ed99",
      "new_mode": 33188,
      "new_path": "ssl/tls13_both.cc"
    }
  ]
}
