Mercurial > hg > nginx-vendor-0-6
comparison src/http/modules/ngx_http_ssi_filter_module.c @ 376:d13234035cad NGINX_0_6_32
nginx 0.6.32
*) Change: the "none" parameter in the "ssl_session_cache" directive;
now this is default parameter.
Thanks to Rob Mueller.
*) Change: now the 0x00-0x1F, '"' and '\' characters are escaped as
\xXX in an access_log.
Thanks to Maxim Dounin.
*) Change: now nginx allows several "Host" request header line.
*) Feature: the "modified" flag in the "expires" directive.
*) Feature: the $uid_got and $uid_set variables may be used at any
request processing stage.
*) Feature: the $hostname variable.
Thanks to Andrei Nigmatulin.
*) Feature: DESTDIR support.
Thanks to Todd A. Fisher and Andras Voroskoi.
*) Bugfix: if sub_filter and SSI were used together, then responses
might were transferred incorrectly.
*) Bugfix: large SSI inclusions might be truncated.
*) Bugfix: the "proxy_pass" directive did not work with the HTTPS
protocol; the bug had appeared in 0.6.9.
*) Bugfix: worker processes might not catch reconfiguration and log
rotation signals.
*) Bugfix: nginx could not be built on latest Fedora 9 Linux.
Thanks to Roxis.
*) Bugfix: a segmentation fault might occur in worker process on Linux,
if keepalive was enabled.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 07 Jul 2008 00:00:00 +0400 |
parents | babd3d9efb62 |
children |
comparison
equal
deleted
inserted
replaced
375:52f3c9c7eff0 | 376:d13234035cad |
---|---|
98 ngx_http_ssi_ctx_t *ctx, ngx_str_t **params); | 98 ngx_http_ssi_ctx_t *ctx, ngx_str_t **params); |
99 static ngx_int_t ngx_http_ssi_endblock(ngx_http_request_t *r, | 99 static ngx_int_t ngx_http_ssi_endblock(ngx_http_request_t *r, |
100 ngx_http_ssi_ctx_t *ctx, ngx_str_t **params); | 100 ngx_http_ssi_ctx_t *ctx, ngx_str_t **params); |
101 | 101 |
102 static ngx_int_t ngx_http_ssi_date_gmt_local_variable(ngx_http_request_t *r, | 102 static ngx_int_t ngx_http_ssi_date_gmt_local_variable(ngx_http_request_t *r, |
103 ngx_http_variable_value_t *v, uintptr_t gmt); | 103 ngx_http_variable_value_t *v, uintptr_t gmt); |
104 | 104 |
105 static char *ngx_http_ssi_types(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); | 105 static char *ngx_http_ssi_types(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); |
106 | 106 |
107 static ngx_int_t ngx_http_ssi_preconfiguration(ngx_conf_t *cf); | 107 static ngx_int_t ngx_http_ssi_preconfiguration(ngx_conf_t *cf); |
108 static void *ngx_http_ssi_create_main_conf(ngx_conf_t *cf); | 108 static void *ngx_http_ssi_create_main_conf(ngx_conf_t *cf); |
556 b->recycled = 0; | 556 b->recycled = 0; |
557 | 557 |
558 if (b->in_file) { | 558 if (b->in_file) { |
559 if (slcf->min_file_chunk < (size_t) (b->last - b->pos)) | 559 if (slcf->min_file_chunk < (size_t) (b->last - b->pos)) |
560 { | 560 { |
561 b->file_last = b->file_pos + (b->last - b->start); | 561 b->file_last = b->file_pos |
562 b->file_pos += b->pos - b->start; | 562 + (b->last - ctx->buf->pos); |
563 b->file_pos += b->pos - ctx->buf->pos; | |
563 | 564 |
564 } else { | 565 } else { |
565 b->in_file = 0; | 566 b->in_file = 0; |
566 } | 567 } |
567 } | 568 } |
1635 } | 1636 } |
1636 } | 1637 } |
1637 | 1638 |
1638 quoted = 0; | 1639 quoted = 0; |
1639 | 1640 |
1640 for (i = 0 ; i < text->len; i++) { | 1641 for (i = 0; i < text->len; i++) { |
1641 ch = text->data[i]; | 1642 ch = text->data[i]; |
1642 | 1643 |
1643 if (!quoted) { | 1644 if (!quoted) { |
1644 | 1645 |
1645 if (ch == '\\') { | 1646 if (ch == '\\') { |
2645 } | 2646 } |
2646 | 2647 |
2647 | 2648 |
2648 static ngx_int_t | 2649 static ngx_int_t |
2649 ngx_http_ssi_date_gmt_local_variable(ngx_http_request_t *r, | 2650 ngx_http_ssi_date_gmt_local_variable(ngx_http_request_t *r, |
2650 ngx_http_variable_value_t *v, uintptr_t gmt) | 2651 ngx_http_variable_value_t *v, uintptr_t gmt) |
2651 { | 2652 { |
2652 ngx_http_ssi_ctx_t *ctx; | 2653 ngx_http_ssi_ctx_t *ctx; |
2653 ngx_time_t *tp; | 2654 ngx_time_t *tp; |
2654 struct tm tm; | 2655 struct tm tm; |
2655 char buf[NGX_HTTP_SSI_DATE_LEN]; | 2656 char buf[NGX_HTTP_SSI_DATE_LEN]; |