)]}'
{
  "commit": "de180ffad584a522ed5a973adb2989ff8f0fc5ee",
  "tree": "b3a22ec829eaf91ad69892b8ffa501f5cb8f2ace",
  "parents": [
    "c322e1efa92984359ddadfc8cadad434734ad8a1"
  ],
  "author": {
    "name": "Pavel Pautov",
    "email": "p.pautov@f5.com",
    "time": "Wed Nov 18 18:41:16 2020 -0800"
  },
  "committer": {
    "name": "Pavel Pautov",
    "email": "p.pautov@f5.com",
    "time": "Wed Nov 18 18:41:16 2020 -0800"
  },
  "message": "gRPC: RST_STREAM(NO_ERROR) handling after \"trailer only\" responses.\n\nSimilarly to the problem fixed in 2096b21fcd10 (ticket #1792),\nwhen a \"trailer only\" gRPC response (that is, a response with the\nEND_STREAM flag in the HEADERS frame) was immediately followed by\nRST_STREAM(NO_ERROR) in the data preread along with the response\nheader, RST_STREAM wasn\u0027t properly skipped and caused \"upstream\nrejected request with error 0\" errors.\nObserved with \"unknown service\" gRPC errors returned by grpc-go.\n\nFix is to set ctx-\u003edone if we are going to parse additional data,\nso the RST_STREAM(NO_ERROR) is properly skipped.  Additionally, now\nngx_http_grpc_filter() will complain about frames sent for closed\nstream if there are any.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0b8bb5281dc971cbceca31c478023359ca152fbf",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_grpc_module.c",
      "new_id": "aa7576561437abd8587025eb1c15f787107bf02b",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_grpc_module.c"
    }
  ]
}
