Certificate error on launchpad xmlrpc server with HTTPS_PROXY set
Bug #944696 reported by
Soren Hansen
This bug affects 4 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Fix Released
|
Critical
|
Martin Packman | ||
2.5 |
Fix Released
|
Critical
|
Martin Packman | ||
bzr (Ubuntu) |
Fix Released
|
Medium
|
Jelmer Vernooij | ||
Precise |
Fix Released
|
Medium
|
Jelmer Vernooij |
Bug Description
When using an https proxy (by setting $https_proxy), I get an error:
soren@jenkins:~$ bzr branch lp:reincarnate
bzr: ERROR: Certificate error: hostname 'proxy-
soren@jenkins:~$ echo $https_proxy
http://
So, apparently it's comparing the hostname given in the cert against the hostname of the proxy. That will never work :)
FWIW, w3m and wget are perfectly happy talking to launchpad through this proxy. No complaints over anything like this.
Related branches
lp:~gz/bzr/https_proxy_host_matching_944696
- Jelmer Vernooij (community): Approve
-
Diff: 41 lines (+10/-3)2 files modifiedbzrlib/transport/http/_urllib2_wrappers.py (+6/-3)
doc/en/release-notes/bzr-2.5.txt (+4/-0)
Changed in bzr: | |
importance: | Undecided → High |
status: | New → Confirmed |
tags: | added: https |
summary: |
- When using a proxy to talk https, cert checking validates against proxy - host name + Cerfiticate error on launchpad xmlrpc server with HTTPS_PROXY set |
summary: |
- Cerfiticate error on launchpad xmlrpc server with HTTPS_PROXY set + Certificate error on launchpad xmlrpc server with HTTPS_PROXY set |
Changed in bzr: | |
importance: | High → Critical |
Changed in bzr: | |
assignee: | nobody → Martin Packman (gz) |
milestone: | none → 2.5.1 |
status: | Confirmed → In Progress |
Changed in bzr: | |
milestone: | 2.5.1 → 2.6b1 |
Changed in bzr: | |
status: | In Progress → Fix Released |
Changed in bzr (Ubuntu): | |
status: | New → Fix Released |
importance: | Undecided → Medium |
assignee: | nobody → Jelmer Vernooij (jelmer) |
Changed in bzr (Ubuntu Precise): | |
assignee: | nobody → Jelmer Vernooij (jelmer) |
importance: | Undecided → Medium |
status: | New → In Progress |
To post a comment you must log in.
I replaced the nice raise CertificateError with just a 'raise "blah"' to get a backtrace. This is what I got:
bzr: ERROR: exceptions. TypeError: exceptions must be old-style classes or derived from BaseException, not str
Traceback (most recent call last): python2. 7/dist- packages/ bzrlib/ commands. py", line 920, in exception_ to_return_ code python2. 7/dist- packages/ bzrlib/ commands. py", line 1131, in run_bzr python2. 7/dist- packages/ bzrlib/ commands. py", line 673, in run_argv_aliases **all_cmd_ args) python2. 7/dist- packages/ bzrlib/ commands. py", line 695, in run .run_simple( *args, **kwargs) python2. 7/dist- packages/ bzrlib/ cleanup. py", line 136, in run_simple python2. 7/dist- packages/ bzrlib/ cleanup. py", line 166, in _do_with_cleanups python2. 7/dist- packages/ bzrlib/ builtins. py", line 1420, in run python2. 7/dist- packages/ bzrlib/ controldir. py", line 778, in open_tree_or_branch location) python2. 7/dist- packages/ bzrlib/ controldir. py", line 685, in open get_transport( base, possible_ transports) python2. 7/dist- packages/ bzrlib/ transport/ __init_ _.py", line 1679, in get_transport from_url( location_ to_url( base), possible_ transports) python2. 7/dist- packages/ bzrlib/ transport/ __init_ _.py", line 1601, in location_to_url dereference( location) python2. 7/dist- packages/ bzrlib/ directory_ service. py", line 65, in dereference ).look_ up(name, url) python2. 7/dist- packages/ bzrlib/ plugins/ launchpad/ lp_directory. py", line 68, in look_up python2. 7/dist- packages/ bzrlib/ plugins/ launchpad/ lp_directory. py", line 173, in _resolve via_xmlrpc( path, url, _request_factory) python2. 7/dist- packages/ bzrlib/ plugins/ launchpad/ lp_directory. py", line 100, in _resolve_via_xmlrpc submit( service) python2. 7/dist- packages/ bzrlib/ plugins/ launchpad/ lp_registration .py", line 271, in submit _authenticated) python2. 7/dist- packages/ bzrlib/ plugins/ launchpad/ lp_registration .py", line 194, in send_request *method_ params) python2. 7/xmlrpclib. py", line 1224, in __call__ send(self. __name, args) python2. 7/xmlrpclib. py", line 1578, in __request self.__ verbose python2. 7/dist- packages/ bzrlib/ plugins/ launchpad/ lp_registration .py", line 72, in request open(request) python2. 7/urllib2. py", line 400, in open python2. 7/urllib2. py", line 418, in _open python2. 7/urllib2. py", line 378, in _call_chain
File "/usr/lib/
return the_callable(*args, **kwargs)
File "/usr/lib/
ret = run(*run_argv)
File "/usr/lib/
return self.run(
File "/usr/lib/
return self._operation
File "/usr/lib/
self.cleanups, self.func, *args, **kwargs)
File "/usr/lib/
result = func(*args, **kwargs)
File "/usr/lib/
from_location)
File "/usr/lib/
controldir = klass.open(
File "/usr/lib/
t = _mod_transport.
File "/usr/lib/
return get_transport_
File "/usr/lib/
location = directories.
File "/usr/lib/
return service(
File "/usr/lib/
return self._resolve(url)
File "/usr/lib/
result = self._resolve_
File "/usr/lib/
result = resolve.
File "/usr/lib/
self.
File "/usr/lib/
result = method(
File "/usr/lib/
return self.__
File "/usr/lib/
verbose=
File "/usr/lib/
response = self._opener.
File "/usr/lib/
response = self._open(req, data)
File "/usr/lib/
'_open', req)
File "/usr/lib/
...