)]}'
{
  "commit": "354986b9673ec006429d7856b3c0599102ed92e3",
  "tree": "d691aecc335b140cc1deb45bf356421004284df0",
  "parents": [
    "400685a6914c60d5b37162a5bab41220332256b1"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Tue Dec 24 17:24:59 2019 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Tue Dec 24 17:24:59 2019 +0300"
  },
  "message": "SSL: reworked posted next events.\n\nIntroduced in 9d2ad2fb4423 available bytes handling in SSL relied\non connection read handler being overwritten to set the ready flag\nand the amount of available bytes.  This approach is, however, does\nnot work properly when connection read handler is changed, for example,\nwhen switching to a next pipelined request, and can result in unexpected\nconnection timeouts, see here:\n\nhttp://mailman.nginx.org/pipermail/nginx-devel/2019-December/012825.html\n\nFix is to introduce ngx_event_process_posted_next() instead, which\nwill set ready and available regardless of how event handler is set.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6e19f311b61c02eb8e344a8cdb30ce9339d79e90",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event.c",
      "new_id": "54ab605e37ec81c960be5f9942a80ae37b36e11f",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event.c"
    },
    {
      "type": "modify",
      "old_id": "e9431b2d6a19148fe3ef4496662f387c234d4598",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event_openssl.c",
      "new_id": "6a0e8c0ad4da70aa46d1b8ede117cb71cd344574",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event_openssl.c"
    },
    {
      "type": "modify",
      "old_id": "71df9004526dbc8d800258ffb018fc113ea4d670",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event_openssl.h",
      "new_id": "61da0c5db6f2114adf863b48597bd0a7e0d8f509",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event_openssl.h"
    },
    {
      "type": "modify",
      "old_id": "fd0b411c4c3da7ee1078aa4292fcc26733467e2c",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event_posted.c",
      "new_id": "125bf4c677243f8584b2ad52fdfbc14818f4a5e4",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event_posted.c"
    },
    {
      "type": "modify",
      "old_id": "bac5b35552642117f1dee1a760927476ecabdc1a",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event_posted.h",
      "new_id": "de0a8045408720e588fc213fa7281c5e69345407",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event_posted.h"
    }
  ]
}
