aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http_request.c
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2021-05-24 18:23:42 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2021-05-24 18:23:42 +0300
commit52d0ec7d1799cc67452c32052e96b8cdace0c7b7 (patch)
treeefb199e40ccad7a66c090102cd66f1d6e5110b74 /src/http/ngx_http_request.c
parentecbe06b9fee57207d84be9ac39d1aa10b2d0fbd8 (diff)
downloadnginx-52d0ec7d1799cc67452c32052e96b8cdace0c7b7.tar.gz
nginx-52d0ec7d1799cc67452c32052e96b8cdace0c7b7.zip
Fixed log action when using SSL certificates with variables.
When variables are used in ssl_certificate or ssl_certificate_key, a request is created in the certificate callback to evaluate the variables, and then freed. Freeing it, however, updates c->log->action to "closing request", resulting in confusing error messages like "client timed out ... while closing request" when a client times out during the SSL handshake. Fix is to restore c->log->action after calling ngx_http_free_request().
Diffstat (limited to 'src/http/ngx_http_request.c')
-rw-r--r--src/http/ngx_http_request.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
index 684fabdd6..81b27a386 100644
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -1043,12 +1043,14 @@ ngx_http_ssl_certificate(ngx_ssl_conn_t *ssl_conn, void *arg)
}
ngx_http_free_request(r, 0);
+ c->log->action = "SSL handshaking";
c->destroyed = 0;
return 1;
failed:
ngx_http_free_request(r, 0);
+ c->log->action = "SSL handshaking";
c->destroyed = 0;
return 0;
}