)]}'
{
  "commit": "955ef7991e41ac6c0ea5114b4b9abb98cc5fd614",
  "tree": "7e1b8c996524766e721c8acaa01c0244fd152fb7",
  "parents": [
    "41eb890f77090ea22e5403dd256fb4a622b79928"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Mon Jun 13 13:16:43 2022 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Jun 15 17:31:42 2022 +0000"
  },
  "message": "Rewrite SSL_add_file_cert_subjects_to_stack\n\nSSL_load_client_CA_file can just call\nSSL_add_file_cert_subjects_to_stack.\n\nSSL_add_file_cert_subjects_to_stack itself is rewritten to use scopers\nand also give subquadratic running time. Sorting after every insertion\ndoes not actually help. (It would have been faster to do a linear\nsearch.) Instead, gather the names first, then sort and deduplicate.\n\nFinally, add a SSL_add_bio_cert_subjects_to_stack. This is both to\nsimplify testing and because Envoy code copied from\nSSL_add_file_cert_subjects_to_stack, complete with the quadratic\nbehavior. It is the only external project that depends on the\nSTACK_OF(T) comparison function. To simplify making that const-correct,\njust export the function they needed anyway.\n\nBug: 498\nChange-Id: I00d13c949a535c0d60873fe4ba2e5604bb585cca\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/53007\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a4a91f5403b0f5bff918409f3cbe30a78316050d",
      "old_mode": 33188,
      "old_path": "include/openssl/base.h",
      "new_id": "7e58f003866425f5a0d7e2c06edc667726611581",
      "new_mode": 33188,
      "new_path": "include/openssl/base.h"
    },
    {
      "type": "modify",
      "old_id": "b990b4134f95292669dcac86e633eed06a21ba94",
      "old_mode": 33188,
      "old_path": "include/openssl/ssl.h",
      "new_id": "0e54ab9eff964b8aeaa3f0dbf89b77a2112d25ff",
      "new_mode": 33188,
      "new_path": "include/openssl/ssl.h"
    },
    {
      "type": "modify",
      "old_id": "43db37ca68ad2936578bf4b73409de142658d89d",
      "old_mode": 33188,
      "old_path": "ssl/ssl_file.cc",
      "new_id": "1625200101393c5d8432411b95cfbc58e7459304",
      "new_mode": 33188,
      "new_path": "ssl/ssl_file.cc"
    },
    {
      "type": "modify",
      "old_id": "e2db5a4dacc3a7cc895dded9a168bb64358ded8f",
      "old_mode": 33188,
      "old_path": "ssl/ssl_test.cc",
      "new_id": "a40de7914ff2e8cb98439afededc15873236a8c1",
      "new_mode": 33188,
      "new_path": "ssl/ssl_test.cc"
    }
  ]
}
