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.
diff --git a/src/http/modules/ngx_http_range_filter_module.c b/src/http/modules/ngx_http_range_filter_module.c index 0eaeff9..329f83d 100644 --- a/src/http/modules/ngx_http_range_filter_module.c +++ b/src/http/modules/ngx_http_range_filter_module.c
@@ -174,7 +174,11 @@ 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);