Mercurial > hg > nginx
comparison src/http/ngx_http_core_module.h @ 577:4d9ea73a627a release-0.3.10
nginx-0.3.10-RELEASE import
*) Change: the "valid_referers" directive and the "$invalid_referer"
variable were moved to the new ngx_http_referer_module from the
ngx_http_rewrite_module.
*) Change: the "$apache_bytes_sent" variable name was changed to
"$body_bytes_sent".
*) Feature: the "$sent_http_..." variables.
*) Feature: the "if" directive supports the "=" and "!=" operations.
*) Feature: the "proxy_pass" directive supports the HTTPS protocol.
*) Feature: the "proxy_set_body" directive.
*) Feature: the "post_action" directive.
*) Feature: the ngx_http_empty_gif_module.
*) Feature: the "worker_cpu_affinity" directive for Linux.
*) Bugfix: the "rewrite" directive did not unescape URI part in
redirect, now it is unescaped except the %00-%25 and %7F-%FF
characters.
*) Bugfix: nginx could not be built by the icc 9.0 compiler.
*) Bugfix: if the SSI was enabled for zero size static file, then the
chunked response was encoded incorrectly.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 15 Nov 2005 13:30:52 +0000 |
parents | 58475592100c |
children | 326634fb9d47 |
comparison
equal
deleted
inserted
replaced
576:3e0b61c26426 | 577:4d9ea73a627a |
---|---|
143 } ngx_http_server_name_t; | 143 } ngx_http_server_name_t; |
144 | 144 |
145 | 145 |
146 #define ngx_http_server_names_hash_key(key, name, len, prime) \ | 146 #define ngx_http_server_names_hash_key(key, name, len, prime) \ |
147 { \ | 147 { \ |
148 ngx_uint_t n; \ | 148 ngx_uint_t n0; \ |
149 for (key = 0, n = 0; n < len; n++) { \ | 149 for (key = 0, n0 = 0; n0 < len; n0++) { \ |
150 key += name[n]; \ | 150 key += name[n0]; \ |
151 } \ | 151 } \ |
152 key %= prime; \ | 152 key %= prime; \ |
153 } | 153 } |
154 | 154 |
155 | 155 |
200 /* pointer to the modules' loc_conf */ | 200 /* pointer to the modules' loc_conf */ |
201 void **loc_conf ; | 201 void **loc_conf ; |
202 | 202 |
203 ngx_http_handler_pt handler; | 203 ngx_http_handler_pt handler; |
204 | 204 |
205 ngx_str_t root; /* root, alias */ | |
206 | |
207 ngx_array_t *types; | 205 ngx_array_t *types; |
208 ngx_str_t default_type; | 206 ngx_str_t default_type; |
207 | |
208 ngx_str_t root; /* root, alias */ | |
209 ngx_str_t post_action; | |
209 | 210 |
210 size_t client_max_body_size; /* client_max_body_size */ | 211 size_t client_max_body_size; /* client_max_body_size */ |
211 size_t client_body_buffer_size; /* client_body_buffer_size */ | 212 size_t client_body_buffer_size; /* client_body_buffer_size */ |
212 size_t send_lowat; /* send_lowat */ | 213 size_t send_lowat; /* send_lowat */ |
213 size_t postpone_output; /* postpone_output */ | 214 size_t postpone_output; /* postpone_output */ |
243 ngx_http_core_loc_conf_t *prev_location; | 244 ngx_http_core_loc_conf_t *prev_location; |
244 #endif | 245 #endif |
245 }; | 246 }; |
246 | 247 |
247 | 248 |
248 | |
249 extern ngx_http_module_t ngx_http_core_module_ctx; | |
250 extern ngx_module_t ngx_http_core_module; | |
251 | |
252 extern ngx_uint_t ngx_http_max_module; | |
253 | |
254 | |
255 | |
256 ngx_int_t ngx_http_find_location_config(ngx_http_request_t *r); | 249 ngx_int_t ngx_http_find_location_config(ngx_http_request_t *r); |
257 | 250 |
258 ngx_int_t ngx_http_set_content_type(ngx_http_request_t *r); | 251 ngx_int_t ngx_http_set_content_type(ngx_http_request_t *r); |
259 ngx_int_t ngx_http_set_exten(ngx_http_request_t *r); | 252 ngx_int_t ngx_http_set_exten(ngx_http_request_t *r); |
260 u_char *ngx_http_map_uri_to_path(ngx_http_request_t *r, ngx_str_t *name, | 253 u_char *ngx_http_map_uri_to_path(ngx_http_request_t *r, ngx_str_t *name, |
276 | 269 |
277 ngx_int_t ngx_http_output_filter(ngx_http_request_t *r, ngx_chain_t *chain); | 270 ngx_int_t ngx_http_output_filter(ngx_http_request_t *r, ngx_chain_t *chain); |
278 ngx_int_t ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *chain); | 271 ngx_int_t ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *chain); |
279 | 272 |
280 | 273 |
274 extern ngx_http_module_t ngx_http_core_module_ctx; | |
275 extern ngx_module_t ngx_http_core_module; | |
276 | |
277 extern ngx_uint_t ngx_http_max_module; | |
278 | |
279 | |
280 #define ngx_http_clear_content_length(r) \ | |
281 \ | |
282 r->headers_out.content_length_n = -1; \ | |
283 if (r->headers_out.content_length) { \ | |
284 r->headers_out.content_length->hash = 0; \ | |
285 r->headers_out.content_length = NULL; \ | |
286 } | |
287 \ | |
288 #define ngx_http_clear_accept_ranges(r) \ | |
289 \ | |
290 r->filter_allow_ranges = 0; \ | |
291 if (r->headers_out.accept_ranges) { \ | |
292 r->headers_out.accept_ranges->hash = 0 ; \ | |
293 r->headers_out.accept_ranges = NULL; \ | |
294 } | |
295 | |
296 #define ngx_http_clear_last_modified(r) \ | |
297 \ | |
298 r->headers_out.last_modified_time = -1; \ | |
299 if (r->headers_out.last_modified) { \ | |
300 r->headers_out.last_modified->hash = 0; \ | |
301 r->headers_out.last_modified = NULL; \ | |
302 } | |
303 | |
304 | |
281 #endif /* _NGX_HTTP_CORE_H_INCLUDED_ */ | 305 #endif /* _NGX_HTTP_CORE_H_INCLUDED_ */ |