Mercurial > hg > nginx-vendor-current
comparison src/http/modules/ngx_http_log_module.c @ 676:bfa81a0490a2 NGINX_1_3_1
nginx 1.3.1
*) Security: now nginx/Windows ignores trailing dot in URI path
component, and does not allow URIs with ":$" in it.
Thanks to Vladimir Kochetkov, Positive Research Center.
*) Feature: the "proxy_pass", "fastcgi_pass", "scgi_pass", "uwsgi_pass"
directives, and the "server" directive inside the "upstream" block,
now support IPv6 addresses.
*) Feature: the "resolver" directive now support IPv6 addresses and an
optional port specification.
*) Feature: the "least_conn" directive inside the "upstream" block.
*) Feature: it is now possible to specify a weight for servers while
using the "ip_hash" directive.
*) Bugfix: a segmentation fault might occur in a worker process if the
"image_filter" directive was used; the bug had appeared in 1.3.0.
*) Bugfix: nginx could not be built with ngx_cpp_test_module; the bug
had appeared in 1.1.12.
*) Bugfix: access to variables from SSI and embedded perl module might
not work after reconfiguration.
Thanks to Yichun Zhang.
*) Bugfix: in the ngx_http_xslt_filter_module.
Thanks to Kuramoto Eiji.
*) Bugfix: memory leak if $geoip_org variable was used.
Thanks to Denis F. Latypoff.
*) Bugfix: in the "proxy_cookie_domain" and "proxy_cookie_path"
directives.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Tue, 05 Jun 2012 00:00:00 +0400 |
parents | 9fbf3ad94cbf |
children | 981b4c44593b |
comparison
equal
deleted
inserted
replaced
675:7052a9379344 | 676:bfa81a0490a2 |
---|---|
203 { ngx_string("time_iso8601"), sizeof("1970-09-28T12:00:00+06:00") - 1, | 203 { ngx_string("time_iso8601"), sizeof("1970-09-28T12:00:00+06:00") - 1, |
204 ngx_http_log_iso8601 }, | 204 ngx_http_log_iso8601 }, |
205 { ngx_string("msec"), NGX_TIME_T_LEN + 4, ngx_http_log_msec }, | 205 { ngx_string("msec"), NGX_TIME_T_LEN + 4, ngx_http_log_msec }, |
206 { ngx_string("request_time"), NGX_TIME_T_LEN + 4, | 206 { ngx_string("request_time"), NGX_TIME_T_LEN + 4, |
207 ngx_http_log_request_time }, | 207 ngx_http_log_request_time }, |
208 { ngx_string("status"), 3, ngx_http_log_status }, | 208 { ngx_string("status"), NGX_INT_T_LEN, ngx_http_log_status }, |
209 { ngx_string("bytes_sent"), NGX_OFF_T_LEN, ngx_http_log_bytes_sent }, | 209 { ngx_string("bytes_sent"), NGX_OFF_T_LEN, ngx_http_log_bytes_sent }, |
210 { ngx_string("body_bytes_sent"), NGX_OFF_T_LEN, | 210 { ngx_string("body_bytes_sent"), NGX_OFF_T_LEN, |
211 ngx_http_log_body_bytes_sent }, | 211 ngx_http_log_body_bytes_sent }, |
212 { ngx_string("apache_bytes_sent"), NGX_OFF_T_LEN, | 212 { ngx_string("apache_bytes_sent"), NGX_OFF_T_LEN, |
213 ngx_http_log_body_bytes_sent }, | 213 ngx_http_log_body_bytes_sent }, |
591 | 591 |
592 } else { | 592 } else { |
593 status = 0; | 593 status = 0; |
594 } | 594 } |
595 | 595 |
596 return ngx_sprintf(buf, "%ui", status); | 596 return ngx_sprintf(buf, "%03ui", status); |
597 } | 597 } |
598 | 598 |
599 | 599 |
600 static u_char * | 600 static u_char * |
601 ngx_http_log_bytes_sent(ngx_http_request_t *r, u_char *buf, | 601 ngx_http_log_bytes_sent(ngx_http_request_t *r, u_char *buf, |