)]}'
{
  "commit": "00461cf201b66205653fd6159ae260f453738641",
  "tree": "656151ba243139bf71ee1cfa1712c7fb75ee4c60",
  "parents": [
    "ecc2591b6cbb376dfa0ea1dfce35f1f172ffd0d5"
  ],
  "author": {
    "name": "Brian Smith",
    "email": "brian@briansmith.org",
    "time": "Sun Nov 01 10:13:24 2015 -1000"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Tue Nov 03 02:04:38 2015 +0000"
  },
  "message": "Improve crypto/digest/md32_common.h mechanism.\n\nThe documentation in md32_common.h is now (more) correct with respect\nto the most important details of the layout of |HASH_CTX|. The\ndocumentation explaining why sha512.c doesn\u0027t use md32_common.h is now\nmore accurate as well.\n\nBefore, the C implementations of HASH_BLOCK_DATA_ORDER took a pointer\nto the |HASH_CTX| and the assembly language implementations tool a\npointer to the hash state |h| member of |HASH_CTX|. (This worked\nbecause |h| is always the first member of |HASH_CTX|.) Now, the C\nimplementations take a pointer directly to |h| too.\n\nThe definitions of |MD4_CTX|, |MD5_CTX|, and |SHA1_CTX| were changed to\nbe consistent with |SHA256_CTX| and |SHA512_CTX| in storing the hash\nstate in an array. This will break source compatibility with any\nexternal code that accesses the hash state directly, but will not\naffect binary compatibility.\n\nThe second parameter of |HASH_BLOCK_DATA_ORDER| is now of type\n|const uint8_t *|; previously it was |void *| and all implementations\nhad a |uint8_t *data| variable to access it as an array of bytes.\n\nThis change paves the way for future refactorings such as automatically\ngenerating the |*_Init| functions and/or sharing one I-U-F\nimplementation across all digest algorithms.\n\nChange-Id: I30513bb40b5f1d2c8932551d54073c35484b3f8b\nReviewed-on: https://boringssl-review.googlesource.com/6401\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8bca2f307b861a9c2a53bd3908bf36943308b20a",
      "old_mode": 33188,
      "old_path": "crypto/cipher/tls_cbc.c",
      "new_id": "c541db37b9ef734ec992e5ac3717e374707f135c",
      "new_mode": 33188,
      "new_path": "crypto/cipher/tls_cbc.c"
    },
    {
      "type": "modify",
      "old_id": "14607fba008a9d5c7b071621f148df5300ff12a0",
      "old_mode": 33188,
      "old_path": "crypto/digest/md32_common.h",
      "new_id": "d213476d7b5ed0b248caaf1eccc00e7c1006b479",
      "new_mode": 33188,
      "new_path": "crypto/digest/md32_common.h"
    },
    {
      "type": "modify",
      "old_id": "5ef9ae513ad7b4a68dc85b7a2b291e508d90de23",
      "old_mode": 33188,
      "old_path": "crypto/md4/md4.c",
      "new_id": "0a8ea1d6b3965a959aa1b4c86bade175021e5376",
      "new_mode": 33188,
      "new_path": "crypto/md4/md4.c"
    },
    {
      "type": "modify",
      "old_id": "6ad8d1285557cc7f0620b61cf130e4d7de840e42",
      "old_mode": 33188,
      "old_path": "crypto/md5/md5.c",
      "new_id": "f27e62dee3983df891775de9491994362e3e8011",
      "new_mode": 33188,
      "new_path": "crypto/md5/md5.c"
    },
    {
      "type": "modify",
      "old_id": "c03e60815109df6771ee014035f5459b285e44ba",
      "old_mode": 33188,
      "old_path": "crypto/sha/sha1.c",
      "new_id": "b3318c57e569aaa9bb8aa4e0e8649a338414a15c",
      "new_mode": 33188,
      "new_path": "crypto/sha/sha1.c"
    },
    {
      "type": "modify",
      "old_id": "8276bbb523b45b552ec6966a17ef6f450deee8b9",
      "old_mode": 33188,
      "old_path": "crypto/sha/sha256.c",
      "new_id": "53480dd0e7c8acdaf8e33f1f11803afa9d63af48",
      "new_mode": 33188,
      "new_path": "crypto/sha/sha256.c"
    },
    {
      "type": "modify",
      "old_id": "57c96ab9021402dfaf124da02832abd4e4df624c",
      "old_mode": 33188,
      "old_path": "crypto/sha/sha512.c",
      "new_id": "5e77a1ec629bf4fbd0aa25db11691aaa75b4c46e",
      "new_mode": 33188,
      "new_path": "crypto/sha/sha512.c"
    },
    {
      "type": "modify",
      "old_id": "1db7499361d5502ade035462ef860426683df5b1",
      "old_mode": 33188,
      "old_path": "include/openssl/md4.h",
      "new_id": "e363b7326891e8aa3bd99dd55f7aec3b8c192509",
      "new_mode": 33188,
      "new_path": "include/openssl/md4.h"
    },
    {
      "type": "modify",
      "old_id": "9b139222e0d2a09031d10e18fadef637d8d46017",
      "old_mode": 33188,
      "old_path": "include/openssl/md5.h",
      "new_id": "87c3ba414c421564423a11b3acc67860d3e274a4",
      "new_mode": 33188,
      "new_path": "include/openssl/md5.h"
    },
    {
      "type": "modify",
      "old_id": "ac2ab758b41a859b23fdc70acaff488eeeb55497",
      "old_mode": 33188,
      "old_path": "include/openssl/sha.h",
      "new_id": "58f5424ff237f33099eec611ce09a89424d34601",
      "new_mode": 33188,
      "new_path": "include/openssl/sha.h"
    }
  ]
}
