[nginx] svn commit: r4742 - trunk/src/http/modules

mdounin at mdounin.ru mdounin at mdounin.ru
Sat Jul 7 21:16:22 UTC 2012


Author: mdounin
Date: 2012-07-07 21:16:21 +0000 (Sat, 07 Jul 2012)
New Revision: 4742
URL: http://trac.nginx.org/nginx/changeset/4742/nginx

Log:
Fixed If-Range with unknown last modified time.

If modification time isn't known, skip range processing and return full
entity body instead of just ignoring If-Range.  Ignoring If-Range isn't
safe as client will assume entity wasn't changed since time specified.


Modified:
   trunk/src/http/modules/ngx_http_range_filter_module.c

Modified: trunk/src/http/modules/ngx_http_range_filter_module.c
===================================================================
--- trunk/src/http/modules/ngx_http_range_filter_module.c	2012-07-07 09:35:30 UTC (rev 4741)
+++ trunk/src/http/modules/ngx_http_range_filter_module.c	2012-07-07 21:16:21 UTC (rev 4742)
@@ -174,8 +174,12 @@
         goto next_filter;
     }
 
-    if (r->headers_in.if_range && r->headers_out.last_modified_time != -1) {
+    if (r->headers_in.if_range) {
 
+        if (r->headers_out.last_modified_time == (time_t) -1) {
+            goto next_filter;
+        }
+
         if_range = ngx_http_parse_time(r->headers_in.if_range->value.data,
                                        r->headers_in.if_range->value.len);
 



More information about the nginx-devel mailing list