Ubuntu archive server returning incorrect content-encoding - content-header incorrect type
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntu-archive-publishing |
New
|
Undecided
|
Unassigned | ||
apache2 (Debian) |
New
|
Medium
|
Unassigned | ||
apache2 (Ubuntu) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
This appears to be related to bug 215694, but I've identified Ubuntu's web server as the culprit.
https:/
When trying to do an upgrade from 7.10 to 8.04, do-release-upgrade attempts to download the file hardy.tar.gz.gpg. On a machine directly connected to the Internet, this appears to work. However, behind a proxy server, this fails because archive.ubuntu.com is miscoding the content-encoding of the gpg file as x-gzip.
The error message from do-release-upgrade (run from behind a proxy server) looks like this:
-------
# do-release-upgrade
Checking for a new ubuntu release
Failed Upgrade tool signature
Done Upgrade tool
Done downloading
extracting '/tmp/tmpArwlWD
authenticate '/tmp/tmpArwlWD
exception from gpg: GnuPG exited non-zero, with code 131072
Debug information:
gpg: WARNING: unsafe permissions on homedir `/tmp/tmpArwlWD'
gpg: can't open `/tmp/tmpArwlWD
gpg: verify signatures failed: file open error
Authentication failed
Authenticating the upgrade failed. There may be a problem with the network or with the server.
-------
Using wireshark to trace this conversation, I find that the utility is attempting to download two files, one of which is:
http://
Doing a wget of this file (again via a proxy server) also fails:
-------
# wget --no-cache http://
--11:04:13-- http://
=> `hardy.tar.gz.gpg'
Resolving <proxy server>
Connecting to <proxy server>:8080... connected.
Proxy request sent, awaiting response... 502 Bad Gateway
11:04:13 ERROR 502: Bad Gateway.
-------
However, if I run this wget from an external machine with a direct connection, it works correctly:
-------
$ wget --no-cache http://
--11:09:42-- http://
=> `hardy.tar.gz.gpg'
Resolving archive.
Connecting to archive.
HTTP request sent, awaiting response... 200 OK
Length: 191 [application/x-tar]
100%[==
11:09:42 (5.30 MB/s) - `hardy.tar.gz.gpg' saved [191/191]
-------
Using tcpdump to capture this conversation from the external system, and wireshark's "Follow TCP Stream" utility to interpret it, one sees that, in the successful direct connection, the server archive.ubuntu.com is identifying the download as having content-encoding of x-gzip, while the packet itself contains a text gpg signature:
-------
GET /ubuntu/
Pragma: no-cache
User-Agent: Wget/1.10.2
Accept: */*
Host: archive.ubuntu.com
Connection: Keep-Alive
HTTP/1.1 200 OK
Date: Thu, 03 Jul 2008 14:29:48 GMT
Server: Apache/2.0.55 (Ubuntu)
Last-Modified: Fri, 09 May 2008 16:46:50 GMT
ETag: "4074034-
Accept-Ranges: bytes
Content-Length: 191
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: application/x-tar
Content-Encoding: x-gzip
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
iD8DBQBIJH/
0ZUEkk2K32jQ47t
=jJYy
-----END PGP SIGNATURE-----
-------
Looking at the detailed response from the proxy server to the internal system confirms that this is the problem; the proxy server reports:
-------
Server response could not be decoded using encoding type returned by server. This is typically caused by a Web Site presenting a content encoding header of one type, and then encoding the data differently.
-------
Changed in apache2: | |
status: | Unknown → New |
affects: | apache2 → ubuntu-archive-publishing |
Changed in ubuntu-archive-publishing: | |
importance: | Unknown → Undecided |
affects: | ubuntu-meta (Ubuntu) → apache2 (Ubuntu) |
Changed in apache2 (Debian): | |
status: | Unknown → New |
Changed in ubuntu-archive-publishing: | |
status: | New → Incomplete |
Changed in ubuntu-archive-publishing: | |
status: | Incomplete → New |
Changed in apache2 (Ubuntu): | |
status: | Incomplete → Fix Committed |
status: | Fix Committed → Incomplete |
Changed in apache2 (Ubuntu): | |
status: | Incomplete → Fix Released |
Changed in apache2 (Debian): | |
importance: | Unknown → Medium |
Changed in apache2 (Debian): | |
importance: | Medium → Unknown |
Changed in apache2 (Debian): | |
importance: | Unknown → Undecided |
importance: | Undecided → Medium |
I am seeing the same symptom trying to upgrade from Gutsy to Hardy using apt-cacher. Is there a work-around or do I have to connect directly (re-downloading all packages)?