[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#717891: Apt 0.9.9.3 + Acquire::http::Proxy = 400 Bad Request



Package: apt
Version: 0.9.9.3
Architecture: i386
Severity: important

When proxying through a squid3 cache, an attempt to "apt-get update"
fails with all errors.

The old apt package, which worked, sent the following request
to the proxy:

GET http://http.us.debian.org/debian/dists/unstable/InRelease HTTP/1.1
Host: http.us.debian.org
Cache-Control: max-age=0
Accept: text/*
If-Modified-Since: Fri, 26 Jul 2013 02:41:21 GMT
User-Agent: Debian APT-HTTP/1.3 (0.9.9.2)

The new one sends the following, which omits the protocol and host
prefix fron the GET line, making it not a proper proxy request:

GET /debian/dists/unstable/InRelease HTTP/1.1
Host: http.us.debian.org
Cache-Control: max-age=0
Accept: text/*
If-Modified-Since: Fri, 26 Jul 2013 02:41:21 GMT
User-Agent: Debian APT-HTTP/1.3 (0.9.9.3)

This causes squid3 to complain

HTTP/1.1 400 Bad Request
Server: squid/3.3.8
Mime-Version: 1.0
Date: Fri, 26 Jul 2013 05:32:43 GMT
Content-Type: text/html
Content-Length: 3232
X-Squid-Error: ERR_INVALID_URL 0
Vary: Accept-Language
Content-Language: en
X-Cache: MISS from ...

I have specifically verified that it's the apt_0.9.9.3_i386.deb package
which does this; libapt-inst1.5, libapt-pkg4.12, apt-utils and apt-doc
can be either 0.9.9.2 or 0.9.9.3 without affecting the results.


Reply to: