Mercurial > hg > nginx-vendor-current
comparison src/http/ngx_http_request.h @ 122:d25a1d6034f1 NGINX_0_3_8
nginx 0.3.8
*) Security: nginx now checks URI got from a backend in
"X-Accel-Redirect" header line or in SSI file for the "/../" paths
and zeroes.
*) Change: nginx now does not treat the empty user name in the
"Authorization" header line as valid one.
*) Feature: the "ssl_session_timeout" directives of the
ngx_http_ssl_module and ngx_imap_ssl_module.
*) Feature: the "auth_http_header" directive of the
ngx_imap_auth_http_module.
*) Feature: the "add_header" directive.
*) Feature: the ngx_http_realip_module.
*) Feature: the new variables to use in the "log_format" directive:
$bytes_sent, $apache_bytes_sent, $status, $time_gmt, $uri,
$request_time, $request_length, $upstream_status,
$upstream_response_time, $gzip_ratio, $uid_got, $uid_set,
$connection, $pipe, and $msec. The parameters in the "%name" form
will be canceled soon.
*) Change: now the false variable values in the "if" directive are the
empty string "" and string starting with "0".
*) Bugfix: while using proxied or FastCGI-server nginx may leave
connections and temporary files with client requests in open state.
*) Bugfix: the worker processes did not flush the buffered logs on
graceful exit.
*) Bugfix: if the request URI was changes by the "rewrite" directive
and the request was proxied in location given by regular expression,
then the incorrect request was transferred to backend; bug appeared
in 0.2.6.
*) Bugfix: the "expires" directive did not remove the previous
"Expires" header.
*) Bugfix: nginx may stop to accept requests if the "rtsig" method and
several worker processes were used.
*) Bugfix: the "\"" and "\'" escape symbols were incorrectly handled in
SSI commands.
*) Bugfix: if the response was ended just after the SSI command and
gzipping was used, then the response did not transferred complete or
did not transferred at all.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 09 Nov 2005 00:00:00 +0300 |
parents | 644a7935144b |
children | df17fbafec8f |
comparison
equal
deleted
inserted
replaced
121:737953b238a4 | 122:d25a1d6034f1 |
---|---|
37 #define NGX_HTTP_PARSE_INVALID_REQUEST 11 | 37 #define NGX_HTTP_PARSE_INVALID_REQUEST 11 |
38 #define NGX_HTTP_PARSE_INVALID_09_METHOD 12 | 38 #define NGX_HTTP_PARSE_INVALID_09_METHOD 12 |
39 | 39 |
40 #define NGX_HTTP_PARSE_HEADER_ERROR 13 | 40 #define NGX_HTTP_PARSE_HEADER_ERROR 13 |
41 #define NGX_HTTP_PARSE_INVALID_HEADER 13 | 41 #define NGX_HTTP_PARSE_INVALID_HEADER 13 |
42 | |
43 #define NGX_HTTP_ZERO_IN_URI 1 | |
42 | 44 |
43 | 45 |
44 #define NGX_HTTP_OK 200 | 46 #define NGX_HTTP_OK 200 |
45 #define NGX_HTTP_NO_CONTENT 204 | 47 #define NGX_HTTP_NO_CONTENT 204 |
46 #define NGX_HTTP_PARTIAL_CONTENT 206 | 48 #define NGX_HTTP_PARTIAL_CONTENT 206 |
148 | 150 |
149 ngx_table_elt_t *authorization; | 151 ngx_table_elt_t *authorization; |
150 | 152 |
151 ngx_table_elt_t *keep_alive; | 153 ngx_table_elt_t *keep_alive; |
152 | 154 |
153 #if (NGX_HTTP_PROXY) | 155 #if (NGX_HTTP_PROXY || NGX_HTTP_REALIP) |
154 ngx_table_elt_t *x_forwarded_for; | 156 ngx_table_elt_t *x_forwarded_for; |
157 #endif | |
158 | |
159 #if (NGX_HTTP_REALIP) | |
160 ngx_table_elt_t *x_real_ip; | |
155 #endif | 161 #endif |
156 | 162 |
157 #if (NGX_HTTP_HEADERS) | 163 #if (NGX_HTTP_HEADERS) |
158 ngx_table_elt_t *accept; | 164 ngx_table_elt_t *accept; |
159 ngx_table_elt_t *accept_language; | 165 ngx_table_elt_t *accept_language; |
318 ngx_uint_t phase; | 324 ngx_uint_t phase; |
319 ngx_int_t phase_handler; | 325 ngx_int_t phase_handler; |
320 ngx_http_handler_pt content_handler; | 326 ngx_http_handler_pt content_handler; |
321 ngx_uint_t access_code; | 327 ngx_uint_t access_code; |
322 | 328 |
323 ngx_http_variable_value_t **variables; | 329 ngx_http_variable_value_t *variables; |
324 | 330 |
325 size_t limit_rate; | 331 size_t limit_rate; |
326 | 332 |
327 /* used to learn the Apache compatible response length without a header */ | 333 /* used to learn the Apache compatible response length without a header */ |
328 size_t header_size; | 334 size_t header_size; |
363 unsigned header_timeout_set:1; | 369 unsigned header_timeout_set:1; |
364 | 370 |
365 unsigned proxy:1; | 371 unsigned proxy:1; |
366 unsigned bypass_cache:1; | 372 unsigned bypass_cache:1; |
367 unsigned no_cache:1; | 373 unsigned no_cache:1; |
374 | |
375 #if (NGX_HTTP_REALIP) | |
376 | |
377 /* | |
378 * instead of using the request context data in ngx_http_realip_module | |
379 * we use the single bit in the request structure | |
380 */ | |
381 unsigned realip_set:1; | |
382 | |
383 #endif | |
368 | 384 |
369 #if 0 | 385 #if 0 |
370 unsigned cachable:1; | 386 unsigned cachable:1; |
371 #endif | 387 #endif |
372 | 388 |