)]}'
{
  "commit": "06481295669a052ca3dedbc24f4c0a48a6f293ac",
  "tree": "24ffe00d30cf91225113fa6647dd657cb5a7d298",
  "parents": [
    "a54ebffa76def47babe00afa41cec27349b698d0"
  ],
  "author": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Thu Apr 13 11:38:40 2017 -0700"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Fri Apr 21 17:46:37 2017 +0000"
  },
  "message": "Move modes/ into the FIPS module\n\nThe changes to delocate.go are needed because modes/ does things like\nreturn the address of a module function. Both of these need to be\nchanged from referencing the GOT to using local symbols.\n\nRather than testing whether |ghash| is |gcm_ghash_avx|, we can just keep\nthat information in a flag.\n\nThe test for |aesni_ctr32_encrypt_blocks| is more problematic, but I\nbelieve that it\u0027s superfluous and can be dropped: if you passed in a\nstream function that was semantically different from\n|aesni_ctr32_encrypt_blocks| you would already have a bug because\n|CRYPTO_gcm128_[en|de]crypt_ctr32| will handle a block at the end\nthemselves, and assume a big-endian, 32-bit counter anyway.\n\nChange-Id: I68a84ebdab6c6006e11e9467e3362d7585461385\nReviewed-on: https://boringssl-review.googlesource.com/15064\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e4b559a4c47f185e92349ddceaa6c57592d9b6c1",
      "old_mode": 33188,
      "old_path": "crypto/CMakeLists.txt",
      "new_id": "6991ac9eef2c456bc21585d4540236a62ec65b85",
      "new_mode": 33188,
      "new_path": "crypto/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "861a563107925fb5952d77027d91d5de308a601e",
      "old_mode": 33188,
      "old_path": "crypto/cipher/e_aes.c",
      "new_id": "a487cd9fe956527a579562649206c318eafe0a04",
      "new_mode": 33188,
      "new_path": "crypto/cipher/e_aes.c"
    },
    {
      "type": "modify",
      "old_id": "549412c93004483bcc97345df19d3b7d1491bb11",
      "old_mode": 33188,
      "old_path": "crypto/cipher/internal.h",
      "new_id": "595ee878679f4fd2e9c26b13f6a10fb17ee3738d",
      "new_mode": 33188,
      "new_path": "crypto/cipher/internal.h"
    },
    {
      "type": "modify",
      "old_id": "4db44a9bc645cda490e9b1888b03b82f316dffdc",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/CMakeLists.txt",
      "new_id": "375a3db6c03c3739e1b43f3e5b3f56851ea1d4ad",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "cd53a466710300eb6fc62c66406900cba6b49c35",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/aes.c",
      "new_id": "edd866c006fb4fdb50382a7289cc92aaf663ecf9",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/aes.c"
    },
    {
      "type": "modify",
      "old_id": "81e77a42334d93e2842b7888b172568c56274a59",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/aes/mode_wrappers.c",
      "new_id": "4929920f0085abb0a8d4cd99e8ac4d0df60017c5",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/aes/mode_wrappers.c"
    },
    {
      "type": "modify",
      "old_id": "aeb63e397e28c39c8a0b0a76eeb49d6ecbc4f92f",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/bcm.c",
      "new_id": "b17a7d865a24adf54877cd3e9200dc5d4e0d530a",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/bcm.c"
    },
    {
      "type": "modify",
      "old_id": "ebf93323485df6e80c25b61e6513d6ada5899de7",
      "old_mode": 33188,
      "old_path": "crypto/fipsmodule/delocate.go",
      "new_id": "3de9ae38a930abd295bc786606319ab3ccf37eb4",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/delocate.go"
    },
    {
      "type": "rename",
      "old_id": "139014fa9fc3e99208b30d8444022db28a6a7881",
      "old_mode": 33188,
      "old_path": "crypto/modes/asm/aesni-gcm-x86_64.pl",
      "new_id": "57a6a8d85dd8f24cda38dd6399845bd8e77e4e40",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl",
      "score": 99
    },
    {
      "type": "rename",
      "old_id": "1a03251eb388990640cb7397c68da5b53c47ef48",
      "old_mode": 33188,
      "old_path": "crypto/modes/asm/ghash-armv4.pl",
      "new_id": "183fe60bb1791052976c406ce9dcd0f4543a15a1",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/asm/ghash-armv4.pl",
      "score": 99
    },
    {
      "type": "rename",
      "old_id": "d3a79e14d9abcda9fe49cf19d363092cb25a9ad1",
      "old_mode": 33188,
      "old_path": "crypto/modes/asm/ghash-x86.pl",
      "new_id": "dab88ef4dde38f43e931115c12ebb500b2b769be",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/asm/ghash-x86.pl",
      "score": 99
    },
    {
      "type": "rename",
      "old_id": "0e6e3489d3f68eab0a8437d95ac9789a35e10505",
      "old_mode": 33188,
      "old_path": "crypto/modes/asm/ghash-x86_64.pl",
      "new_id": "1a74edfc3e581ee9dec531dc6dd047ab21adc8c3",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/asm/ghash-x86_64.pl",
      "score": 99
    },
    {
      "type": "rename",
      "old_id": "f0598cb28c2a91e613eaa2967f52d4ca1280692d",
      "old_mode": 33188,
      "old_path": "crypto/modes/asm/ghashp8-ppc.pl",
      "new_id": "c46cdb5d7e92e30dd9b7c18a5ffc9acba3fbf1bc",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/asm/ghashp8-ppc.pl",
      "score": 99
    },
    {
      "type": "rename",
      "old_id": "15fc478b155da1caa2bbaecc54cdbf4ebe162b40",
      "old_mode": 33188,
      "old_path": "crypto/modes/asm/ghashv8-armx.pl",
      "new_id": "452bd630758c0cd745e881290ce025a1aa64afc2",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/asm/ghashv8-armx.pl",
      "score": 99
    },
    {
      "type": "rename",
      "old_id": "12d551ce7a1384577f55cd7bc81b8b6510127b60",
      "old_mode": 33188,
      "old_path": "crypto/modes/cbc.c",
      "new_id": "12d551ce7a1384577f55cd7bc81b8b6510127b60",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/cbc.c",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "af15255b495896596555d68fb129a86416be14f1",
      "old_mode": 33188,
      "old_path": "crypto/modes/cfb.c",
      "new_id": "836eb3f793a3543d40c5090923b5a6606ca10514",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/cfb.c",
      "score": 99
    },
    {
      "type": "rename",
      "old_id": "c026d1541aaddf3965f5280301f0ea421c38bd23",
      "old_mode": 33188,
      "old_path": "crypto/modes/ctr.c",
      "new_id": "a191f39e712c0716b21459dd49cc138b51848a66",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/ctr.c",
      "score": 99
    },
    {
      "type": "rename",
      "old_id": "1330ad62623dd655f241e73e62bdebf7a2aac875",
      "old_mode": 33188,
      "old_path": "crypto/modes/gcm.c",
      "new_id": "39021eb3f925fa3d1981c82e8ddfe3612a156cfc",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/gcm.c",
      "score": 97
    },
    {
      "type": "rename",
      "old_id": "1a5e034328437813c5ee61b9099e019f07aabfb7",
      "old_mode": 33188,
      "old_path": "crypto/modes/gcm_test.cc",
      "new_id": "bf4080777be82bca6dbc8f9332721de64e021b3d",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/gcm_test.cc",
      "score": 99
    },
    {
      "type": "rename",
      "old_id": "94072ecb7d920d92857431dbeec8c760ba1242e8",
      "old_mode": 33188,
      "old_path": "crypto/modes/internal.h",
      "new_id": "898c10b9d889dd7ebef695e8fc3a446b50490586",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/internal.h",
      "score": 96
    },
    {
      "type": "rename",
      "old_id": "95d15c3d4781db6672f1a08b456f7af59385180c",
      "old_mode": 33188,
      "old_path": "crypto/modes/ofb.c",
      "new_id": "63bba68b0034e46e7598e29520902f4f89deccc2",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/ofb.c",
      "score": 99
    },
    {
      "type": "rename",
      "old_id": "83df0abcc60cb4646a32f4d6724e95ec9829da3c",
      "old_mode": 33188,
      "old_path": "crypto/modes/polyval.c",
      "new_id": "0f091bc8bc138492c2385eae6f5f7c5758caa016",
      "new_mode": 33188,
      "new_path": "crypto/fipsmodule/modes/polyval.c",
      "score": 96
    },
    {
      "type": "delete",
      "old_id": "dc9e50426fcea74d06061fa011c85a1f0714ecd7",
      "old_mode": 33188,
      "old_path": "crypto/modes/CMakeLists.txt",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "58ffaaab7c85ccb98b157ca0bd8b0fdd7c68de01",
      "old_mode": 33188,
      "old_path": "crypto/rand/internal.h",
      "new_id": "349daf077b7d7c059f69f6f049db114f387caaed",
      "new_mode": 33188,
      "new_path": "crypto/rand/internal.h"
    },
    {
      "type": "modify",
      "old_id": "2811445d934069d511c4fe4fb69fa9c9d17c58c0",
      "old_mode": 33188,
      "old_path": "decrepit/xts/xts.c",
      "new_id": "b0eb5720a0f6d60187c3109a18647a883744d3da",
      "new_mode": 33188,
      "new_path": "decrepit/xts/xts.c"
    },
    {
      "type": "modify",
      "old_id": "0f0a589621553efc47e21d50d6d68e3832bb476c",
      "old_mode": 33188,
      "old_path": "util/all_tests.json",
      "new_id": "3f7a5019d2041735df2ac834edf470899d5b7f12",
      "new_mode": 33188,
      "new_path": "util/all_tests.json"
    }
  ]
}
