diff options
author | Igor Sysoev <igor@sysoev.ru> | 2005-07-14 12:51:53 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2005-07-14 12:51:53 +0000 |
commit | 187b7d95589f674ce3262b05c311554bcd8f847c (patch) | |
tree | 0ac48dad3e3204d12837c2562d99020eafe29038 /src/http/modules/ngx_http_autoindex_module.c | |
parent | b3ad9f30d960bd1dcc3d8fd5c9963bf3e93bb7b3 (diff) | |
download | nginx-187b7d95589f674ce3262b05c311554bcd8f847c.tar.gz nginx-187b7d95589f674ce3262b05c311554bcd8f847c.zip |
nginx-0.1.39-RELEASE importrelease-0.1.39
*) The changes in the ngx_http_charset_module: the "default_charset"
directive was canceled; the "charset" directive sets the response
charset; the "source_charset" directive sets the source charset only.
*) Bugfix: the backend "WWW-Authenticate" header line did not
transferred while the 401 response code redirecting.
*) Bugfix: the ngx_http_proxy_module and ngx_http_fastcgi_module may
close a connection before anything was transferred to a client; the
bug had appeared in 0.1.38.
*) Workaround: the Linux glibc crypt_r() initialization bug.
*) Bugfix: the ngx_http_ssi_module did not support the relative URI in
the "include virtual" command.
*) Bugfix: if the backend response had the "Location" header line and
nginx should not rewrite this line, then the 500 code response body
was transferred; the bug had appeared in 0.1.29.
*) Bugfix: some directives of the ngx_http_proxy_module and
ngx_http_fastcgi_module were not inherited from the server to the
location level; the bug had appeared in 0.1.29.
*) Bugfix: the ngx_http_ssl_module did not support the certificate
chain.
*) Bugfix: the ngx_http_autoindex_module did not show correctly the
long file names; the bug had appeared in 0.1.38.
*) Bugfixes in IMAP/POP3 proxy in interaction with a backend at the
login state.
Diffstat (limited to 'src/http/modules/ngx_http_autoindex_module.c')
-rw-r--r-- | src/http/modules/ngx_http_autoindex_module.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/http/modules/ngx_http_autoindex_module.c b/src/http/modules/ngx_http_autoindex_module.c index d12834083..a7246b04d 100644 --- a/src/http/modules/ngx_http_autoindex_module.c +++ b/src/http/modules/ngx_http_autoindex_module.c @@ -315,16 +315,16 @@ ngx_http_autoindex_handler(ngx_http_request_t *r) entry->name.len = len; - entry->escape = 2 * ngx_escape_uri(NULL, ngx_de_name(&dir), len, - NGX_ESCAPE_HTML); - - entry->name.data = ngx_palloc(pool, len + entry->escape + 1); + entry->name.data = ngx_palloc(pool, len + 1); if (entry->name.data == NULL) { return ngx_http_autoindex_error(r, &dir, dname.data); } ngx_cpystrn(entry->name.data, ngx_de_name(&dir), len + 1); + entry->escape = 2 * ngx_escape_uri(NULL, ngx_de_name(&dir), len, + NGX_ESCAPE_HTML); + if (r->utf8) { entry->utf_len = ngx_utf_length(&entry->name); } else { @@ -353,14 +353,14 @@ ngx_http_autoindex_handler(ngx_http_request_t *r) entry = entries.elts; for (i = 0; i < entries.nelts; i++) { len += sizeof("<a href=\"") - 1 - + 1 /* 1 is for "/" */ + entry[i].name.len + entry[i].escape + + 1 /* 1 is for "/" */ + sizeof("\">") - 1 + entry[i].name.len - entry[i].utf_len + NGX_HTTP_AUTOINDEX_NAME_LEN + sizeof(">") - 2 + sizeof("</a>") - 1 + sizeof(" 28-Sep-1970 12:00 ") - 1 - + 20 + + 20 /* the file size */ + 2; } @@ -407,7 +407,7 @@ ngx_http_autoindex_handler(ngx_http_request_t *r) len = entry[i].utf_len; - if (len) { + if (entry[i].name.len - len) { if (len > NGX_HTTP_AUTOINDEX_NAME_LEN) { copy = NGX_HTTP_AUTOINDEX_NAME_LEN - 3 + 1; |