comparison src/http/modules/ngx_http_uwsgi_module.c @ 638:692f4d4d7f10 NGINX_1_0_9

nginx 1.0.9 *) Change: now the 0x7F-0x1F characters are escaped as \xXX in an access_log. *) Change: now SIGWINCH signal works only in daemon mode. *) Feature: "proxy/fastcgi/scgi/uwsgi_ignore_headers" directives support the following additional values: X-Accel-Limit-Rate, X-Accel-Buffering, X-Accel-Charset. *) Feature: decrease of memory consumption if SSL is used. *) Feature: accept filters are now supported on NetBSD. *) Feature: the "uwsgi_buffering" and "scgi_buffering" directives. Thanks to Peter Smit. *) Bugfix: a segmentation fault occurred on start or while reconfiguration if the "ssl" directive was used at http level and there was no "ssl_certificate" defined. *) Bugfix: some UTF-8 characters were processed incorrectly. Thanks to Alexey Kuts. *) Bugfix: the ngx_http_rewrite_module directives specified at "server" level were executed twice if no matching locations were defined. *) Bugfix: a socket leak might occurred if "aio sendfile" was used. *) Bugfix: connections with fast clients might be closed after send_timeout if file AIO was used. *) Bugfix: in the ngx_http_autoindex_module. *) Bugfix: the module ngx_http_mp4_module did not support seeking on 32-bit platforms. *) Bugfix: non-cacheable responses might be cached if "proxy_cache_bypass" directive was used. Thanks to John Ferlito. *) Bugfix: cached responses with an empty body were returned incorrectly; the bug had appeared in 0.8.31. *) Bugfix: 201 responses of the ngx_http_dav_module were incorrect; the bug had appeared in 0.8.32. *) Bugfix: in the "return" directive. *) Bugfix: the "ssl_verify_client", "ssl_verify_depth", and "ssl_prefer_server_ciphers" directives might work incorrectly if SNI was used.
author Igor Sysoev <http://sysoev.ru>
date Tue, 01 Nov 2011 00:00:00 +0400
parents 65fd8be45530
children 1b80544421e8
comparison
equal deleted inserted replaced
637:ea7441793bba 638:692f4d4d7f10
119 { ngx_string("uwsgi_store_access"), 119 { ngx_string("uwsgi_store_access"),
120 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE123, 120 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE123,
121 ngx_conf_set_access_slot, 121 ngx_conf_set_access_slot,
122 NGX_HTTP_LOC_CONF_OFFSET, 122 NGX_HTTP_LOC_CONF_OFFSET,
123 offsetof(ngx_http_uwsgi_loc_conf_t, upstream.store_access), 123 offsetof(ngx_http_uwsgi_loc_conf_t, upstream.store_access),
124 NULL },
125
126 { ngx_string("uwsgi_buffering"),
127 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
128 ngx_conf_set_flag_slot,
129 NGX_HTTP_LOC_CONF_OFFSET,
130 offsetof(ngx_http_uwsgi_loc_conf_t, upstream.buffering),
124 NULL }, 131 NULL },
125 132
126 { ngx_string("uwsgi_ignore_client_abort"), 133 { ngx_string("uwsgi_ignore_client_abort"),
127 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG, 134 NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_FLAG,
128 ngx_conf_set_flag_slot, 135 ngx_conf_set_flag_slot,
443 u->reinit_request = ngx_http_uwsgi_reinit_request; 450 u->reinit_request = ngx_http_uwsgi_reinit_request;
444 u->process_header = ngx_http_uwsgi_process_status_line; 451 u->process_header = ngx_http_uwsgi_process_status_line;
445 u->abort_request = ngx_http_uwsgi_abort_request; 452 u->abort_request = ngx_http_uwsgi_abort_request;
446 u->finalize_request = ngx_http_uwsgi_finalize_request; 453 u->finalize_request = ngx_http_uwsgi_finalize_request;
447 454
448 u->buffering = 1; 455 u->buffering = uwcf->upstream.buffering;
449 456
450 u->pipe = ngx_pcalloc(r->pool, sizeof(ngx_event_pipe_t)); 457 u->pipe = ngx_pcalloc(r->pool, sizeof(ngx_event_pipe_t));
451 if (u->pipe == NULL) { 458 if (u->pipe == NULL) {
452 return NGX_HTTP_INTERNAL_SERVER_ERROR; 459 return NGX_HTTP_INTERNAL_SERVER_ERROR;
453 } 460 }
1089 conf->upstream.intercept_errors = NGX_CONF_UNSET; 1096 conf->upstream.intercept_errors = NGX_CONF_UNSET;
1090 1097
1091 /* "uwsgi_cyclic_temp_file" is disabled */ 1098 /* "uwsgi_cyclic_temp_file" is disabled */
1092 conf->upstream.cyclic_temp_file = 0; 1099 conf->upstream.cyclic_temp_file = 0;
1093 1100
1101 conf->upstream.change_buffering = 1;
1102
1094 ngx_str_set(&conf->upstream.module, "uwsgi"); 1103 ngx_str_set(&conf->upstream.module, "uwsgi");
1095 1104
1096 return conf; 1105 return conf;
1097 } 1106 }
1098 1107