Test case I use:
wget -t1 --debug http://site.com/content/movies/pretty_big.wmv --header="Range:bytes=100-200" -O wget.out
Result: wget.out remains empty.
---request begin---
GET /content/movies/pretty_big.wmv HTTP/1.0
User-Agent: Mozilla/5.0 (compatible; Panther)
Accept: */*
Host: site.com
Connection: Keep-Alive
Range: bytes=100-200
X-Panther: Validate
---request end---
HTTP request sent, awaiting response...
---response begin---
HTTP/1.0 206 Partial Content
Cache-Control: max-age=31536000
Cache-Control: max-age=31536000
Cache-Control: private
X-Powered-By: PHP/5.2.0-8+etch10
Pragma: public
Expires: 0
Content-Type: application/force-download
Content-Disposition: attachment; filename="pretty_big.wmv";
Content-Transfer-Encoding: binary
ETag: "1615866504"
Accept-Ranges: bytes
Last-Modified: Fri, 14 Dec 2007 12:53:52 GMT
Content-Range: bytes 100-200/2553951618
Content-Length: 101
Connection: keep-alive
Date: Fri, 01 Feb 2008 08:57:00 GMT
Server: lighttpd/1.5.0
---response end---
206 Partial Content
Registered socket 5 for persistent reuse.
Disabling further reuse of socket 5.
Closed fd 5
Giving up.
strace: attached
Nothing I can see in the logs.
The requests are rewritten to go through a small php script to facilitate authentication.
I tried the test with large files, small files, with authorizer and without,
network-backends linux-sendfile and gthread-aio. Same result.
The code was checked out of trunk on 2008_01_22
I added a patch from this site that enables setting the basis of etag generation. I also use this build in clusters. I'll attach that patch too.
I enabled request debugging and will attach the output of that as well.
Logs have been sanitized to change paths and camouflage host names and such. I did not intentionally remove debugging info. If the logs look consistent I am happy to provide the originals. (in a less open channel)
If you need more information don't hesitate to contact me.
Thanks in advance for looking at the ticket.