)]}'
{
  "commit": "b0ef87e5e3ba9a4f4b5bba4434f6f2e630507b48",
  "tree": "110a40d1bdf3daefee691154edd1925d7840379e",
  "parents": [
    "5b7171f2da10d5dad52d0a2e4426fbc71d4ff146"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Fri Aug 15 18:55:52 2025 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Aug 22 13:04:12 2025 -0700"
  },
  "message": "Set an EVP_PKEY\u0027s algorithm and data together\n\nWe internally half-initialize EVP_PKEYs everywhere, but there are very\nfew places where we actually need to half-initialize them.\n\nThis changes most of the EVP_PKEY_ASN1_METHOD callbacks so that output\nEVP_PKEYs are not half-initialized with the method first. Rather, the\ncallback is expected to fill in the method and contents together.\n\nEVP_PKEY_copy_parameters remains as a goofy exception because it\u0027s an\nin-out parameter. In principle, it is possible to have a goofy\nparameter-less, key-only DSA object, and we need to fill in the\nparameters later. This was due to how DSA was embedded into X.509. But\nwe don\u0027t support DSA in X.509 and we removed this parameterless state\nfrom the parser, so we probably can remove this now. (I\u0027ve left it as-is\nfor now.)\n\nBug: 42290409\nChange-Id: I2a576571d75ce755fd7e963be467aa5d94f20466\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/81550\nAuto-Submit: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Lily Chen \u003cchlily@google.com\u003e\nCommit-Queue: Lily Chen \u003cchlily@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "786e9b73af938ccefefe646c8690250181e3a0f8",
      "old_mode": 33188,
      "old_path": "crypto/evp/evp.cc",
      "new_id": "6f782a8e0b7e310e8c699e800be2ae038f224f72",
      "new_mode": 33188,
      "new_path": "crypto/evp/evp.cc"
    },
    {
      "type": "modify",
      "old_id": "6229ce3a132a4ebb73992467329302afb0d22195",
      "old_mode": 33188,
      "old_path": "crypto/evp/evp_asn1.cc",
      "new_id": "7fca9b89f1e79e1936e1b58127a9fdff425bacb8",
      "new_mode": 33188,
      "new_path": "crypto/evp/evp_asn1.cc"
    },
    {
      "type": "modify",
      "old_id": "51cfa64db09e48e799a4cd1579ea5b0ed2ce99c5",
      "old_mode": 33188,
      "old_path": "crypto/evp/internal.h",
      "new_id": "ff6ead3404da18d2ebd1d2c4748731ab7d6d8a6f",
      "new_mode": 33188,
      "new_path": "crypto/evp/internal.h"
    },
    {
      "type": "modify",
      "old_id": "13621138d56219ce5470ed9936d17c284e9ef91c",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_dh_asn1.cc",
      "new_id": "8622de0fecbf95b5e9d2682c54174fd90a9c1355",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_dh_asn1.cc"
    },
    {
      "type": "modify",
      "old_id": "6e42764861327f3d0fe83398d6a3b3fc3e28ad8d",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_dsa_asn1.cc",
      "new_id": "237b34bdb89462c141281a6a409c14a8d7f94b5d",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_dsa_asn1.cc"
    },
    {
      "type": "modify",
      "old_id": "c950d9b01f19b373a4a5cb05228a2bf857fdb045",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_ec_asn1.cc",
      "new_id": "10bde92e31dbb5ff2735be85924a67fae8ec87a8",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_ec_asn1.cc"
    },
    {
      "type": "modify",
      "old_id": "d045148fb938cedbedb01f239a8654e6c3588bd0",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_ed25519.cc",
      "new_id": "540146a28fd1bd5b7a6318918ed115092ca57b62",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_ed25519.cc"
    },
    {
      "type": "modify",
      "old_id": "805342286784d4a896ba31b5d873b45093abf1e6",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_ed25519_asn1.cc",
      "new_id": "6f1f572edde74e4da67970c6f2eaf3a49d2ab893",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_ed25519_asn1.cc"
    },
    {
      "type": "modify",
      "old_id": "99f414e8fe83e5e0d665a38bf448662fb3fdf274",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_rsa_asn1.cc",
      "new_id": "ab2350894fbc05df285ffefb008836e4e5d3544d",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_rsa_asn1.cc"
    },
    {
      "type": "modify",
      "old_id": "91e3975a2e223d28e411cc310cccaf83e0b0ba06",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_x25519.cc",
      "new_id": "aa63ddc3e82b3fd0e44159ebc01702eee5ecacdf",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_x25519.cc"
    },
    {
      "type": "modify",
      "old_id": "c31dcc5deabeaeee1f7a73f80589a6ada4afe9eb",
      "old_mode": 33188,
      "old_path": "crypto/evp/p_x25519_asn1.cc",
      "new_id": "f37111ca0c6c42d60050802411628ec7184e97a7",
      "new_mode": 33188,
      "new_path": "crypto/evp/p_x25519_asn1.cc"
    }
  ]
}
