Mercurial > hg > nginx-vendor-0-6
comparison src/http/ngx_http_core_module.h @ 384:09b703ae3ba5 NGINX_0_6_36
nginx 0.6.36
*) Change: now the "Invalid argument" error returned by
setsockopt(TCP_NODELAY) on Solaris, is ignored.
*) Change: now POSTs without "Content-Length" header line are allowed.
*) Feature: the "try_files" directive.
*) Feature: the --with-pcre option in the configure.
*) Feature: the "if_modified_since" directive.
*) Feature: the "$cookie_..." variables.
*) Feature: the "$arg_..." variables.
*) Bugfix: compatibility with Tru64 UNIX.
Thanks to Dustin Marquess.
*) Bugfix: a "ssl_engine" directive did not use a SSL-accelerator for
asymmetric ciphers.
Thanks to Marcin Gozdalik.
*) Bugfix: in a redirect rewrite directive original arguments were
concatenated with new arguments by a "?" rather than an "&";
the bug had appeared in 0.1.18.
Thanks to Maxim Dounin.
*) Bugfix: nginx could not be built on AIX.
*) Bugfix: a double response might be returned if the epoll or rtsig
methods are used and a redirect was returned to a request with
body.
Thanks to Eden Li.
*) Bugfix: a segmentation fault might occur in worker process if
"resolver" directive was used in SMTP proxy.
*) Bugfix: fastcgi_store stored files not always.
*) Bugfix: nginx did not process a FastCGI server response, if the
server send too many messages to stderr before response.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Thu, 02 Apr 2009 00:00:00 +0400 |
parents | d13234035cad |
children | 8815ae9c367b |
comparison
equal
deleted
inserted
replaced
383:3d40b0260a84 | 384:09b703ae3ba5 |
---|---|
26 | 26 |
27 #define NGX_HTTP_SATISFY_ALL 0 | 27 #define NGX_HTTP_SATISFY_ALL 0 |
28 #define NGX_HTTP_SATISFY_ANY 1 | 28 #define NGX_HTTP_SATISFY_ANY 1 |
29 | 29 |
30 | 30 |
31 #define NGX_HTTP_IMS_OFF 0 | |
32 #define NGX_HTTP_IMS_EXACT 1 | |
33 #define NGX_HTTP_IMS_BEFORE 2 | |
34 | |
35 | |
31 typedef struct { | 36 typedef struct { |
32 unsigned default_server:1; | 37 unsigned default_server:1; |
33 unsigned bind:1; | 38 unsigned bind:1; |
34 | 39 |
35 int backlog; | 40 int backlog; |
72 NGX_HTTP_PREACCESS_PHASE, | 77 NGX_HTTP_PREACCESS_PHASE, |
73 | 78 |
74 NGX_HTTP_ACCESS_PHASE, | 79 NGX_HTTP_ACCESS_PHASE, |
75 NGX_HTTP_POST_ACCESS_PHASE, | 80 NGX_HTTP_POST_ACCESS_PHASE, |
76 | 81 |
82 NGX_HTTP_TRY_FILES_PHASE, | |
77 NGX_HTTP_CONTENT_PHASE, | 83 NGX_HTTP_CONTENT_PHASE, |
78 | 84 |
79 NGX_HTTP_LOG_PHASE | 85 NGX_HTTP_LOG_PHASE |
80 } ngx_http_phases; | 86 } ngx_http_phases; |
81 | 87 |
119 | 125 |
120 ngx_uint_t variables_hash_max_size; | 126 ngx_uint_t variables_hash_max_size; |
121 ngx_uint_t variables_hash_bucket_size; | 127 ngx_uint_t variables_hash_bucket_size; |
122 | 128 |
123 ngx_hash_keys_arrays_t *variables_keys; | 129 ngx_hash_keys_arrays_t *variables_keys; |
130 | |
131 ngx_uint_t try_files; /* unsigned try_files:1 */ | |
124 | 132 |
125 ngx_http_phase_t phases[NGX_HTTP_LOG_PHASE + 1]; | 133 ngx_http_phase_t phases[NGX_HTTP_LOG_PHASE + 1]; |
126 } ngx_http_core_main_conf_t; | 134 } ngx_http_core_main_conf_t; |
127 | 135 |
128 | 136 |
229 ngx_array_t *uri_lengths; | 237 ngx_array_t *uri_lengths; |
230 ngx_array_t *uri_values; | 238 ngx_array_t *uri_values; |
231 } ngx_http_err_page_t; | 239 } ngx_http_err_page_t; |
232 | 240 |
233 | 241 |
242 typedef struct { | |
243 ngx_array_t *lengths; | |
244 ngx_array_t *values; | |
245 ngx_str_t name; | |
246 ngx_uint_t test_dir; /* unsigned test_dir:1; */ | |
247 } ngx_http_try_file_t; | |
248 | |
249 | |
234 typedef struct ngx_http_core_loc_conf_s ngx_http_core_loc_conf_t; | 250 typedef struct ngx_http_core_loc_conf_s ngx_http_core_loc_conf_t; |
235 | 251 |
236 struct ngx_http_core_loc_conf_s { | 252 struct ngx_http_core_loc_conf_s { |
237 ngx_str_t name; /* location name */ | 253 ngx_str_t name; /* location name */ |
238 | 254 |
290 ngx_resolver_t *resolver; /* resolver */ | 306 ngx_resolver_t *resolver; /* resolver */ |
291 | 307 |
292 time_t keepalive_header; /* keepalive_timeout */ | 308 time_t keepalive_header; /* keepalive_timeout */ |
293 | 309 |
294 ngx_uint_t satisfy; /* satisfy */ | 310 ngx_uint_t satisfy; /* satisfy */ |
311 ngx_uint_t if_modified_since; /* if_modified_since */ | |
295 | 312 |
296 ngx_flag_t internal; /* internal */ | 313 ngx_flag_t internal; /* internal */ |
297 ngx_flag_t client_body_in_file_only; /* client_body_in_file_only */ | 314 ngx_flag_t client_body_in_file_only; /* client_body_in_file_only */ |
298 ngx_flag_t sendfile; /* sendfile */ | 315 ngx_flag_t sendfile; /* sendfile */ |
299 ngx_flag_t tcp_nopush; /* tcp_nopush */ | 316 ngx_flag_t tcp_nopush; /* tcp_nopush */ |
317 ngx_array_t *gzip_disable; /* gzip_disable */ | 334 ngx_array_t *gzip_disable; /* gzip_disable */ |
318 #endif | 335 #endif |
319 #endif | 336 #endif |
320 | 337 |
321 ngx_array_t *error_pages; /* error_page */ | 338 ngx_array_t *error_pages; /* error_page */ |
339 ngx_http_try_file_t *try_files; /* try_files */ | |
322 | 340 |
323 ngx_path_t *client_body_temp_path; /* client_body_temp_path */ | 341 ngx_path_t *client_body_temp_path; /* client_body_temp_path */ |
324 | 342 |
325 ngx_open_file_cache_t *open_file_cache; | 343 ngx_open_file_cache_t *open_file_cache; |
326 time_t open_file_cache_valid; | 344 time_t open_file_cache_valid; |
347 ngx_int_t ngx_http_core_post_rewrite_phase(ngx_http_request_t *r, | 365 ngx_int_t ngx_http_core_post_rewrite_phase(ngx_http_request_t *r, |
348 ngx_http_phase_handler_t *ph); | 366 ngx_http_phase_handler_t *ph); |
349 ngx_int_t ngx_http_core_access_phase(ngx_http_request_t *r, | 367 ngx_int_t ngx_http_core_access_phase(ngx_http_request_t *r, |
350 ngx_http_phase_handler_t *ph); | 368 ngx_http_phase_handler_t *ph); |
351 ngx_int_t ngx_http_core_post_access_phase(ngx_http_request_t *r, | 369 ngx_int_t ngx_http_core_post_access_phase(ngx_http_request_t *r, |
370 ngx_http_phase_handler_t *ph); | |
371 ngx_int_t ngx_http_core_try_files_phase(ngx_http_request_t *r, | |
352 ngx_http_phase_handler_t *ph); | 372 ngx_http_phase_handler_t *ph); |
353 ngx_int_t ngx_http_core_content_phase(ngx_http_request_t *r, | 373 ngx_int_t ngx_http_core_content_phase(ngx_http_request_t *r, |
354 ngx_http_phase_handler_t *ph); | 374 ngx_http_phase_handler_t *ph); |
355 | 375 |
356 ngx_int_t ngx_http_set_content_type(ngx_http_request_t *r); | 376 ngx_int_t ngx_http_set_content_type(ngx_http_request_t *r); |