)]}'
{
  "commit": "2da47d81c38124dbf2cd1c2472990728cde4a6f2",
  "tree": "5024666c8d88b654294e032f077b71ca3d3e7b89",
  "parents": [
    "e9f69c10197f5ca3f834477952654d25c3ff5ecb"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Thu Jun 22 21:09:06 2017 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Thu Jun 22 21:09:06 2017 +0300"
  },
  "message": "Upstream: introduced ngx_http_upstream_ssl_handshake_handler().\n\nThis change reworks 13a5f4765887 to only run posted requests once,\nwith nothing on stack.  Running posted requests with other request\nfunctions on stack may result in use-after-free in case of errors,\nsimilar to the one reported in #788.\n\nTo only run posted request once, a separate function was introduced\nto be used as ssl handshake handler in c-\u003essl-\u003ehandler,\nngx_http_upstream_ssl_handshake_handler().  The ngx_http_run_posted_requests()\nis only called in this function, and not in ngx_http_upstream_ssl_handshake()\nwhich may be called directly on stack.\n\nAdditionaly, ngx_http_upstream_ssl_handshake_handler() now does appropriate\ndebug logging of the current subrequest, similar to what is done in other\nevent handlers.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8207608c78b3b25b88b4b176c3100797785784b2",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_upstream.c",
      "new_id": "c394b29146e1071d9abdbf07f23ef33ee79c8b65",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_upstream.c"
    }
  ]
}
