From e863ac7928b7001438ea975b207719c8cd084311 Mon Sep 17 00:00:00 2001 From: Brice Figureau Date: Sat, 27 Sep 2008 23:16:29 +0200 Subject: [PATCH 1/2] Attempt to fix nginx upload module behavior that sends a POST after the upload is finished, which fools our tracker. --- ngx_http_uploadprogress_module.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ngx_http_uploadprogress_module.c b/ngx_http_uploadprogress_module.c index c2a3fec..a388a1e 100644 --- a/ngx_http_uploadprogress_module.c +++ b/ngx_http_uploadprogress_module.c @@ -365,8 +365,8 @@ static void ngx_http_uploadprogress_event_handler(ngx_http_request_t *r) if (up != NULL && !up->done) { ngx_log_debug1(NGX_LOG_DEBUG_HTTP, ngx_cycle->log, 0, "upload-progress: read_event_handler found node: %V", id); - up->rest = r->request_body->rest; - up->length = r->headers_in.content_length_n; + up->rest = up->rest >= r->request_body->rest ? r->request_body->rest : up->res; + up->length = up->length == 0 ? r->headers_in.content_length_n : up->length; ngx_log_debug3(NGX_LOG_DEBUG_HTTP, ngx_cycle->log, 0, "upload-progress: read_event_handler storing rest %uO/%uO for %V", up->rest, up->length, id); } else { From a05b17761c326301a9792b5015612aa77596ff0e Mon Sep 17 00:00:00 2001 From: Brice Figureau Date: Tue, 30 Sep 2008 12:00:18 +0200 Subject: [PATCH 2/2] typo fix --- ngx_http_uploadprogress_module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ngx_http_uploadprogress_module.c b/ngx_http_uploadprogress_module.c index a388a1e..b498b3c 100644 --- a/ngx_http_uploadprogress_module.c +++ b/ngx_http_uploadprogress_module.c @@ -365,7 +365,7 @@ static void ngx_http_uploadprogress_event_handler(ngx_http_request_t *r) if (up != NULL && !up->done) { ngx_log_debug1(NGX_LOG_DEBUG_HTTP, ngx_cycle->log, 0, "upload-progress: read_event_handler found node: %V", id); - up->rest = up->rest >= r->request_body->rest ? r->request_body->rest : up->res; + up->rest = up->rest >= r->request_body->rest ? r->request_body->rest : up->rest; up->length = up->length == 0 ? r->headers_in.content_length_n : up->length; ngx_log_debug3(NGX_LOG_DEBUG_HTTP, ngx_cycle->log, 0, "upload-progress: read_event_handler storing rest %uO/%uO for %V", up->rest, up->length, id);