Mercurial > hg > nginx
diff src/http/modules/ngx_http_ssi_filter_module.c @ 547:818fbd4750b9 release-0.2.2
nginx-0.2.2-RELEASE import
*) Feature: the "config errmsg" command of the ngx_http_ssi_module.
*) Change: the ngx_http_geo_module variables can be overridden by the
"set" directive.
*) Feature: the "ssl_protocols" and "ssl_prefer_server_ciphers"
directives of the ngx_http_ssl_module and ngx_imap_ssl_module.
*) Bugfix: the ngx_http_autoindex_module did not show correctly the
long file names;
*) Bugfix: the ngx_http_autoindex_module now do not show the files
starting by dot.
*) Bugfix: if the SSL handshake failed then another connection may be
closed too.
Thanks to Rob Mueller.
*) Bugfix: the export versions of MSIE 5.x could not connect via HTTPS.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 30 Sep 2005 14:41:25 +0000 |
parents | b09ee85d0ac8 |
children | 483cca230603 |
line wrap: on
line diff
--- a/src/http/modules/ngx_http_ssi_filter_module.c +++ b/src/http/modules/ngx_http_ssi_filter_module.c @@ -59,6 +59,7 @@ typedef struct { ngx_uint_t output; /* unsigned output:1; */ ngx_str_t timefmt; + ngx_str_t errmsg; } ngx_http_ssi_ctx_t; @@ -217,8 +218,6 @@ static ngx_int_t (*ngx_http_next_body_fi static u_char ngx_http_ssi_string[] = "<!--"; -static u_char ngx_http_ssi_error_string[] = - "[an error occurred while processing the directive]"; static ngx_str_t ngx_http_ssi_none = ngx_string("(none)"); @@ -226,7 +225,8 @@ static ngx_str_t ngx_http_ssi_none = ngx #define NGX_HTTP_SSI_ECHO_VAR 0 #define NGX_HTTP_SSI_ECHO_DEFAULT 1 -#define NGX_HTTP_SSI_CONFIG_TIMEFMT 0 +#define NGX_HTTP_SSI_CONFIG_ERRMSG 0 +#define NGX_HTTP_SSI_CONFIG_TIMEFMT 1 #define NGX_HTTP_SSI_INCLUDE_VIRTUAL 0 #define NGX_HTTP_SSI_INCLUDE_FILE 1 @@ -250,6 +250,7 @@ static ngx_http_ssi_param_t ngx_http_ss static ngx_http_ssi_param_t ngx_http_ssi_config_params[] = { + { ngx_string("errmsg"), NGX_HTTP_SSI_CONFIG_ERRMSG, 0 }, { ngx_string("timefmt"), NGX_HTTP_SSI_CONFIG_TIMEFMT, 0 }, { ngx_null_string, 0, 0 } }; @@ -347,6 +348,11 @@ found: ctx->timefmt.len = sizeof("%A, %d-%b-%Y %H:%M:%S %Z") - 1; ctx->timefmt.data = (u_char *) "%A, %d-%b-%Y %H:%M:%S %Z"; + ctx->errmsg.len = + sizeof("[an error occurred while processing the directive]") - 1; + ctx->errmsg.data = (u_char *) + "[an error occurred while processing the directive]"; + r->filter_need_in_memory = 1; if (r->main == NULL) { @@ -653,9 +659,8 @@ ngx_http_ssi_body_filter(ngx_http_reques } b->memory = 1; - b->pos = ngx_http_ssi_error_string; - b->last = ngx_http_ssi_error_string - + sizeof(ngx_http_ssi_error_string) - 1; + b->pos = ctx->errmsg.data; + b->last = ctx->errmsg.data + ctx->errmsg.len; cl->next = NULL; *ctx->last_out = cl; @@ -1371,6 +1376,12 @@ ngx_http_ssi_config(ngx_http_request_t * ctx->timefmt = *value; } + value = params[NGX_HTTP_SSI_CONFIG_ERRMSG]; + + if (value) { + ctx->errmsg = *value; + } + return NGX_OK; }