diff options
| author | Maxim Dounin <mdounin@mdounin.ru> | 2017-06-22 21:09:06 +0300 |
|---|---|---|
| committer | Maxim Dounin <mdounin@mdounin.ru> | 2017-06-22 21:09:06 +0300 |
| commit | 6433c841a0b66614e3ee448e14e1b32463c7106d (patch) | |
| tree | 5024666c8d88b654294e032f077b71ca3d3e7b89 /src/http/ngx_http_request.c | |
| parent | efa61f42c10355263fd883e53f3e690fe01770a0 (diff) | |
| download | nginx-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
