Welcome! Log In Create A New Profile

Advanced

[PATCH 17 of 25] Cache: fix for sending of empty responses

Maxim Dounin
September 06, 2011 12:12PM
# HG changeset patch
# User Maxim Dounin <mdounin@mdounin.ru>
# Date 1315324516 -14400
# Node ID 2a8a9625e90d91f3a35a55472ad0770f8e02d96b
# Parent 844f42dbe78794bad20366b51b19ee9b9ed32853
Cache: fix for sending of empty responses.

Revert wrong fix for empty responses introduced in 0.8.31 and apply new one,
rewritten to match things done by static module as close as possible.

diff --git a/src/http/ngx_http_file_cache.c b/src/http/ngx_http_file_cache.c
--- a/src/http/ngx_http_file_cache.c
+++ b/src/http/ngx_http_file_cache.c
@@ -853,6 +853,10 @@ ngx_http_cache_send(ngx_http_request_t *
ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
"http file cache send: %s", c->file.name.data);

+ if (r != r->main && c->length - c->body_start == 0) {
+ return ngx_http_send_header(r);
+ }
+
/* we need to allocate all before the header would be sent */

b = ngx_pcalloc(r->pool, sizeof(ngx_buf_t));
@@ -865,8 +869,6 @@ ngx_http_cache_send(ngx_http_request_t *
return NGX_HTTP_INTERNAL_SERVER_ERROR;
}

- r->header_only = (c->length - c->body_start) == 0;
-
rc = ngx_http_send_header(r);

if (rc == NGX_ERROR || rc > NGX_OK || r->header_only) {
@@ -876,7 +878,7 @@ ngx_http_cache_send(ngx_http_request_t *
b->file_pos = c->body_start;
b->file_last = c->length;

- b->in_file = 1;
+ b->in_file = (c->length - c->body_start) ? 1: 0;
b->last_buf = (r == r->main) ? 1: 0;
b->last_in_chain = 1;


_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[PATCH 00 of 25] generic patch queue

Maxim Dounin 1699 September 06, 2011 12:10PM

[PATCH 01 of 25] Handling of If-Range with add_header Last-Modified

Maxim Dounin 716 September 06, 2011 12:10PM

[PATCH 02 of 25] Fix for incorrect 201 replies from dav module

Maxim Dounin 726 September 06, 2011 12:10PM

[PATCH 03 of 25] Fix for double content when return is used in error_page handler

Maxim Dounin 695 September 06, 2011 12:10PM

[PATCH 04 of 25] Fix for "return 202" not discarding body

Maxim Dounin 685 September 06, 2011 12:10PM

[PATCH 05 of 25] Incorrect special case for "return 204" removed

Maxim Dounin 677 September 06, 2011 12:10PM

[PATCH 06 of 25] Clear old Location header (if any) while adding new one

Maxim Dounin 735 September 06, 2011 12:10PM

[PATCH 07 of 25] Better handling of late upstream creation

Maxim Dounin 778 September 06, 2011 12:10PM

[PATCH 08 of 25] Gzip filter: handle empty flush buffers

Maxim Dounin 751 September 06, 2011 12:12PM

[PATCH 09 of 25] Fix for connection drops with AIO

Maxim Dounin 687 September 06, 2011 12:12PM

[PATCH 10 of 25] Fix for socket leak with "aio sendfile" and "limit_rate"

Maxim Dounin 749 September 06, 2011 12:12PM

[PATCH 11 of 25] Handling of Content-Encoding set from perl

Maxim Dounin 710 September 06, 2011 12:12PM

[PATCH 12 of 25] Gzip static: "always" parameter in "gzip_static" directive

Maxim Dounin 687 September 06, 2011 12:12PM

[PATCH 13 of 25] Memcached: memcached_gzip_flag directive

Maxim Dounin 806 September 06, 2011 12:12PM

[PATCH 14 of 25] Mail: handle smtp multiline replies

Maxim Dounin 643 September 06, 2011 12:12PM

[PATCH 15 of 25] Additional headers for proxy_ignore_headers/fastcgi_ignore_headers

Maxim Dounin 727 September 06, 2011 12:12PM

[PATCH 16 of 25] Fix for proxy_store leaving temporary files for subrequests

Maxim Dounin 770 September 06, 2011 12:12PM

[PATCH 17 of 25] Cache: fix for sending of empty responses

Maxim Dounin 656 September 06, 2011 12:12PM

[PATCH 18 of 25] Cache: fix for sending of stale responses

Maxim Dounin 808 September 06, 2011 12:14PM

[PATCH 19 of 25] Variables: honor no_cacheable for not_found variables

Maxim Dounin 790 September 06, 2011 12:14PM

[PATCH 20 of 25] Core: protection from subrequest loops

Maxim Dounin 693 September 06, 2011 12:14PM

[PATCH 21 of 25] Core: protection from cycles with named locations and post_action

Maxim Dounin 715 September 06, 2011 12:14PM

[PATCH 22 of 25] Autoindex: escape '?' in file names

Maxim Dounin 794 September 06, 2011 12:14PM

[PATCH 23 of 25] Autoindex: escape html in file names

Maxim Dounin 787 September 06, 2011 12:14PM

[PATCH 24 of 25] Unbreak build with embedded perl and --with-openssl

Maxim Dounin 827 September 06, 2011 12:14PM

[PATCH 25 of 25] Time parsing cleanup

Maxim Dounin 787 September 06, 2011 12:14PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 230
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready