)]}'
{
  "commit": "9d36433fcea402ded115c327f99e7a04924e8d0e",
  "tree": "7b33b9ec24dda0f7ee95cc46d92a4a716b277c61",
  "parents": [
    "2c111bc7d22c12845d2f1ad8f22b88d272e63e08"
  ],
  "author": {
    "name": "Ilya Leoshkevich",
    "email": "iii@linux.ibm.com",
    "time": "Fri Jul 12 12:43:08 2019 +0200"
  },
  "committer": {
    "name": "Ilya Leoshkevich",
    "email": "iii@linux.ibm.com",
    "time": "Fri Jul 12 12:43:08 2019 +0200"
  },
  "message": "Gzip: use zlib to write header and trailer.\n\nWhen nginx is used with zlib patched with [1], which provides\nintegration with the future IBM Z hardware deflate acceleration, it ends\nup computing CRC32 twice: one time in hardware, which always does this,\nand one time in software by explicitly calling crc32().\n\ncrc32() calls were added in changesets 133:b27548f540ad (\"nginx-0.0.1-\n2003-09-24-23:51:12 import\") and 134:d57c6835225c (\"nginx-0.0.1-\n2003-09-26-09:45:21 import\") as part of gzip wrapping feature - back\nthen zlib did not support it.\n\nHowever, since then gzip wrapping was implemented in zlib v1.2.0.4,\nand it\u0027s already being used by nginx for log compression.\n\nThis patch replaces hand-written gzip wrapping with the one provided by\nzlib. It simplifies the code, and makes it avoid computing CRC32 twice\nwhen using hardware acceleration.\n\n[1] https://github.com/madler/zlib/pull/410\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e4c343c9b1eb1d37e32188b6f7224ae0a1083f1e",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_gzip_filter_module.c",
      "new_id": "48f3dd7c7cc84591169748333977e52c2cbd5d59",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_gzip_filter_module.c"
    }
  ]
}
