comparison src/http/ngx_http_upstream.h @ 581:326634fb9d47 release-0.3.12

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.
author Igor Sysoev <igor@sysoev.ru>
date Sat, 26 Nov 2005 10:11:11 +0000
parents 4d9ea73a627a
children d4e858a5751a
comparison
equal deleted inserted replaced
580:8393757dc220 581:326634fb9d47
49 ngx_msec_t send_timeout; 49 ngx_msec_t send_timeout;
50 ngx_msec_t read_timeout; 50 ngx_msec_t read_timeout;
51 ngx_msec_t timeout; 51 ngx_msec_t timeout;
52 52
53 size_t send_lowat; 53 size_t send_lowat;
54 size_t header_buffer_size; 54 size_t buffer_size;
55 55
56 size_t busy_buffers_size; 56 size_t busy_buffers_size;
57 size_t max_temp_file_size; 57 size_t max_temp_file_size;
58 size_t temp_file_write_size; 58 size_t temp_file_write_size;
59 59
66 66
67 time_t fail_timeout; 67 time_t fail_timeout;
68 68
69 ngx_bufs_t bufs; 69 ngx_bufs_t bufs;
70 70
71 ngx_flag_t buffering;
71 ngx_flag_t pass_request_headers; 72 ngx_flag_t pass_request_headers;
72 ngx_flag_t pass_request_body; 73 ngx_flag_t pass_request_body;
73 74
74 ngx_flag_t redirect_errors; 75 ngx_flag_t redirect_errors;
75 ngx_flag_t cyclic_temp_file; 76 ngx_flag_t cyclic_temp_file;
83 84
84 ngx_str_t schema; 85 ngx_str_t schema;
85 ngx_str_t uri; 86 ngx_str_t uri;
86 ngx_str_t location; 87 ngx_str_t location;
87 ngx_str_t url; /* used in proxy_rewrite_location */ 88 ngx_str_t url; /* used in proxy_rewrite_location */
89
90 ngx_uint_t redirect_404; /* unsigned redirect_404:1; */
88 91
89 #if (NGX_HTTP_SSL) 92 #if (NGX_HTTP_SSL)
90 ngx_ssl_t *ssl; 93 ngx_ssl_t *ssl;
91 #endif 94 #endif
92 95
137 140
138 141
139 struct ngx_http_upstream_s { 142 struct ngx_http_upstream_s {
140 ngx_peer_connection_t peer; 143 ngx_peer_connection_t peer;
141 144
142 ngx_event_pipe_t pipe; 145 ngx_event_pipe_t *pipe;
143 146
144 ngx_chain_t *request_bufs; 147 ngx_chain_t *request_bufs;
145 148
146 ngx_output_chain_ctx_t output; 149 ngx_output_chain_ctx_t output;
147 ngx_chain_writer_ctx_t writer; 150 ngx_chain_writer_ctx_t writer;
148 151
149 ngx_http_upstream_conf_t *conf; 152 ngx_http_upstream_conf_t *conf;
150 153
151 ngx_http_upstream_headers_in_t headers_in; 154 ngx_http_upstream_headers_in_t headers_in;
152 155
153 ngx_buf_t header_in; 156 ngx_buf_t buffer;
157 size_t length;
158
159 ngx_chain_t *out_bufs;
160 ngx_chain_t *busy_bufs;
161 ngx_chain_t *free_bufs;
162
163 ngx_int_t (*input_filter_init)(void *data);
164 ngx_int_t (*input_filter)(void *data, ssize_t bytes);
165 void *input_filter_ctx;
154 166
155 ngx_int_t (*create_request)(ngx_http_request_t *r); 167 ngx_int_t (*create_request)(ngx_http_request_t *r);
156 ngx_int_t (*reinit_request)(ngx_http_request_t *r); 168 ngx_int_t (*reinit_request)(ngx_http_request_t *r);
157 ngx_int_t (*process_header)(ngx_http_request_t *r); 169 ngx_int_t (*process_header)(ngx_http_request_t *r);
158 void (*abort_request)(ngx_http_request_t *r); 170 void (*abort_request)(ngx_http_request_t *r);