comparison src/http/ngx_http_core_module.h @ 58:b55cbf18157e NGINX_0_1_29

nginx 0.1.29 *) Feature: the ngx_http_ssi_module supports "include virtual" command. *) Feature: the ngx_http_ssi_module supports the condition command like 'if expr="$NAME"' and "else" and "endif" commands. Only one nested level is supported. *) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and DATE_GMT variables and "config timefmt" command. *) Feature: the "ssi_ignore_recycled_buffers" directive. *) Bugfix: the "echo" command did not show the default value for the empty QUERY_STRING variable. *) Change: the ngx_http_proxy_module was rewritten. *) Feature: the "proxy_redirect", "proxy_pass_request_headers", "proxy_pass_request_body", and "proxy_method" directives. *) Feature: the "proxy_set_header" directive. The "proxy_x_var" was canceled and must be replaced with the proxy_set_header directive. *) Change: the "proxy_preserve_host" is canceled and must be replaced with the "proxy_set_header Host $host" and the "proxy_redirect off" directives, the "proxy_set_header Host $host:$proxy_port" directive and the appropriate proxy_redirect directives. *) Change: the "proxy_set_x_real_ip" is canceled and must be replaced with the "proxy_set_header X-Real-IP $remote_addr" directive. *) Change: the "proxy_add_x_forwarded_for" is canceled and must be replaced with the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for" directive. *) Change: the "proxy_set_x_url" is canceled and must be replaced with the "proxy_set_header X-URL http://$host:$server_port$request_uri" directive. *) Feature: the "fastcgi_param" directive. *) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params" directive are canceled and must be replaced with the fastcgi_param directives. *) Feature: the "index" directive can use the variables. *) Feature: the "index" directive can be used at http and server levels. *) Change: the last index only in the "index" directive can be absolute. *) Feature: the "rewrite" directive can use the variables. *) Feature: the "internal" directive. *) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR, SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME, REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables. *) Change: nginx now passes the invalid lines in a client request headers or a backend response header. *) Bugfix: if the backend did not transfer response for a long time and the "send_timeout" was less than "proxy_read_timeout", then nginx returned the 408 response. *) Bugfix: the segmentation fault was occurred if the backend sent an invalid line in response header; bug appeared in 0.1.26. *) Bugfix: the segmentation fault may occurred in FastCGI fault tolerance configuration. *) Bugfix: the "expires" directive did not remove the previous "Expires" and "Cache-Control" headers. *) Bugfix: nginx did not take into account trailing dot in "Host" header line. *) Bugfix: the ngx_http_auth_module did not work under Linux. *) Bugfix: the rewrite directive worked incorrectly, if the arguments were in a request. *) Bugfix: nginx could not be built on MacOS X.
author Igor Sysoev <http://sysoev.ru>
date Thu, 12 May 2005 00:00:00 +0400
parents 3050baa54a26
children df7d3fff122b
comparison
equal deleted inserted replaced
57:5df375c55338 58:b55cbf18157e
47 47
48 ngx_http_phase_t phases[NGX_HTTP_LAST_PHASE]; 48 ngx_http_phase_t phases[NGX_HTTP_LAST_PHASE];
49 ngx_array_t index_handlers; 49 ngx_array_t index_handlers;
50 50
51 ngx_hash_t headers_in_hash; 51 ngx_hash_t headers_in_hash;
52 ngx_hash_t variables_hash;
52 53
53 ngx_uint_t server_names_hash; 54 ngx_uint_t server_names_hash;
54 ngx_uint_t server_names_hash_threshold; 55 ngx_uint_t server_names_hash_threshold;
55 56
56 size_t max_server_name_len; 57 size_t max_server_name_len;
57 58
58 ngx_array_t variables; /* ngx_http_variable_t */ 59 ngx_array_t variables; /* ngx_http_variable_t */
60 ngx_array_t all_variables; /* ngx_http_variable_t */
59 } ngx_http_core_main_conf_t; 61 } ngx_http_core_main_conf_t;
60 62
61 63
62 typedef struct { 64 typedef struct {
63 /* 65 /*
195 ngx_msec_t lingering_time; /* lingering_time */ 197 ngx_msec_t lingering_time; /* lingering_time */
196 ngx_msec_t lingering_timeout; /* lingering_timeout */ 198 ngx_msec_t lingering_timeout; /* lingering_timeout */
197 199
198 time_t keepalive_header; /* keepalive_timeout */ 200 time_t keepalive_header; /* keepalive_timeout */
199 201
202 ngx_flag_t internal; /* internal */
200 ngx_flag_t sendfile; /* sendfile */ 203 ngx_flag_t sendfile; /* sendfile */
201 ngx_flag_t tcp_nopush; /* tcp_nopush */ 204 ngx_flag_t tcp_nopush; /* tcp_nopush */
202 ngx_flag_t tcp_nodelay; /* tcp_nodelay */ 205 ngx_flag_t tcp_nodelay; /* tcp_nodelay */
203 ngx_flag_t reset_timedout_connection; /* reset_timedout_connection */ 206 ngx_flag_t reset_timedout_connection; /* reset_timedout_connection */
204 ngx_flag_t msie_padding; /* msie_padding */ 207 ngx_flag_t msie_padding; /* msie_padding */
228 ngx_int_t ngx_http_find_location_config(ngx_http_request_t *r); 231 ngx_int_t ngx_http_find_location_config(ngx_http_request_t *r);
229 232
230 ngx_int_t ngx_http_set_content_type(ngx_http_request_t *r); 233 ngx_int_t ngx_http_set_content_type(ngx_http_request_t *r);
231 ngx_int_t ngx_http_set_exten(ngx_http_request_t *r); 234 ngx_int_t ngx_http_set_exten(ngx_http_request_t *r);
232 235
236 ngx_int_t ngx_http_subrequest(ngx_http_request_t *r,
237 ngx_str_t *uri, ngx_str_t *args);
233 ngx_int_t ngx_http_internal_redirect(ngx_http_request_t *r, 238 ngx_int_t ngx_http_internal_redirect(ngx_http_request_t *r,
234 ngx_str_t *uri, ngx_str_t *args); 239 ngx_str_t *uri, ngx_str_t *args);
235 240
236 241
237 typedef ngx_int_t (*ngx_http_output_header_filter_pt)(ngx_http_request_t *r); 242 typedef ngx_int_t (*ngx_http_output_header_filter_pt)(ngx_http_request_t *r);