Package: polipo
Version: 1.0.5~20091115+54-1
Severity: wishlist
Tags: upstream

It seems that polipo understands Range requests only if they have
exactly one range.  This issue affected "bzr export", which complained
as follows.

    Got a 200 response when asking for multiple ranges, does your server at 
127.0.0.1:8080 support range requests?

Unfortunately I cannot reliably reproduce the bzr behaviour, but I can
demonstrate the basic behaviour with curl.  The upstream web server
supports multiple ranges without polipo:

    $ env -u http_proxy curl -svo/dev/null -r0-0,-1 
http://mirror.internode.on.net/pub/test/1meg.test
    * Couldn't find host mirror.internode.on.net in the .netrc file; using 
defaults
    * About to connect() to mirror.internode.on.net port 80 (#0)
    *   Trying 150.101.135.3... connected
    * Connected to mirror.internode.on.net (150.101.135.3) port 80 (#0)
    > GET /pub/test/1meg.test HTTP/1.1
    > Range: bytes=0-0,-1
    > User-Agent: W3C standards are important. Stop fucking obsessing over 
user-agent already.
    > Host: mirror.internode.on.net
    > Accept: */*
    >
    < HTTP/1.1 206 Partial Content
    < Server: nginx/0.8.27
    < Date: Thu, 06 May 2010 06:02:23 GMT
    < Content-Type: multipart/byteranges; boundary=00000000000000045559
    < Content-Length: 244
    < Last-Modified: Sun, 03 Jun 2007 10:15:25 GMT
    < Connection: keep-alive
    < Keep-Alive: timeout=20
    <
    { [data not shown]
    * Connection #0 to host mirror.internode.on.net left intact
    * Closing connection #0

Polipo works with a single range:

    $ curl -svo/dev/null -r0-0 http://mirror.internode.on.net/pub/test/1meg.test
    * Couldn't find host mirror.internode.on.net in the .netrc file; using 
defaults
    * About to connect() to proxy 127.0.0.1 port 8080 (#0)
    *   Trying 127.0.0.1... connected
    * Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0)
    > GET http://mirror.internode.on.net/pub/test/1meg.test HTTP/1.1
    > Range: bytes=0-0
    > User-Agent: W3C standards are important. Stop fucking obsessing over 
user-agent already.
    > Host: mirror.internode.on.net
    > Accept: */*
    > Proxy-Connection: Keep-Alive
    >
    < HTTP/1.1 206 Partial content
    < Content-Length: 1
    < Content-Range: bytes 0-0/1000000
    < Date: Thu, 06 May 2010 06:05:18 GMT
    < Last-Modified: Sun, 03 Jun 2007 10:15:25 GMT
    < Server: nginx/0.8.27
    < Content-Type: application/octet-stream
    < Accept-Ranges: bytes
    < Connection: keep-alive
    <
    { [data not shown]
    * Connection #0 to host 127.0.0.1 left intact
    * Closing connection #0

But polipo doesn't work with multiple ranges:

    $ curl -svo/dev/null -r0-0,-1 
http://mirror.internode.on.net/pub/test/1meg.test
    * Couldn't find host mirror.internode.on.net in the .netrc file; using 
defaults
    * About to connect() to proxy 127.0.0.1 port 8080 (#0)
    *   Trying 127.0.0.1... connected
    * Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0)
    > GET http://mirror.internode.on.net/pub/test/1meg.test HTTP/1.1
    > Range: bytes=0-0,-1
    > User-Agent: W3C standards are important. Stop fucking obsessing over 
user-agent already.
    > Host: mirror.internode.on.net
    > Accept: */*
    > Proxy-Connection: Keep-Alive
    >
    < HTTP/1.1 200 OK
    < Content-Length: 1000000
    < Date: Thu, 06 May 2010 06:05:01 GMT
    < Last-Modified: Sun, 03 Jun 2007 10:15:25 GMT
    < Server: nginx/0.8.27
    < Content-Type: application/octet-stream
    < Accept-Ranges: bytes
    < Connection: keep-alive
    <
    { [data not shown]
    * Connection #0 to host 127.0.0.1 left intact
    * Closing connection #0

I'm currently running a debianized upstream snapshot, but I don't
think that matters for this specific issue.

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.34-rc6 (SMP w/2 CPU cores)
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages polipo depends on:
ii  dpkg                      1.15.7.1       Debian package management system
ii  install-info              4.13a.dfsg.1-5 Manage installed documentation in
ii  libc6                     2.10.2-7       Embedded GNU C Library: Shared lib

polipo recommends no packages.

polipo suggests no packages.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to