Mercurial > hg > nginx-vendor-0-5
view src/http/modules/ngx_http_ssi_filter_module.h @ 330:c60beecc6ab5 NGINX_0_5_35
nginx 0.5.35
*) Change: now the ngx_http_userid_module adds start time microseconds
to the cookie field contains a pid value.
*) Change: now the uname(2) is used on Linux instead of procfs.
Thanks to Ilya Novikov.
*) Feature: the "If-Range" request header line support.
Thanks to Alexander V. Inyukhin.
*) Bugfix: in HTTPS mode requests might fail with the "bad write retry"
error; bug appeared in 0.5.13.
*) Bugfix: the STARTTLS in SMTP mode did not work.
Thanks to Oleg Motienko.
*) Bugfix: large_client_header_buffers did not freed before going to
keep-alive state.
Thanks to Olexander Shtepa.
*) Bugfix: the "limit_rate" directive did not allow to use full
throughput, even if limit value was very high.
*) Bugfix: the $status variable was equal to 0 if a proxied server
returned response in HTTP/0.9 version.
*) Bugfix: if the "?" character was in a "error_page" directive, then
it was escaped in a proxied request; bug appeared in 0.5.32.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Tue, 08 Jan 2008 00:00:00 +0300 |
parents | f70f2f565fe0 |
children |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev */ #ifndef _NGX_HTTP_SSI_FILTER_H_INCLUDED_ #define _NGX_HTTP_SSI_FILTER_H_INCLUDED_ #include <ngx_config.h> #include <ngx_core.h> #include <ngx_http.h> #define NGX_HTTP_SSI_MAX_PARAMS 16 #define NGX_HTTP_SSI_COMMAND_LEN 32 #define NGX_HTTP_SSI_PARAM_LEN 32 #define NGX_HTTP_SSI_PARAMS_N 4 #define NGX_HTTP_SSI_COND_IF 1 #define NGX_HTTP_SSI_COND_ELSE 2 #define NGX_HTTP_SSI_NO_ENCODING 0 #define NGX_HTTP_SSI_URL_ENCODING 1 #define NGX_HTTP_SSI_ENTITY_ENCODING 2 typedef struct { ngx_hash_t hash; ngx_hash_keys_arrays_t commands; } ngx_http_ssi_main_conf_t; typedef struct { ngx_buf_t *buf; u_char *pos; u_char *copy_start; u_char *copy_end; ngx_uint_t key; ngx_str_t command; ngx_array_t params; ngx_table_elt_t *param; ngx_table_elt_t params_array[NGX_HTTP_SSI_PARAMS_N]; ngx_chain_t *in; ngx_chain_t *out; ngx_chain_t **last_out; ngx_chain_t *busy; ngx_chain_t *free; ngx_uint_t state; ngx_uint_t saved_state; size_t saved; size_t looked; size_t value_len; ngx_list_t *variables; ngx_array_t *blocks; unsigned conditional:2; unsigned encoding:2; unsigned block:1; unsigned output:1; unsigned output_chosen:1; ngx_http_request_t *wait; void *value_buf; ngx_str_t timefmt; ngx_str_t errmsg; } ngx_http_ssi_ctx_t; typedef ngx_int_t (*ngx_http_ssi_command_pt) (ngx_http_request_t *r, ngx_http_ssi_ctx_t *ctx, ngx_str_t **); typedef struct { ngx_str_t name; ngx_uint_t index; unsigned mandatory:1; unsigned multiple:1; } ngx_http_ssi_param_t; typedef struct { ngx_str_t name; ngx_http_ssi_command_pt handler; ngx_http_ssi_param_t *params; unsigned conditional:2; unsigned block:1; unsigned flush:1; } ngx_http_ssi_command_t; extern ngx_module_t ngx_http_ssi_filter_module; #endif /* _NGX_HTTP_SSI_FILTER_H_INCLUDED_ */