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.
diff --git a/src/http/ngx_http_core_module.h b/src/http/ngx_http_core_module.h
index b2c25cf..1be3b38 100644
--- a/src/http/ngx_http_core_module.h
+++ b/src/http/ngx_http_core_module.h
@@ -145,9 +145,9 @@
#define ngx_http_server_names_hash_key(key, name, len, prime) \
{ \
- ngx_uint_t n; \
- for (key = 0, n = 0; n < len; n++) { \
- key += name[n]; \
+ ngx_uint_t n0; \
+ for (key = 0, n0 = 0; n0 < len; n0++) { \
+ key += name[n0]; \
} \
key %= prime; \
}
@@ -202,11 +202,12 @@
ngx_http_handler_pt handler;
- ngx_str_t root; /* root, alias */
-
ngx_array_t *types;
ngx_str_t default_type;
+ ngx_str_t root; /* root, alias */
+ ngx_str_t post_action;
+
size_t client_max_body_size; /* client_max_body_size */
size_t client_body_buffer_size; /* client_body_buffer_size */
size_t send_lowat; /* send_lowat */
@@ -245,14 +246,6 @@
};
-
-extern ngx_http_module_t ngx_http_core_module_ctx;
-extern ngx_module_t ngx_http_core_module;
-
-extern ngx_uint_t ngx_http_max_module;
-
-
-
ngx_int_t ngx_http_find_location_config(ngx_http_request_t *r);
ngx_int_t ngx_http_set_content_type(ngx_http_request_t *r);
@@ -278,4 +271,35 @@
ngx_int_t ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *chain);
+extern ngx_http_module_t ngx_http_core_module_ctx;
+extern ngx_module_t ngx_http_core_module;
+
+extern ngx_uint_t ngx_http_max_module;
+
+
+#define ngx_http_clear_content_length(r) \
+ \
+ r->headers_out.content_length_n = -1; \
+ if (r->headers_out.content_length) { \
+ r->headers_out.content_length->hash = 0; \
+ r->headers_out.content_length = NULL; \
+ }
+ \
+#define ngx_http_clear_accept_ranges(r) \
+ \
+ r->filter_allow_ranges = 0; \
+ if (r->headers_out.accept_ranges) { \
+ r->headers_out.accept_ranges->hash = 0 ; \
+ r->headers_out.accept_ranges = NULL; \
+ }
+
+#define ngx_http_clear_last_modified(r) \
+ \
+ r->headers_out.last_modified_time = -1; \
+ if (r->headers_out.last_modified) { \
+ r->headers_out.last_modified->hash = 0; \
+ r->headers_out.last_modified = NULL; \
+ }
+
+
#endif /* _NGX_HTTP_CORE_H_INCLUDED_ */