[Bug 1561215] [NEW] Upgrade to 16.04 blocked by firewall due to HTTP violation
Xavier Aragon
1561215 at bugs.launchpad.net
Wed Mar 23 21:28:09 UTC 2016
Public bug reported:
Upgrading from 15.10 to 16.04 may fail e.g. in corporate environments
where firewall or IDS/IPS equipment enforce strict HTTP protocol usage.
The failure occurs right in the beginning of the upgrade, as the
upgrader fails to retrieve the release announcement that would be shown
to the user. The problem is the URI in the HTTP request, which contains
the version string '16.04 LTS' without proper encoding. Spaces should be
encoded as '%20' in an URI, but method
_get_release_notes_uri_query_string() in MetaRelease.py of package
python3-update-manager seems to add the version string dist.version as a
query parameter to the URI without any encoding:
# get the version to upgrade to
q += "ver=%s" % dist.version
I think it would be necessary to use something like
urllib.parse.quote(dist.version) instead.
Below is the problematic HTTP request. It is dropped by the firewalls in
the corporation where I work. At home the upgrade works without problem.
HEAD /ubuntu//dists/xenial/main/dist-upgrader-all/current/DevelReleaseAnnouncement.html?lang=en_US&os=ubuntu&ver=16.04 LTS HTTP/1.1
Accept-Encoding: identity
User-Agent: Python-urllib/3.4
Connection: close
Host: archive.ubuntu.com
Release and package info:
Description: Ubuntu 15.10
Release: 15.10
python3-update-manager:
Installed: 1:15.10.3
Candidate: 1:15.10.3
Version table:
*** 1:15.10.3 0
500 http://se.archive.ubuntu.com/ubuntu/ wily/main amd64 Packages
100 /var/lib/dpkg/status
** Affects: ubuntu-release-upgrader (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubuntu-release-upgrader in
Ubuntu.
https://bugs.launchpad.net/bugs/1561215
Title:
Upgrade to 16.04 blocked by firewall due to HTTP violation
Status in ubuntu-release-upgrader package in Ubuntu:
New
Bug description:
Upgrading from 15.10 to 16.04 may fail e.g. in corporate environments
where firewall or IDS/IPS equipment enforce strict HTTP protocol
usage. The failure occurs right in the beginning of the upgrade, as
the upgrader fails to retrieve the release announcement that would be
shown to the user. The problem is the URI in the HTTP request, which
contains the version string '16.04 LTS' without proper encoding.
Spaces should be encoded as '%20' in an URI, but method
_get_release_notes_uri_query_string() in MetaRelease.py of package
python3-update-manager seems to add the version string dist.version as
a query parameter to the URI without any encoding:
# get the version to upgrade to
q += "ver=%s" % dist.version
I think it would be necessary to use something like
urllib.parse.quote(dist.version) instead.
Below is the problematic HTTP request. It is dropped by the firewalls
in the corporation where I work. At home the upgrade works without
problem.
HEAD /ubuntu//dists/xenial/main/dist-upgrader-all/current/DevelReleaseAnnouncement.html?lang=en_US&os=ubuntu&ver=16.04 LTS HTTP/1.1
Accept-Encoding: identity
User-Agent: Python-urllib/3.4
Connection: close
Host: archive.ubuntu.com
Release and package info:
Description: Ubuntu 15.10
Release: 15.10
python3-update-manager:
Installed: 1:15.10.3
Candidate: 1:15.10.3
Version table:
*** 1:15.10.3 0
500 http://se.archive.ubuntu.com/ubuntu/ wily/main amd64 Packages
100 /var/lib/dpkg/status
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1561215/+subscriptions
More information about the foundations-bugs
mailing list