Mercurial > hg > nginx-vendor-0-7
comparison src/http/modules/ngx_http_autoindex_module.c @ 112:408f195b3482 NGINX_0_3_3
nginx 0.3.3
*) Change: the "bl" and "af" parameters of the "listen" directive was
renamed to the "backlog" and "accept_filter".
*) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen"
directive.
*) Change: the "$msec" log parameter does not require now the
additional the gettimeofday() system call.
*) Feature: the -t switch now tests the "listen" directives.
*) Bugfix: if the invalid address was specified in the "listen"
directive, then after the -HUP signal nginx left an open socket in
the CLOSED state.
*) Bugfix: the mime type may be incorrectly set to default value for
index file with variable in the name; bug appeared in 0.3.0.
*) Feature: the "timer_resolution" directive.
*) Feature: the millisecond "$upstream_response_time" log parameter.
*) Bugfix: a temporary file with client request body now is removed
just after the response header was transferred to a client.
*) Bugfix: OpenSSL 0.9.6 compatibility.
*) Bugfix: the SSL certificate and key file paths could not be relative.
*) Bugfix: the "ssl_prefer_server_ciphers" directive did not work in
the ngx_imap_ssl_module.
*) Bugfix: the "ssl_protocols" directive allowed to specify the single
protocol only.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 19 Oct 2005 00:00:00 +0400 |
parents | 45f7329b4bd0 |
children | df17fbafec8f |
comparison
equal
deleted
inserted
replaced
111:a175b609c76d | 112:408f195b3482 |
---|---|
142 ngx_int_t rc, size; | 142 ngx_int_t rc, size; |
143 ngx_str_t path; | 143 ngx_str_t path; |
144 ngx_dir_t dir; | 144 ngx_dir_t dir; |
145 ngx_uint_t i, level; | 145 ngx_uint_t i, level; |
146 ngx_pool_t *pool; | 146 ngx_pool_t *pool; |
147 ngx_time_t *tp; | |
147 ngx_chain_t out; | 148 ngx_chain_t out; |
148 ngx_array_t entries; | 149 ngx_array_t entries; |
149 ngx_http_autoindex_entry_t *entry; | 150 ngx_http_autoindex_entry_t *entry; |
150 ngx_http_autoindex_loc_conf_t *alcf; | 151 ngx_http_autoindex_loc_conf_t *alcf; |
151 | 152 |
370 b->last = ngx_cpymem(b->last, "</h1>", sizeof("</h1>") - 1); | 371 b->last = ngx_cpymem(b->last, "</h1>", sizeof("</h1>") - 1); |
371 | 372 |
372 b->last = ngx_cpymem(b->last, "<hr><pre><a href=\"../\">../</a>" CRLF, | 373 b->last = ngx_cpymem(b->last, "<hr><pre><a href=\"../\">../</a>" CRLF, |
373 sizeof("<hr><pre><a href=\"../\">../</a>" CRLF) - 1); | 374 sizeof("<hr><pre><a href=\"../\">../</a>" CRLF) - 1); |
374 | 375 |
376 tp = ngx_timeofday(); | |
377 | |
375 for (i = 0; i < entries.nelts; i++) { | 378 for (i = 0; i < entries.nelts; i++) { |
376 b->last = ngx_cpymem(b->last, "<a href=\"", sizeof("<a href=\"") - 1); | 379 b->last = ngx_cpymem(b->last, "<a href=\"", sizeof("<a href=\"") - 1); |
377 | 380 |
378 if (entry[i].escape) { | 381 if (entry[i].escape) { |
379 ngx_escape_uri(b->last, entry[i].name.data, entry[i].name.len, | 382 ngx_escape_uri(b->last, entry[i].name.data, entry[i].name.len, |
426 b->last += NGX_HTTP_AUTOINDEX_NAME_LEN - len; | 429 b->last += NGX_HTTP_AUTOINDEX_NAME_LEN - len; |
427 } | 430 } |
428 | 431 |
429 *b->last++ = ' '; | 432 *b->last++ = ' '; |
430 | 433 |
431 ngx_gmtime(entry[i].mtime + ngx_gmtoff * 60 * alcf->localtime, &tm); | 434 ngx_gmtime(entry[i].mtime + tp->gmtoff * 60 * alcf->localtime, &tm); |
432 | 435 |
433 b->last = ngx_sprintf(b->last, "%02d-%s-%d %02d:%02d ", | 436 b->last = ngx_sprintf(b->last, "%02d-%s-%d %02d:%02d ", |
434 tm.ngx_tm_mday, | 437 tm.ngx_tm_mday, |
435 months[tm.ngx_tm_mon - 1], | 438 months[tm.ngx_tm_mon - 1], |
436 tm.ngx_tm_year, | 439 tm.ngx_tm_year, |