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.
This commit is contained in:
Maxim Dounin 2012-07-07 21:16:21 +00:00
parent 8aaf9d35b7
commit 63d7ab16ff

View File

@ -174,7 +174,11 @@ ngx_http_range_header_filter(ngx_http_request_t *r)
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);