diff src/http/ngx_http_request_body.c @ 276:c5c2b2883984 NGINX_0_5_8

nginx 0.5.8 *) Bugfix: a segmentation fault might occur if "client_body_in_file_only on" was used and a request body was small. *) Bugfix: a segmentation fault occurred if "client_body_in_file_only on" and "proxy_pass_request_body off" or "fastcgi_pass_request_body off" directives were used, and nginx switched to a next upstream. *) Bugfix: if the "proxy_buffering off" directive was used and a client connection was non-active, then the connection was closed after send timeout; bug appeared in 0.4.7. *) Bugfix: if the "epoll" method was used and a client closed a connection prematurely, then nginx closed the connection after a send timeout only. *) Bugfix: the "[alert] zero size buf" error when FastCGI server was used. *) Bugfixes in the "limit_zone" directive.
author Igor Sysoev <http://sysoev.ru>
date Fri, 19 Jan 2007 00:00:00 +0300
parents 2e9c57a5e50a
children 704622b2528a
line wrap: on
line diff
--- a/src/http/ngx_http_request_body.c
+++ b/src/http/ngx_http_request_body.c
@@ -74,13 +74,13 @@ ngx_http_read_client_request_body(ngx_ht
             tf->persistent = r->request_body_in_persistent_file;
 
             if (r->request_body_file_group_access) {
-                tf->mode = 0660;
+                tf->access = 0660;
             }
 
             rb->temp_file = tf;
 
             if (ngx_create_temp_file(&tf->file, tf->path, tf->pool,
-                                     tf->persistent, tf->mode)
+                                     tf->persistent, tf->access)
                 != NGX_OK)
             {
                 return NGX_HTTP_INTERNAL_SERVER_ERROR;
@@ -163,6 +163,8 @@ ngx_http_read_client_request_body(ngx_ht
 
             /* the whole request body may be placed in r->header_in */
 
+            rb->to_write = rb->bufs;
+
             r->read_event_handler = ngx_http_read_client_request_body_handler;
 
             return ngx_http_do_read_client_request_body(r);
@@ -400,7 +402,7 @@ ngx_http_write_request_body(ngx_http_req
         tf->persistent = r->request_body_in_persistent_file;
 
         if (r->request_body_file_group_access) {
-            tf->mode = 0660;
+            tf->access = 0660;
         }
 
         rb->temp_file = tf;