)]}'
{
  "commit": "cf506f17d0fe51a43abcc37aecb63601b70218ef",
  "tree": "60b098734801e676ffc1ffe8b4d50911be77b413",
  "parents": [
    "2d4f1b85f270fe6fc15dfd39a40015f52972ea2e"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Wed May 25 12:10:15 2022 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu May 26 21:52:12 2022 +0000"
  },
  "message": "Make EVP_CIPHER opaque.\n\nIf we\u0027re to have any hope of fixing EVP_CIPHER_CTX\u0027s calling convention, we\nneed to be able to change the shape of its method table.\n\nLooking back, it looks like we exported this in\nhttps://boringssl-review.googlesource.com/4330, for OpenSSH. I don\u0027t\nremember exactly what OpenSSH was doing, but I see in this commit, they\nremoved a bunch of custom EVP_CIPHERs which would definitely have\nrequired an exported EVP_CIPHER struct:\nhttps://github.com/openssh/openssh-portable/commit/cdccebdf85204bf7542b7fcc1aa2ea3f36661833\n\nThat\u0027s been gone for a while now, so hopefully we can hide it again. (If\na project needs a cipher not implemented by OpenSSL, it\u0027s not strictly\nnecessarily to make a custom EVP_CIPHER. It might be convenient to reuse\nthe abstraction, but you can always just call your own APIs directly.)\n\nUpdate-Note: EVP_CIPHER is now opaque. Use accessors instead.\nBug: 494\nChange-Id: I9344690c3cfe7d19d6ca12fb66484ced57dbe869\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/52725\nReviewed-by: Bob Beck \u003cbbe@google.com\u003e\nCommit-Queue: Bob Beck \u003cbbe@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "45b496374184824782ffea81a400142e5ef7fa90",
      "old_mode": 33188,
      "old_path": "crypto/cipher_extra/derive_key.c",
      "new_id": "4b84c4ebc551b72d0d0dab50b24686b0616af1ad",
      "new_mode": 33188,
      "new_path": "crypto/cipher_extra/derive_key.c"
    },
    {
      "type": "modify",
      "old_id": "087029bd23d579781fd30a8e0db93547f54c00af",
      "old_mode": 33188,
      "old_path": "crypto/cipher_extra/e_des.c",
      "new_id": "300ec00e6be98bd6dc9133df08445ce78362ce6c",
      "new_mode": 33188,
      "new_path": "crypto/cipher_extra/e_des.c"
    },
    {
      "type": "modify",
      "old_id": "f5fe8fb7d8a5449f42215ff614d9e65e7d6332b8",
      "old_mode": 33188,
      "old_path": "crypto/cipher_extra/e_null.c",
      "new_id": "e9ee8adc7972a236a1f6d85379cc635e9716d9d4",
      "new_mode": 33188,
      "new_path": "crypto/cipher_extra/e_null.c"
    },
    {
      "type": "modify",
      "old_id": "221a9c9234c84fdd35f07ba98ad95741d789e986",
      "old_mode": 33188,
      "old_path": "crypto/cipher_extra/e_rc2.c",
      "new_id": "ffc5e6b1d9ebdcb1e0d40d34e307bb9c86cbc339",
      "new_mode": 33188,
      "new_path": "crypto/cipher_extra/e_rc2.c"
    },
    {
      "type": "modify",
      "old_id": "e7c2ccaffd50e30555bf5032dc014152de224ff0",
      "old_mode": 33188,
      "old_path": "crypto/cipher_extra/e_rc4.c",
      "new_id": "2f4f9bbac353e0b99a67d377d90ba6b7299aacb4",
      "new_mode": 33188,
      "new_path": "crypto/cipher_extra/e_rc4.c"
    },
    {
      "type": "modify",
      "old_id": "68efe33d4478aa088713b8f38d513556db0b20c2",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/cipher/internal.h",
      "new_id": "6ec9a3b3c84bb8da6f380d2148e61e143406a307",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/cipher/internal.h"
    },
    {
      "type": "modify",
      "old_id": "aa872bc60d8bf380ef9a8c3cf444daf9679db4ae",
      "old_mode": 33188,
      "old_path": "decrepit/blowfish/blowfish.c",
      "new_id": "7c209da5d3af8f5c63242a187abdf843a03d588c",
      "new_mode": 33188,
      "new_path": "decrepit/blowfish/blowfish.c"
    },
    {
      "type": "modify",
      "old_id": "dffee5c1f8e4e4f1b7ddc7125c3a20090f33e74e",
      "old_mode": 33188,
      "old_path": "decrepit/cast/cast.c",
      "new_id": "314e3da21ee986a3027793121463cd19d1edca3f",
      "new_mode": 33188,
      "new_path": "decrepit/cast/cast.c"
    },
    {
      "type": "modify",
      "old_id": "fa1cfd4fc4d22be247b0c6b8d668712f3e007900",
      "old_mode": 33188,
      "old_path": "decrepit/cfb/cfb.c",
      "new_id": "d2311535787d0a2b62168bd94aba0a194a4ade9c",
      "new_mode": 33188,
      "new_path": "decrepit/cfb/cfb.c"
    },
    {
      "type": "modify",
      "old_id": "a433c3beb9cbb148643fcbe3b257dce080303485",
      "old_mode": 33188,
      "old_path": "decrepit/xts/xts.c",
      "new_id": "8a66f0f224096b62acf19394d7a33a45060ba6cc",
      "new_mode": 33188,
      "new_path": "decrepit/xts/xts.c"
    },
    {
      "type": "modify",
      "old_id": "2458847e5640fe955a9971aa77c27251e5091db5",
      "old_mode": 33188,
      "old_path": "include/openssl/cipher.h",
      "new_id": "c19b78de342f4796350aaa52617619c6c1f3e0b6",
      "new_mode": 33188,
      "new_path": "include/openssl/cipher.h"
    }
  ]
}
