Mercurial > hg > nginx-vendor-0-7
comparison src/http/modules/ngx_http_log_module.c @ 502:89dc5654117c NGINX_0_7_63
nginx 0.7.63
*) Security: now "/../" are disabled in "Destination" request header
line.
*) Change: minimum supported OpenSSL version is 0.9.7.
*) Change: the "ask" parameter of the "ssl_verify_client" directive was
changed to the "optional" parameter and now it checks a client
certificate if it was offered.
Thanks to Brice Figureau.
*) Feature: now the "-V" switch shows TLS SNI support.
*) Feature: the $ssl_client_verify variable.
Thanks to Brice Figureau.
*) Feature: the "ssl_crl" directive.
Thanks to Brice Figureau.
*) Bugfix: the $ssl_client_cert variable usage corrupted memory; the
bug had appeared in 0.7.7.
Thanks to Sergey Zhuravlev.
*) Feature: now the start cache loader runs in a separate process; this
should improve large caches handling.
*) Feature: now temporary files and permanent storage area may reside
at different file systems.
*) Bugfix: nginx counted incorrectly disk cache size.
*) Change: now directive "gzip_disable msie6" does not disable gzipping
for MSIE 6.0 SV1.
*) Bugfix: nginx always added "Vary: Accept-Encoding" response header
line, if both "gzip_static" and "gzip_vary" were on.
*) Feature: the "proxy" parameter of the "geo" directive.
*) Feature: the ngx_http_geoip_module.
*) Feature: the "limit_rate_after" directive.
Thanks to Ivan Debnar.
*) Feature: the "limit_req_log_level" and "limit_conn_log_level"
directives.
*) Bugfix: now "limit_req" directive conforms to the leaky bucket
algorithm.
Thanks to Maxim Dounin.
*) Bugfix: in ngx_http_limit_req_module.
Thanks to Maxim Dounin.
*) Bugfix: now nginx allows underscores in a request method.
*) Bugfix: "proxy_pass_header" and "fastcgi_pass_header" directives did
not pass to a client the "X-Accel-Redirect", "X-Accel-Limit-Rate",
"X-Accel-Buffering", and "X-Accel-Charset" lines from backend
response header.
Thanks to Maxim Dounin.
*) Bugfix: in handling "Last-Modified" and "Accept-Ranges" backend
response header lines; the bug had appeared in 0.7.44.
Thanks to Maxim Dounin.
*) Feature: the "image_filter_transparency" directive.
*) Feature: the "image_filter" directive supports variables for setting
size.
*) Bugfix: in PNG alpha-channel support in the
ngx_http_image_filter_module.
*) Bugfix: in transparency support in the ngx_http_image_filter_module.
*) Feature: now several "perl_modules" directives may be used.
*) Bugfix: ngx_http_perl_module responses did not work in subrequests.
*) Bugfix: nginx sent '\0' in a "Location" response header line on
MKCOL request.
Thanks to Xie Zhenye.
*) Bugfix: an "error_page" directive did not redirect a 413 error; the
bug had appeared in 0.6.10.
*) Bugfix: in memory allocation error handling.
Thanks to Maxim Dounin and Kirill A. Korinskiy.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 26 Oct 2009 00:00:00 +0300 |
parents | 392c16f2d858 |
children | b9fdcaf2062b |
comparison
equal
deleted
inserted
replaced
501:dc87c92181c7 | 502:89dc5654117c |
---|---|
674 | 674 |
675 if (dst == NULL) { | 675 if (dst == NULL) { |
676 | 676 |
677 /* find the number of the characters to be escaped */ | 677 /* find the number of the characters to be escaped */ |
678 | 678 |
679 n = 0; | 679 n = 0; |
680 | 680 |
681 for (i = 0; i < size; i++) { | 681 for (i = 0; i < size; i++) { |
682 if (escape[*src >> 5] & (1 << (*src & 0x1f))) { | 682 if (escape[*src >> 5] & (1 << (*src & 0x1f))) { |
683 n++; | 683 n++; |
684 } | 684 } |
712 | 712 |
713 ngx_http_log_fmt_t *fmt; | 713 ngx_http_log_fmt_t *fmt; |
714 | 714 |
715 conf = ngx_pcalloc(cf->pool, sizeof(ngx_http_log_main_conf_t)); | 715 conf = ngx_pcalloc(cf->pool, sizeof(ngx_http_log_main_conf_t)); |
716 if (conf == NULL) { | 716 if (conf == NULL) { |
717 return NGX_CONF_ERROR; | 717 return NULL; |
718 } | 718 } |
719 | 719 |
720 if (ngx_array_init(&conf->formats, cf->pool, 4, sizeof(ngx_http_log_fmt_t)) | 720 if (ngx_array_init(&conf->formats, cf->pool, 4, sizeof(ngx_http_log_fmt_t)) |
721 != NGX_OK) | 721 != NGX_OK) |
722 { | 722 { |
723 return NGX_CONF_ERROR; | 723 return NULL; |
724 } | 724 } |
725 | 725 |
726 fmt = ngx_array_push(&conf->formats); | 726 fmt = ngx_array_push(&conf->formats); |
727 if (fmt == NULL) { | 727 if (fmt == NULL) { |
728 return NGX_CONF_ERROR; | 728 return NULL; |
729 } | 729 } |
730 | 730 |
731 fmt->name.len = sizeof("combined") - 1; | 731 fmt->name.len = sizeof("combined") - 1; |
732 fmt->name.data = (u_char *) "combined"; | 732 fmt->name.data = (u_char *) "combined"; |
733 | 733 |
734 fmt->flushes = NULL; | 734 fmt->flushes = NULL; |
735 | 735 |
736 fmt->ops = ngx_array_create(cf->pool, 16, sizeof(ngx_http_log_op_t)); | 736 fmt->ops = ngx_array_create(cf->pool, 16, sizeof(ngx_http_log_op_t)); |
737 if (fmt->ops == NULL) { | 737 if (fmt->ops == NULL) { |
738 return NGX_CONF_ERROR; | 738 return NULL; |
739 } | 739 } |
740 | 740 |
741 return conf; | 741 return conf; |
742 } | 742 } |
743 | 743 |
747 { | 747 { |
748 ngx_http_log_loc_conf_t *conf; | 748 ngx_http_log_loc_conf_t *conf; |
749 | 749 |
750 conf = ngx_pcalloc(cf->pool, sizeof(ngx_http_log_loc_conf_t)); | 750 conf = ngx_pcalloc(cf->pool, sizeof(ngx_http_log_loc_conf_t)); |
751 if (conf == NULL) { | 751 if (conf == NULL) { |
752 return NGX_CONF_ERROR; | 752 return NULL; |
753 } | 753 } |
754 | 754 |
755 conf->open_file_cache = NGX_CONF_UNSET_PTR; | 755 conf->open_file_cache = NGX_CONF_UNSET_PTR; |
756 | 756 |
757 return conf; | 757 return conf; |