)]}'
{
  "commit": "1cce88faacb5c8167bbcf7dfaf9c2b139e230703",
  "tree": "6f9e2eb40b3b832e14fec2092d66baecb1b4182c",
  "parents": [
    "8c7f584e9db6b206620721ef9cd46eacd4802160"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Mon Oct 02 19:10:20 2017 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Mon Oct 02 19:10:20 2017 +0300"
  },
  "message": "Upstream: better handling of invalid headers in cache files.\n\nIf cache file is truncated, it is possible that u-\u003eprocess_header()\nwill return NGX_AGAIN.  Added appropriate handling of this case by\nchanging the error to NGX_HTTP_UPSTREAM_INVALID_HEADER.\n\nAlso, added appropriate logging of this and NGX_HTTP_UPSTREAM_INVALID_HEADER\ncases at the \"crit\" level.  Note that this will result in duplicate logging\nin case of NGX_HTTP_UPSTREAM_INVALID_HEADER.  While this is something better\nto avoid, it is considered to be an overkill to implement cache-specific\nerror logging in u-\u003eprocess_header().\n\nAdditionally, u-\u003ebuffer.start is now reset to be able to receive a new\nresponse, and u-\u003ecache_status set to MISS to provide the value in the\n$upstream_cache_status variable, much like it happens on other cache file\nerrors detected by ngx_http_file_cache_read(), instead of HIT, which is\nbelieved to be misleading.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "73a58824a808dcbec39504a49d11b8110ada09bb",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_upstream.c",
      "new_id": "b3580fea1d00ddbfd6be7e232193996b38e72dca",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_upstream.c"
    }
  ]
}
