nginx-0.3.12-RELEASE import
*) Security: if nginx was built with the ngx_http_realip_module and the
"satisfy_any on" directive was used, then access and authorization
directives did not work. The ngx_http_realip_module was not built
and is not built by default.
*) Change: the "$time_gmt" variable name was changed to "$time_local".
*) Change: the "proxy_header_buffer_size" and
"fastcgi_header_buffer_size" directives was renamed to the
"proxy_buffer_size" and "fastcgi_buffer_size" directives.
*) Feature: the ngx_http_memcached_module.
*) Feature: the "proxy_buffering" directive.
*) Bugfix: the changes in accept mutex handling when the "rtsig" method
was used; the bug had appeared in 0.3.0.
*) Bugfix: if the client sent the "Transfer-Encoding: chunked" header
line, then nginx returns the 411 error.
*) Bugfix: if the "auth_basic" directive was inherited from the http
level, then the realm in the "WWW-Authenticate" header line was
without the "Basic realm" text.
*) Bugfix: if the "combined" format was explicitly specified in the
"access_log" directive, then the empty lines was written to the log;
the bug had appeared in 0.3.8.
*) Bugfix: nginx did not run on the sparc platform under any OS except
Solaris.
*) Bugfix: now it is not necessary to place space between the quoted
string and closing bracket in the "if" directive.
diff --git a/src/http/ngx_http_upstream.h b/src/http/ngx_http_upstream.h
index ad4c1d4..2032659 100644
--- a/src/http/ngx_http_upstream.h
+++ b/src/http/ngx_http_upstream.h
@@ -51,7 +51,7 @@
ngx_msec_t timeout;
size_t send_lowat;
- size_t header_buffer_size;
+ size_t buffer_size;
size_t busy_buffers_size;
size_t max_temp_file_size;
@@ -68,6 +68,7 @@
ngx_bufs_t bufs;
+ ngx_flag_t buffering;
ngx_flag_t pass_request_headers;
ngx_flag_t pass_request_body;
@@ -86,6 +87,8 @@
ngx_str_t location;
ngx_str_t url; /* used in proxy_rewrite_location */
+ ngx_uint_t redirect_404; /* unsigned redirect_404:1; */
+
#if (NGX_HTTP_SSL)
ngx_ssl_t *ssl;
#endif
@@ -139,7 +142,7 @@
struct ngx_http_upstream_s {
ngx_peer_connection_t peer;
- ngx_event_pipe_t pipe;
+ ngx_event_pipe_t *pipe;
ngx_chain_t *request_bufs;
@@ -150,7 +153,16 @@
ngx_http_upstream_headers_in_t headers_in;
- ngx_buf_t header_in;
+ ngx_buf_t buffer;
+ size_t length;
+
+ ngx_chain_t *out_bufs;
+ ngx_chain_t *busy_bufs;
+ ngx_chain_t *free_bufs;
+
+ ngx_int_t (*input_filter_init)(void *data);
+ ngx_int_t (*input_filter)(void *data, ssize_t bytes);
+ void *input_filter_ctx;
ngx_int_t (*create_request)(ngx_http_request_t *r);
ngx_int_t (*reinit_request)(ngx_http_request_t *r);