)]}'
{
  "commit": "8abd1b5e8c5391dcc4d8574d06fb9727635f9606",
  "tree": "3284bd6cb0a540ce531189e02c753151921a2448",
  "parents": [
    "abfd5ebc87ddca0fab9fca067c9d7edbc355eae8"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Wed Apr 12 10:07:53 2023 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Apr 13 14:13:01 2023 +0000"
  },
  "message": "Remove support for \"old-style\" X509V3_EXT_METHODs.\n\nI don\u0027t believe these codepaths have ever been run. All the built-in\nX509V3_EXT_METHODs are ASN1_ITEM-based, as are all callers I found of\nX509V3_EXT_add and X509V3_EXT_add_list.\n\nAlso document not to use those APIs because they\u0027re pointless and (for\nnow) not even thread-safe. Making them thread-safe is doable, but it\u0027d\nadd rwlock contention in certificate verification, unless we first\nrework certificate verification to ignore custom registrations, because\nit never uses them anyway. But that only proves that this whole feature\nwas pointless, so this time may be better spent trying to get rid of\nthis API.\n\nUpdate-Note: Externally-installed X509V3_EXT_METHODs now must be\nASN1_ITEM-based. I believe all existing ones already are. If there are\nany that aren\u0027t, let us know. We\u0027ll either revert this for now, or\nexport a way to implement custom ASN1_ITEMs, or, most likely, try to\nmove the caller off custom X509V3_EXT_METHODs altogether. Like most of\nOpenSSL\u0027s other global registration APIs, this one is unsafe (two\ncallers may conflict) and there isn\u0027t much reason to register it with\nthe library because OpenSSL doesn\u0027t do much with the registration\nanyway.\n\nBug: 590\nChange-Id: Ice0e246d50069e10e6cca8949f60fac474d0846c\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/58687\nReviewed-by: Bob Beck \u003cbbe@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "598fba3db8f5cb667676c08b01530267c5defc31",
      "old_mode": 33188,
      "old_path": "crypto/x509v3/v3_conf.c",
      "new_id": "7904c7f7ec71cb754f1c83114d3bb99a9ff6588b",
      "new_mode": 33188,
      "new_path": "crypto/x509v3/v3_conf.c"
    },
    {
      "type": "modify",
      "old_id": "d33b51f51cadbf25cc6080986b509721553e2ef9",
      "old_mode": 33188,
      "old_path": "crypto/x509v3/v3_lib.c",
      "new_id": "623a7c69dad12962cb7f522bd11ff40d3c325967",
      "new_mode": 33188,
      "new_path": "crypto/x509v3/v3_lib.c"
    },
    {
      "type": "modify",
      "old_id": "ce9c18770d321f614c5b565d7f440f3b798cd736",
      "old_mode": 33188,
      "old_path": "crypto/x509v3/v3_prn.c",
      "new_id": "f6260e2483de195fc16a5b7b75eaecda60bf17a5",
      "new_mode": 33188,
      "new_path": "crypto/x509v3/v3_prn.c"
    },
    {
      "type": "modify",
      "old_id": "c8548f773930140d84189ece445508fb1dd69016",
      "old_mode": 33188,
      "old_path": "include/openssl/x509v3.h",
      "new_id": "a96faa7e8ba463f2183fcfb95b54d7814bf8368a",
      "new_mode": 33188,
      "new_path": "include/openssl/x509v3.h"
    }
  ]
}
