You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Brian Buesker <bb...@qualcomm.com> on 2005/11/16 01:24:51 UTC

mod_dav_svn in 1.2.3 not handling Range requests

I recently upgraded to httpd 2.0.55 and SVN 1.2.3 and ran into a problem 
with mod_dav_svn's handling of HTTP requests with the Range  attribute 
in the header. Prior to 1.2, it looks like mod_dav_svn returns the range 
the client requested, but in 1.2.3, it is now returning the whole file 
rather than just the range. Here are the headers from the request and 
response for a 1.2.3 server:

Request:
GET 
/svn/ksimages/fc4/tags/FC4_0_001/i386/Fedora/RPMS/createrepo-0.4.2-2.noarch.rpm 
HTTP/1.1
Host: yumsvr-pri
Accept-Encoding: identity
Range: bytes=440-4367
User-agent: urlgrabber/2.9.6
 
Response:
HTTP/1.1 200 OK
Date: Wed, 16 Nov 2005 00:08:12 GMT
Server: Apache/2.0.55 (Unix)
ETag: 
"11736//fc4/tags/FC4_0_001/i386/Fedora/RPMS/createrepo-0.4.2-2.noarch.rpm"
Accept-Ranges: bytes
Content-Length: 17979
Connection: close
Content-Type: application/octet-stream

To verify that it was not just an overall apache problem, I tried 
fetching just part of an HTML file not maintained within SVN and that 
worked correctly. I also verified my test script against SVN 1.1.4 and 
apache 2.0.52, and that correctly returned only the bytes requested.

My test script essentially is just the following:

#!/usr/bin/python

import sys
from urlgrabber.grabber import URLGrabber

ug = URLGrabber(keepalive = 1)
url = sys.argv[1]
local = 'partial'

print "url = " + url + " local = " + local

result = ug.urlgrab(url, local, range=(100,200))

Does anybody know why mod_dav_svn is not handling requests for a range 
of bytes within a file and if there is a way for me to enable the old 
behavior?

Thanks,
Brian

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org