)]}'
{
  "commit": "7cac8faff275f2c47f5c8c6b226eb2f964b13a25",
  "tree": "9fffc75d4d5fb4a91d6ae3f1d1dc4d53cf335c8e",
  "parents": [
    "28c48e38a4489e77e2b00fb8ca5d46ea0f21618f"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Wed Oct 20 17:17:57 2021 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Oct 25 19:06:48 2021 +0000"
  },
  "message": "Add CRYPTO_BUFFER_new_from_static_data_unsafe.\n\nWhen making a CRYPTO_BUFFER from a static, const buffer, there is no\nneed to make a copy of the data. Instead, we can reference it directly.\nThe hope is this will save a bit of memory in Chromium, since root store\ncerts will already in static data.\n\nMoreover, by letting static CRYPTO_BUFFERs participate in pooling, we\ncan extend the memory savings to yet other copies of these certs. For\ninstance, if we make the root store updatable via component updater,\nmost of the updated roots will likely already be in the binary\u0027s copy.\nPooling will transparently dedup those and avoid retaining an extra\ncopy.\n\n(I haven\u0027t gone as far as to give static CRYPTO_BUFFERs strong\nreferences from the pool, since that seems odd. But something like\nChromium probably wants to intentionally leak the initial static ones so\nthat, when all references go away, they\u0027re still available for pooling.)\n\nChange-Id: I05c25c5ff618f9f7a6ed21e4575cf659e7c32811\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/50045\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ed91de6133896cde4d06dcdcdbd21f102508b4e1",
      "old_mode": 33188,
      "old_path": "crypto/pool/internal.h",
      "new_id": "b39ee426adc0c8aba6627c644661112c84ab6adc",
      "new_mode": 33188,
      "new_path": "crypto/pool/internal.h"
    },
    {
      "type": "modify",
      "old_id": "88bf8af19afdcc477e4f5d3cc7a8c151e11baf60",
      "old_mode": 33188,
      "old_path": "crypto/pool/pool.c",
      "new_id": "89bf4c2a626feeb4fe2ac8818b2d790134329d83",
      "new_mode": 33188,
      "new_path": "crypto/pool/pool.c"
    },
    {
      "type": "modify",
      "old_id": "8f32fb6f23af7140af4c64154f508a5d46598249",
      "old_mode": 33188,
      "old_path": "crypto/pool/pool_test.cc",
      "new_id": "a50f50f9fa98825f89c0951b5cfa5c4d70f2b5ee",
      "new_mode": 33188,
      "new_path": "crypto/pool/pool_test.cc"
    },
    {
      "type": "modify",
      "old_id": "0e4bdd5c4d7a1cd77780228b68f1d76234ae4ebc",
      "old_mode": 33188,
      "old_path": "include/openssl/pool.h",
      "new_id": "c61a4babfffb9666c5012a8b636b48a3331deed1",
      "new_mode": 33188,
      "new_path": "include/openssl/pool.h"
    }
  ]
}
