)]}'
{
  "commit": "87d0c174c7fdc4c48b74b60e8f2f44852f41c6bf",
  "tree": "1e8954190236b6ce9bd6174fb414632e520a5340",
  "parents": [
    "0dc8b016ee4b11ee44e284251d9e107d9df31d3d"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Fri Sep 20 16:45:42 2024 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Oct 08 22:10:13 2024 +0000"
  },
  "message": "Add a bssl::InplaceVector to libssl\n\nWe\u0027re constantly hand-rolling these inlined bounded array structures.\nInspired by C++26\u0027s std::inplace_vector name, add something very basic.\nThis is still very barebones and probably can be improved. But it\u0027s\nenough to be able to use spans more often.\n\nPerhaps in a decade we\u0027ll be able to just use the real one. To keep our\nsize optimization, InplaceVector picks the minimal integer needed to\nrepresent the size but, unlike doing it by hand, this is entirely hidden\nfrom the API.\n\nI switched a pile of fields over to this to confirm it mostly works,\nthough there are still a ton more that are array/length pairs. In\nparticular, we never came up with a good calling convention for all the\nintermediate hash-sized values in the TLS 1.3 key schedule. I\u0027ve left\nthat alone for now.\n\nThe immediate motivation here is that a lot of the transport-specific\nepoch structs will need to store the original traffic secret, and\nholding on to it everywhere without an abstraction is tedious.\n\nBug: 371998381\nChange-Id: I17a987299dc9278b59d2b773e1f3fead69dff162\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/71748\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nReviewed-by: Bob Beck \u003cbbe@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "30591a6a07bf9e3e2c07693f60988c60173f310a",
      "old_mode": 33188,
      "old_path": "ssl/extensions.cc",
      "new_id": "0e001a6d1cdfa01dab4b767a77553a9dda180723",
      "new_mode": 33188,
      "new_path": "ssl/extensions.cc"
    },
    {
      "type": "modify",
      "old_id": "ec950d038859faa58f500645ae12bb3ea5752d33",
      "old_mode": 33188,
      "old_path": "ssl/handoff.cc",
      "new_id": "e4e5d281fd63833145ffa52cb408fb829a29a926",
      "new_mode": 33188,
      "new_path": "ssl/handoff.cc"
    },
    {
      "type": "modify",
      "old_id": "a9ec6341254856789531a9079f0d289b3e106a55",
      "old_mode": 33188,
      "old_path": "ssl/handshake.cc",
      "new_id": "6fe37cc1872b9b0dbdca549e0f8dcab0da13c9d3",
      "new_mode": 33188,
      "new_path": "ssl/handshake.cc"
    },
    {
      "type": "modify",
      "old_id": "2f74ff56dafaaa12e6534559e90063871ec259f1",
      "old_mode": 33188,
      "old_path": "ssl/handshake_client.cc",
      "new_id": "37747871796977cc943c50c84b3aab3fd4a79e6d",
      "new_mode": 33188,
      "new_path": "ssl/handshake_client.cc"
    },
    {
      "type": "modify",
      "old_id": "7821ce09317167769e54ebfb25789ca6dbbabe49",
      "old_mode": 33188,
      "old_path": "ssl/handshake_server.cc",
      "new_id": "59531f7161866074968adc32f79697f7fef5ed3b",
      "new_mode": 33188,
      "new_path": "ssl/handshake_server.cc"
    },
    {
      "type": "modify",
      "old_id": "a0d422132c70e1bc486e1af15e88a8c7410d7dec",
      "old_mode": 33188,
      "old_path": "ssl/internal.h",
      "new_id": "e6e69c765286e6fa1b9fcf3201b8cadcbfa1b08f",
      "new_mode": 33188,
      "new_path": "ssl/internal.h"
    },
    {
      "type": "modify",
      "old_id": "4f25d433692fe97e8a2b90cacb9a97d4d021ce0a",
      "old_mode": 33188,
      "old_path": "ssl/ssl_aead_ctx.cc",
      "new_id": "8e7a387b838fccab0ad492a716abbc2e08306bc8",
      "new_mode": 33188,
      "new_path": "ssl/ssl_aead_ctx.cc"
    },
    {
      "type": "modify",
      "old_id": "3311246c6f6e6c661d33ad2f7ada0cc36d6142cd",
      "old_mode": 33188,
      "old_path": "ssl/ssl_asn1.cc",
      "new_id": "3e1e9d66aebed7a09fb578ebbae1fe35995a8f13",
      "new_mode": 33188,
      "new_path": "ssl/ssl_asn1.cc"
    },
    {
      "type": "modify",
      "old_id": "e30e27da3503599ca04303cdc88f05ed7303786b",
      "old_mode": 33188,
      "old_path": "ssl/ssl_cert.cc",
      "new_id": "bd0143e748303ec8ddf1c91562f35e1bfee91377",
      "new_mode": 33188,
      "new_path": "ssl/ssl_cert.cc"
    },
    {
      "type": "modify",
      "old_id": "1458b456e5251b058e28c7f935f929af7addbee4",
      "old_mode": 33188,
      "old_path": "ssl/ssl_lib.cc",
      "new_id": "c84c50710475f5e0ac8633bb97abafdca7fb324f",
      "new_mode": 33188,
      "new_path": "ssl/ssl_lib.cc"
    },
    {
      "type": "modify",
      "old_id": "92bd82215552eb2f388052b4dbe93d7aeefc180b",
      "old_mode": 33188,
      "old_path": "ssl/ssl_session.cc",
      "new_id": "f455b1b623c67c2eb94b93215045065d48c3cf50",
      "new_mode": 33188,
      "new_path": "ssl/ssl_session.cc"
    },
    {
      "type": "modify",
      "old_id": "a51b594dff916b90dd4158ee1eb7f7e53d42fe3d",
      "old_mode": 33188,
      "old_path": "ssl/ssl_test.cc",
      "new_id": "46445bb9ad26161147614d9cce28e5096dbf6355",
      "new_mode": 33188,
      "new_path": "ssl/ssl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "58fd21e57c82364f18fc58c4b6d0f59e652fdcbc",
      "old_mode": 33188,
      "old_path": "ssl/ssl_transcript.cc",
      "new_id": "239363d380d566db937cc1e217143aa0181a0e98",
      "new_mode": 33188,
      "new_path": "ssl/ssl_transcript.cc"
    },
    {
      "type": "modify",
      "old_id": "1895bac59aabcaeb1f68a7d3731067edb6bd82f3",
      "old_mode": 33188,
      "old_path": "ssl/t1_enc.cc",
      "new_id": "360c8551395817b6a5c62aa616b7f7a4a78e2cc3",
      "new_mode": 33188,
      "new_path": "ssl/t1_enc.cc"
    },
    {
      "type": "modify",
      "old_id": "fd9ab0aa8a20ce477c3f649abbe5b2481b19ab13",
      "old_mode": 33188,
      "old_path": "ssl/tls13_client.cc",
      "new_id": "76f970c17998d8b65552c05c36753602167b01cd",
      "new_mode": 33188,
      "new_path": "ssl/tls13_client.cc"
    },
    {
      "type": "modify",
      "old_id": "fad411757e47b2dd1d07f4d8499f71e497a35244",
      "old_mode": 33188,
      "old_path": "ssl/tls13_enc.cc",
      "new_id": "f601b1a8c72e3c7da685d76faa552e93e4ffc294",
      "new_mode": 33188,
      "new_path": "ssl/tls13_enc.cc"
    },
    {
      "type": "modify",
      "old_id": "e163d70d6b90285e4a4ff72120dc080046abdce4",
      "old_mode": 33188,
      "old_path": "ssl/tls13_server.cc",
      "new_id": "655141fbb4f0a641e96e4f69834e42a049f78a7b",
      "new_mode": 33188,
      "new_path": "ssl/tls13_server.cc"
    }
  ]
}
