Mercurial > hg > nginx
changeset 5415:f7e8e6bd5379 stable-1.4
Autoindex: improved ngx_de_info() error handling.
This allows to build a directory listing whenever a loop exists in symbolic
link resolution of the path argument.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Tue, 30 Jul 2013 11:43:21 +0400 |
parents | 5fa350899fe0 |
children | ddf740b9fdf6 |
files | src/http/modules/ngx_http_autoindex_module.c src/os/unix/ngx_errno.h src/os/win32/ngx_errno.h |
diffstat | 3 files changed, 3 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/modules/ngx_http_autoindex_module.c +++ b/src/http/modules/ngx_http_autoindex_module.c @@ -304,7 +304,7 @@ ngx_http_autoindex_handler(ngx_http_requ if (ngx_de_info(filename, &dir) == NGX_FILE_ERROR) { err = ngx_errno; - if (err != NGX_ENOENT) { + if (err != NGX_ENOENT && err != NGX_ELOOP) { ngx_log_error(NGX_LOG_CRIT, r->connection->log, err, ngx_de_info_n " \"%s\" failed", filename);
--- a/src/os/unix/ngx_errno.h +++ b/src/os/unix/ngx_errno.h @@ -49,10 +49,10 @@ typedef int ngx_err_t; #define NGX_ECANCELED ECANCELED #define NGX_EILSEQ EILSEQ #define NGX_ENOMOREFILES 0 +#define NGX_ELOOP ELOOP #if (NGX_HAVE_OPENAT) #define NGX_EMLINK EMLINK -#define NGX_ELOOP ELOOP #endif #if (__hpux__)
--- a/src/os/win32/ngx_errno.h +++ b/src/os/win32/ngx_errno.h @@ -51,6 +51,7 @@ typedef DWORD ngx_e #define NGX_EHOSTUNREACH WSAEHOSTUNREACH #define NGX_ENOMOREFILES ERROR_NO_MORE_FILES #define NGX_EILSEQ ERROR_NO_UNICODE_TRANSLATION +#define NGX_ELOOP 0 #define NGX_EALREADY WSAEALREADY #define NGX_EINVAL WSAEINVAL