mirror of
https://github.com/nginx/nginx.git
synced 2026-05-28 04:12:47 -04:00
always test root existence for access_log with variables
This commit is contained in:
parent
4f677fd203
commit
edf1c8c1b8
5 changed files with 26 additions and 4 deletions
|
|
@ -159,6 +159,8 @@ ngx_http_flv_handler(ngx_http_request_t *r)
|
|||
return NGX_DECLINED;
|
||||
}
|
||||
|
||||
r->root_tested = 1;
|
||||
|
||||
start = 0;
|
||||
len = of.size;
|
||||
i = 1;
|
||||
|
|
|
|||
|
|
@ -175,6 +175,8 @@ ngx_http_gzip_static_handler(ngx_http_request_t *r)
|
|||
|
||||
#endif
|
||||
|
||||
r->root_tested = 1;
|
||||
|
||||
rc = ngx_http_discard_request_body(r);
|
||||
|
||||
if (rc != NGX_OK) {
|
||||
|
|
|
|||
|
|
@ -366,7 +366,7 @@ ngx_http_log_script_write(ngx_http_request_t *r, ngx_http_log_script_t *script,
|
|||
ngx_http_log_loc_conf_t *llcf;
|
||||
ngx_http_core_loc_conf_t *clcf;
|
||||
|
||||
if (r->err_status == NGX_HTTP_NOT_FOUND) {
|
||||
if (!r->root_tested) {
|
||||
|
||||
/* test root directory existance */
|
||||
|
||||
|
|
@ -387,10 +387,25 @@ ngx_http_log_script_write(ngx_http_request_t *r, ngx_http_log_script_t *script,
|
|||
of.events = clcf->open_file_cache_events;
|
||||
|
||||
if (ngx_open_cached_file(clcf->open_file_cache, &path, &of, r->pool)
|
||||
!= NGX_OK
|
||||
|| !of.is_dir)
|
||||
!= NGX_OK)
|
||||
{
|
||||
/* no root directory: simulate successfull logging */
|
||||
if (of.err == 0) {
|
||||
/* simulate successfull logging */
|
||||
return len;
|
||||
}
|
||||
|
||||
ngx_log_error(NGX_LOG_ERR, r->connection->log, of.err,
|
||||
"testing \"%s\" existence failed", path.data);
|
||||
|
||||
/* simulate successfull logging */
|
||||
return len;
|
||||
}
|
||||
|
||||
if (!of.is_dir) {
|
||||
ngx_log_error(NGX_LOG_ERR, r->connection->log, NGX_ENOTDIR,
|
||||
"testing \"%s\" existence failed", path.data);
|
||||
|
||||
/* simulate successfull logging */
|
||||
return len;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -140,6 +140,8 @@ ngx_http_static_handler(ngx_http_request_t *r)
|
|||
return rc;
|
||||
}
|
||||
|
||||
r->root_tested = 1;
|
||||
|
||||
ngx_log_debug1(NGX_LOG_DEBUG_HTTP, log, 0, "http static fd: %d", of.fd);
|
||||
|
||||
if (of.is_dir) {
|
||||
|
|
|
|||
|
|
@ -469,6 +469,7 @@ struct ngx_http_request_s {
|
|||
unsigned request_output:1;
|
||||
unsigned header_sent:1;
|
||||
unsigned expect_tested:1;
|
||||
unsigned root_tested:1;
|
||||
unsigned done:1;
|
||||
unsigned utf8:1;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue