)]}'
{
  "commit": "2359fb9994a97093e6e36f4c9945b1195202ed26",
  "tree": "7f15156012d59a724150cb300a238e9e5c952480",
  "parents": [
    "aaa2f6b460d79157ce271b5a143c19fc4c6aa34e"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Thu Nov 09 15:35:20 2017 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Thu Nov 09 15:35:20 2017 +0300"
  },
  "message": "FastCGI: adjust buffer position when parsing incomplete records.\n\nPreviously, nginx failed to move buffer position when parsing an incomplete\nrecord header, and due to this wasn\u0027t be able to continue parsing once\nremaining bytes of the record header were received.\n\nThis can affect response header parsing, potentially generating spurious errors\nlike \"upstream sent unexpected FastCGI request id high byte: 1 while reading\nresponse header from upstream\".  While this is very unlikely, since usually\nrecord headers are written in a single buffer, this still can happen in real\nlife, for example, if a record header will be split across two TCP packets\nand the second packet will be delayed.\n\nThis does not affect non-buffered response body proxying, due to \"buf-\u003epos \u003d\nbuf-\u003elast;\" at the start of the ngx_http_fastcgi_non_buffered_filter()\nfunction.  Also this does not affect buffered response body proxying, as\neach input buffer is only passed to the filter once.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ea16ecae9eb88e9af8f7ad7c3e093d13b552a08b",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_fastcgi_module.c",
      "new_id": "b4bb1d0a5afb9958e76748b9956735d93c379cd3",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_fastcgi_module.c"
    }
  ]
}
