)]}'
{
  "commit": "d17d74d73f8a008f5e7ca6a64257b3c3a99d1bb4",
  "tree": "77f0a84c6ddac2344a2bbcc9daff73f7233ddc1c",
  "parents": [
    "bc61769e49df6c84de636051ecd8b8104c07caf4"
  ],
  "author": {
    "name": "Matt Braithwaite",
    "email": "mab@google.com",
    "time": "Wed Aug 17 20:10:28 2016 -0700"
  },
  "committer": {
    "name": "CQ bot account: commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Thu Sep 01 22:22:54 2016 +0000"
  },
  "message": "Replace Scoped* heap types with bssl::UniquePtr.\n\nUnlike the Scoped* types, bssl::UniquePtr is available to C++ users, and\noffered for a large variety of types.  The \u0027extern \"C++\"\u0027 trick is used\nto make the C++ bits digestible to C callers that wrap header files in\n\u0027extern \"C\"\u0027.\n\nChange-Id: Ifbca4c2997d6628e33028c7d7620c72aff0f862e\nReviewed-on: https://boringssl-review.googlesource.com/10521\nReviewed-by: David Benjamin \u003cdavidben@google.com\u003e\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nCQ-Verified: CQ bot account: commit-bot@chromium.org \u003ccommit-bot@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1129600991173f0a7067d0f4bcda9fb2047fc6da",
      "old_mode": 33188,
      "old_path": "API-CONVENTIONS.md",
      "new_id": "6ede00da612c4c92660d264d87be77f83d945c0d",
      "new_mode": 33188,
      "new_path": "API-CONVENTIONS.md"
    },
    {
      "type": "modify",
      "old_id": "8b024427a23b50c5699606b08cd99dca92139d98",
      "old_mode": 33188,
      "old_path": "crypto/asn1/asn1_test.cc",
      "new_id": "77a1ee0d389b8f9c6b3b6ed55471e6081ed6ced6",
      "new_mode": 33188,
      "new_path": "crypto/asn1/asn1_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d7be884e0712825d7ffd937e02a90c43c560dd78",
      "old_mode": 33188,
      "old_path": "crypto/bio/bio_test.cc",
      "new_id": "cbc4fde80c0878e0c791739e449160f72c56d032",
      "new_mode": 33188,
      "new_path": "crypto/bio/bio_test.cc"
    },
    {
      "type": "modify",
      "old_id": "bb83a40765cb2632d818ade1d4bbcfc2110a0747",
      "old_mode": 33188,
      "old_path": "crypto/bn/bn_test.cc",
      "new_id": "0867dec2e08af4e2560e8abdffe6301396b447ca",
      "new_mode": 33188,
      "new_path": "crypto/bn/bn_test.cc"
    },
    {
      "type": "modify",
      "old_id": "f567fd0c2f1ee6874b23afc5a9d9a2cd88be9aa5",
      "old_mode": 33188,
      "old_path": "crypto/bytestring/bytestring_test.cc",
      "new_id": "45a2335abd233dea72bc4fad1815bbcdc0154504",
      "new_mode": 33188,
      "new_path": "crypto/bytestring/bytestring_test.cc"
    },
    {
      "type": "modify",
      "old_id": "2496f2a92ea95f975bedd4662311c149241fbab4",
      "old_mode": 33188,
      "old_path": "crypto/cmac/cmac_test.cc",
      "new_id": "7cb1df502ad2772d49e5d49c184062e29b25e0a5",
      "new_mode": 33188,
      "new_path": "crypto/cmac/cmac_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d97a8602af16ce1421755e4d2d04f21df66fae6d",
      "old_mode": 33188,
      "old_path": "crypto/curve25519/spake25519_test.cc",
      "new_id": "363b60ca54a80697f5317429a8642faad08b5af0",
      "new_mode": 33188,
      "new_path": "crypto/curve25519/spake25519_test.cc"
    },
    {
      "type": "modify",
      "old_id": "b8bfe46ea497c25348bf3db73ba40aec4c8f31ec",
      "old_mode": 33188,
      "old_path": "crypto/dh/dh_test.cc",
      "new_id": "12984e6458179b96e17a01651dc92d536c68f866",
      "new_mode": 33188,
      "new_path": "crypto/dh/dh_test.cc"
    },
    {
      "type": "modify",
      "old_id": "ca0e140171c6e50de75f5d52a2a9444a5ec13909",
      "old_mode": 33188,
      "old_path": "crypto/ec/ec_test.cc",
      "new_id": "9648d57df76e8d224827f8065c87c233c7d30369",
      "new_mode": 33188,
      "new_path": "crypto/ec/ec_test.cc"
    },
    {
      "type": "modify",
      "old_id": "95f14023eeba3c253d8aaa75a91168c5f5348388",
      "old_mode": 33188,
      "old_path": "crypto/ecdh/ecdh_test.cc",
      "new_id": "a02fd22fa8a2cf9904c30f6e767c1fab72ad4a1d",
      "new_mode": 33188,
      "new_path": "crypto/ecdh/ecdh_test.cc"
    },
    {
      "type": "modify",
      "old_id": "683f0f0571e976b53fee1852c538f814c608a4e1",
      "old_mode": 33188,
      "old_path": "crypto/ecdsa/ecdsa_sign_test.cc",
      "new_id": "ee95773c492e2be0911965796d15a08f2300f1a0",
      "new_mode": 33188,
      "new_path": "crypto/ecdsa/ecdsa_sign_test.cc"
    },
    {
      "type": "modify",
      "old_id": "8d7827df5e48e1f14c2d89d3d01f59af4dda46b2",
      "old_mode": 33188,
      "old_path": "crypto/ecdsa/ecdsa_test.cc",
      "new_id": "7c68de4429c6644a823cd1c54ba85f37b9659a02",
      "new_mode": 33188,
      "new_path": "crypto/ecdsa/ecdsa_test.cc"
    },
    {
      "type": "modify",
      "old_id": "7ef2d29f351e5dcbb8ba13987eeb713f8a2b3c3f",
      "old_mode": 33188,
      "old_path": "crypto/ecdsa/ecdsa_verify_test.cc",
      "new_id": "18340e2bb054a7700c11db784c4d49504df238a3",
      "new_mode": 33188,
      "new_path": "crypto/ecdsa/ecdsa_verify_test.cc"
    },
    {
      "type": "modify",
      "old_id": "b2c519eb3d0306b9b12a0737d1b82b57c48fb6ba",
      "old_mode": 33188,
      "old_path": "crypto/evp/evp_extra_test.cc",
      "new_id": "125dc032fe15012e106f0399d88191bd66d328c9",
      "new_mode": 33188,
      "new_path": "crypto/evp/evp_extra_test.cc"
    },
    {
      "type": "modify",
      "old_id": "9c8735b47de882cbe5d93e9bdf6ef16dc61a26ba",
      "old_mode": 33188,
      "old_path": "crypto/evp/evp_test.cc",
      "new_id": "58d3ebdafa09b7fe0e937f1977708087e5d6496a",
      "new_mode": 33188,
      "new_path": "crypto/evp/evp_test.cc"
    },
    {
      "type": "modify",
      "old_id": "44fac48a02d93bb0c457870a1f6c05a17a21e5c7",
      "old_mode": 33188,
      "old_path": "crypto/newhope/newhope_statistical_test.cc",
      "new_id": "3ca6d78d2a1745372a74212af6781073f72a316e",
      "new_mode": 33188,
      "new_path": "crypto/newhope/newhope_statistical_test.cc"
    },
    {
      "type": "modify",
      "old_id": "6637393f662c3cdedbba6beeafbc462d6a8414d8",
      "old_mode": 33188,
      "old_path": "crypto/newhope/newhope_test.cc",
      "new_id": "a590721419cbb6664b9c62c4754dccd4c7cd9d8a",
      "new_mode": 33188,
      "new_path": "crypto/newhope/newhope_test.cc"
    },
    {
      "type": "modify",
      "old_id": "fe84cd4b5eb1ee3c5c7fe24db4d9807de814df25",
      "old_mode": 33188,
      "old_path": "crypto/newhope/newhope_vectors_test.cc",
      "new_id": "64aa0bbc3b42bca87b8d969b4d692d2eb6d4d76f",
      "new_mode": 33188,
      "new_path": "crypto/newhope/newhope_vectors_test.cc"
    },
    {
      "type": "modify",
      "old_id": "17bcd27372fd485a444d3e53a7f1e26657dbf871",
      "old_mode": 33188,
      "old_path": "crypto/pkcs8/pkcs12_test.cc",
      "new_id": "5c1a1b48e70d110c3f7fbb74a5739aca0460e380",
      "new_mode": 33188,
      "new_path": "crypto/pkcs8/pkcs12_test.cc"
    },
    {
      "type": "modify",
      "old_id": "7a88ddf4f0c950891d9bf003774b42db799b0ab1",
      "old_mode": 33188,
      "old_path": "crypto/pkcs8/pkcs8_test.cc",
      "new_id": "cbb20438d5f61e63fd182f5a01d51a73f98229d9",
      "new_mode": 33188,
      "new_path": "crypto/pkcs8/pkcs8_test.cc"
    },
    {
      "type": "modify",
      "old_id": "62177a4c375458a009c3d06f87b17622ae9182ed",
      "old_mode": 33188,
      "old_path": "crypto/rsa/rsa_test.cc",
      "new_id": "8c4a787165c5a1db5a58c5f3699271d7154daa3d",
      "new_mode": 33188,
      "new_path": "crypto/rsa/rsa_test.cc"
    },
    {
      "type": "delete",
      "old_id": "c124235d498c7bc6e3ad3aefa42113d9eb4c36b4",
      "old_mode": 33188,
      "old_path": "crypto/test/scoped_types.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "d1eed2a3a49a4f3302ff6291a38fdc2a1d7b2b7f",
      "old_mode": 33188,
      "old_path": "crypto/x509/x509_test.cc",
      "new_id": "3c7cc63682dd4c8400bdbc39651b9cb8ff224a6a",
      "new_mode": 33188,
      "new_path": "crypto/x509/x509_test.cc"
    },
    {
      "type": "modify",
      "old_id": "e0bfc8ba733ae9e8ec2da0c3f060ced3fd0508b7",
      "old_mode": 33188,
      "old_path": "include/openssl/asn1.h",
      "new_id": "e99099ee94a96161f6aa808729fa1d196c0dfa5a",
      "new_mode": 33188,
      "new_path": "include/openssl/asn1.h"
    },
    {
      "type": "modify",
      "old_id": "441aa298008459ef1a14264d64a66fb3db0b1c25",
      "old_mode": 33188,
      "old_path": "include/openssl/base.h",
      "new_id": "8347c6131fef367570ad3dd37489da49a8255f77",
      "new_mode": 33188,
      "new_path": "include/openssl/base.h"
    },
    {
      "type": "modify",
      "old_id": "9622f96b83b8e57123533c7b38bc448e7eacb2e8",
      "old_mode": 33188,
      "old_path": "include/openssl/bio.h",
      "new_id": "4aa9070c229bf62dbd8dc24561bdd3170fcc2d8d",
      "new_mode": 33188,
      "new_path": "include/openssl/bio.h"
    },
    {
      "type": "modify",
      "old_id": "67a3455b93c48c8db2eba986fe83e0631bf59e20",
      "old_mode": 33188,
      "old_path": "include/openssl/bn.h",
      "new_id": "c1b9e39b072cbfcef33c06bc3d3ea97118858a60",
      "new_mode": 33188,
      "new_path": "include/openssl/bn.h"
    },
    {
      "type": "modify",
      "old_id": "8ae856b67189586f2c202108379688ff483489db",
      "old_mode": 33188,
      "old_path": "include/openssl/buf.h",
      "new_id": "7e39864269eb701b819e5ca34d68a978da0c6ccf",
      "new_mode": 33188,
      "new_path": "include/openssl/buf.h"
    },
    {
      "type": "modify",
      "old_id": "0bb44b95262705fc2bcef29d499abfd5b535d2f8",
      "old_mode": 33188,
      "old_path": "include/openssl/cmac.h",
      "new_id": "fb0b9f2529010ae865942ecd5df356894345e439",
      "new_mode": 33188,
      "new_path": "include/openssl/cmac.h"
    },
    {
      "type": "modify",
      "old_id": "2aa3b79e3ad8eb4451fb2a52c2394db992ae5da2",
      "old_mode": 33188,
      "old_path": "include/openssl/conf.h",
      "new_id": "8acb0849231dfe2fdb1e5f7ac8b21923dbcb9d4c",
      "new_mode": 33188,
      "new_path": "include/openssl/conf.h"
    },
    {
      "type": "modify",
      "old_id": "a9441cd4986c35bf940d25fee53760b03af26846",
      "old_mode": 33188,
      "old_path": "include/openssl/curve25519.h",
      "new_id": "70eff7a4f2ff99c498435c9c579af777ae93b7fb",
      "new_mode": 33188,
      "new_path": "include/openssl/curve25519.h"
    },
    {
      "type": "modify",
      "old_id": "40256561c79c9b2b6f312bd0090514224553a8d4",
      "old_mode": 33188,
      "old_path": "include/openssl/dh.h",
      "new_id": "a3f34d9f4fb2f9796144fb4c213eb0abe25288fd",
      "new_mode": 33188,
      "new_path": "include/openssl/dh.h"
    },
    {
      "type": "modify",
      "old_id": "1e1ff656567d2337abb79e211790d30cc47b1af1",
      "old_mode": 33188,
      "old_path": "include/openssl/dsa.h",
      "new_id": "07f14953beb46652f0d816dc66425f4495503fb6",
      "new_mode": 33188,
      "new_path": "include/openssl/dsa.h"
    },
    {
      "type": "modify",
      "old_id": "71c59d18d05bc53398e7aa30df97faa46c5eb8df",
      "old_mode": 33188,
      "old_path": "include/openssl/ec.h",
      "new_id": "234940332900fa576a6de401a26ef15679d77528",
      "new_mode": 33188,
      "new_path": "include/openssl/ec.h"
    },
    {
      "type": "modify",
      "old_id": "0658deb2915419c9940419a11f93890e8725735d",
      "old_mode": 33188,
      "old_path": "include/openssl/ec_key.h",
      "new_id": "a7c8bf8b8fc47630aa582bb7cc67db713aadd46e",
      "new_mode": 33188,
      "new_path": "include/openssl/ec_key.h"
    },
    {
      "type": "modify",
      "old_id": "a060eab349a803048b328d8f0a9eb897c8ce5c2d",
      "old_mode": 33188,
      "old_path": "include/openssl/ecdsa.h",
      "new_id": "5f07a9c727190f1c33281bfd7cb93a28ed9614d5",
      "new_mode": 33188,
      "new_path": "include/openssl/ecdsa.h"
    },
    {
      "type": "modify",
      "old_id": "128a2ae12c7d40c07cab420ba576a6010813707e",
      "old_mode": 33188,
      "old_path": "include/openssl/engine.h",
      "new_id": "9cbdf39aeb5b081e7d2e801029e699ab445a5098",
      "new_mode": 33188,
      "new_path": "include/openssl/engine.h"
    },
    {
      "type": "modify",
      "old_id": "d5d528edff211e122f703984a79600670dbabb23",
      "old_mode": 33188,
      "old_path": "include/openssl/evp.h",
      "new_id": "41e9e14f93669900d66924c571d61275af1f5439",
      "new_mode": 33188,
      "new_path": "include/openssl/evp.h"
    },
    {
      "type": "modify",
      "old_id": "31756f03aae60a6f790de8d76811aa007e43bc43",
      "old_mode": 33188,
      "old_path": "include/openssl/mem.h",
      "new_id": "98ee07759abd753980aba0dabd53d2a35853a81c",
      "new_mode": 33188,
      "new_path": "include/openssl/mem.h"
    },
    {
      "type": "modify",
      "old_id": "487e03f6926c99fdda5fdd2424d834b3a9de090d",
      "old_mode": 33188,
      "old_path": "include/openssl/newhope.h",
      "new_id": "67728ea57c42eca9cfcbc498ea84fa90de6882d2",
      "new_mode": 33188,
      "new_path": "include/openssl/newhope.h"
    },
    {
      "type": "modify",
      "old_id": "28cf6ac1f607d688a9c6432c3220713b1282be5e",
      "old_mode": 33188,
      "old_path": "include/openssl/pkcs8.h",
      "new_id": "0939d8ca643cf60c4ea8a4b0fa408d3b7d1d8148",
      "new_mode": 33188,
      "new_path": "include/openssl/pkcs8.h"
    },
    {
      "type": "modify",
      "old_id": "b4c7653b1979d24904a7219080aa263f8f14f8b6",
      "old_mode": 33188,
      "old_path": "include/openssl/rsa.h",
      "new_id": "f761dc68a79e2e3ded07b261afc2a6b9a9d4e551",
      "new_mode": 33188,
      "new_path": "include/openssl/rsa.h"
    },
    {
      "type": "modify",
      "old_id": "9787bcbca982d05f25472aa3d1ce3c9959240b7f",
      "old_mode": 33188,
      "old_path": "include/openssl/ssl.h",
      "new_id": "3d705ee72a3a5522a3e328e887fd27dcef401238",
      "new_mode": 33188,
      "new_path": "include/openssl/ssl.h"
    },
    {
      "type": "modify",
      "old_id": "5bbf651d302162086ddd970b8abf7b5f58acfa5d",
      "old_mode": 33188,
      "old_path": "include/openssl/x509.h",
      "new_id": "c32a6e728de3d3cee21fd2f0be44f6a54bf6fe3b",
      "new_mode": 33188,
      "new_path": "include/openssl/x509.h"
    },
    {
      "type": "modify",
      "old_id": "50ded0de0f4641be59f885fca6c34f080849d175",
      "old_mode": 33188,
      "old_path": "include/openssl/x509_vfy.h",
      "new_id": "0a45aadff0525a91a5949f2bcef43997f64a9391",
      "new_mode": 33188,
      "new_path": "include/openssl/x509_vfy.h"
    },
    {
      "type": "modify",
      "old_id": "1bf0b24bf166d06e58107f8b06d0cf65510e5bf1",
      "old_mode": 33188,
      "old_path": "ssl/ssl_test.cc",
      "new_id": "78900e91c7a8b24e8807b00828e0ab56e205ad35",
      "new_mode": 33188,
      "new_path": "ssl/ssl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "7a5737bbeab910a8f746aaa0914f9fb4e341901f",
      "old_mode": 33188,
      "old_path": "ssl/test/async_bio.cc",
      "new_id": "605b33aaaf15def735cf97578cf1c8189124b9b2",
      "new_mode": 33188,
      "new_path": "ssl/test/async_bio.cc"
    },
    {
      "type": "modify",
      "old_id": "fbc40163eefe9f11917f92978d8b42e66f0ecc29",
      "old_mode": 33188,
      "old_path": "ssl/test/async_bio.h",
      "new_id": "9974139d954a30f2a5f30a842f37449ca1a44992",
      "new_mode": 33188,
      "new_path": "ssl/test/async_bio.h"
    },
    {
      "type": "modify",
      "old_id": "f9ab913accc9257161c218b2e5de918115a3b997",
      "old_mode": 33188,
      "old_path": "ssl/test/bssl_shim.cc",
      "new_id": "ff77b630cde595bc7f6f0d30c6a98907a23908b4",
      "new_mode": 33188,
      "new_path": "ssl/test/bssl_shim.cc"
    },
    {
      "type": "modify",
      "old_id": "b0982b07428abfe4fc4061203b607c49044f93ba",
      "old_mode": 33188,
      "old_path": "ssl/test/packeted_bio.cc",
      "new_id": "f7267fc6ea86162982171257aed105ce66b8fbfc",
      "new_mode": 33188,
      "new_path": "ssl/test/packeted_bio.cc"
    },
    {
      "type": "modify",
      "old_id": "9bab635a075e9b09141dccf8a0bb9e96ab7fca5d",
      "old_mode": 33188,
      "old_path": "ssl/test/packeted_bio.h",
      "new_id": "07930d47083938ba6865ad6c86460e8a03b01428",
      "new_mode": 33188,
      "new_path": "ssl/test/packeted_bio.h"
    },
    {
      "type": "delete",
      "old_id": "7e92ceeda4e932ff301ff4aeb76700910410eb8f",
      "old_mode": 33188,
      "old_path": "ssl/test/scoped_types.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "d7cc36b8420e8f5ae7e440bbd2e4f53cea773cd2",
      "old_mode": 33188,
      "old_path": "tool/ciphers.cc",
      "new_id": "f52527bc5d0b73eb47b2d41a368dea9b1af1e87c",
      "new_mode": 33188,
      "new_path": "tool/ciphers.cc"
    },
    {
      "type": "modify",
      "old_id": "9d662d721debda6665c2e8957b11dd998d3c80bf",
      "old_mode": 33188,
      "old_path": "tool/client.cc",
      "new_id": "9893cd49f33926f105dbafaf1900f0153ca68cd1",
      "new_mode": 33188,
      "new_path": "tool/client.cc"
    },
    {
      "type": "modify",
      "old_id": "15d36924bb507c1d8e2499e18d9e8a3d72bcc9fb",
      "old_mode": 33188,
      "old_path": "tool/generate_ed25519.cc",
      "new_id": "35b57b9940ae4c4dedae92292ae3eb7e6948ec46",
      "new_mode": 33188,
      "new_path": "tool/generate_ed25519.cc"
    },
    {
      "type": "modify",
      "old_id": "4b39401532a7e320a5473bf6bea4503d586baf95",
      "old_mode": 33188,
      "old_path": "tool/genrsa.cc",
      "new_id": "b49ebbc59a1365816dc89a9d2eea19f9f1c48e85",
      "new_mode": 33188,
      "new_path": "tool/genrsa.cc"
    },
    {
      "type": "modify",
      "old_id": "780a7ea12485eac916d76f8d0092283b5d09a45a",
      "old_mode": 33188,
      "old_path": "tool/speed.cc",
      "new_id": "f089498bea5915248016b11e26cc103b5acd5a5a",
      "new_mode": 33188,
      "new_path": "tool/speed.cc"
    },
    {
      "type": "modify",
      "old_id": "51e95b18b07bf1254708816ddbb2bef533baf0bd",
      "old_mode": 33188,
      "old_path": "util/BUILD.toplevel",
      "new_id": "6b645e61a6dd1c9f0932c35ad0ad0939b212e8a7",
      "new_mode": 33188,
      "new_path": "util/BUILD.toplevel"
    }
  ]
}
