summaryrefslogtreecommitdiffhomepage
path: root/src/http/ngx_http_request.c
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2017-06-22 21:09:06 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2017-06-22 21:09:06 +0300
commit6433c841a0b66614e3ee448e14e1b32463c7106d (patch)
tree5024666c8d88b654294e032f077b71ca3d3e7b89 /src/http/ngx_http_request.c
parentefa61f42c10355263fd883e53f3e690fe01770a0 (diff)
downloadnginx-6433c841a0b66614e3ee448e14e1b32463c7106d.tar.gz
nginx-6433c841a0b66614e3ee448e14e1b32463c7106d.tar.bz2
Upstream: introduced ngx_http_upstream_ssl_handshake_handler().
This change reworks 13a5f4765887 to only run posted requests once, with nothing on stack. Running posted requests with other request functions on stack may result in use-after-free in case of errors, similar to the one reported in #788. To only run posted request once, a separate function was introduced to be used as ssl handshake handler in c->ssl->handler, ngx_http_upstream_ssl_handshake_handler(). The ngx_http_run_posted_requests() is only called in this function, and not in ngx_http_upstream_ssl_handshake() which may be called directly on stack. Additionaly, ngx_http_upstream_ssl_handshake_handler() now does appropriate debug logging of the current subrequest, similar to what is done in other event handlers.
Diffstat (limited to 'src/http/ngx_http_request.c')
0 files changed, 0 insertions, 0 deletions