ExternalBugTrackers that use XML-RPC need an XML-RPC transport that can work across proxies

Bug #243634 reported by Graham Binns
4
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
Critical
Eleanor Berger

Bug Description

Both the BugzillaLPPlugin ExternalBugTracker and the TracLPPlugin ExternalBugTracker use XML-RPC to communicate with remote hosts. Unfortunately, the XML-RPC Transport class provided by Python's xmlrpclib (see http://bugs.python.org/issue648658) doesn't do proxying very well, and so neither of these ExternalBugTrackers will currently be able to work in Launchpad's staging or production environments.

To allow them to work, we need to create a custom XML-RPC Transport that can handle proxying. There is a patch attached (http://bugs.python.org/file8213/HTTPTransport.py) to the python.org bug listed above which would be a good basis from which to start, though it would need to be adapted to our purposes (specifically, the handling of cookies in the request and response headers, some of which already happens in the existing custom transports that we've written for these ExternalBugTrackers).

Graham Binns (gmb)
Changed in malone:
importance: Undecided → High
milestone: none → 1.2.6
status: New → Triaged
Changed in malone:
assignee: nobody → intellectronica
Changed in malone:
status: Triaged → In Progress
Revision history for this message
James Henstridge (jamesh) wrote :

Since the rollout today, the checkwatches script has started failing for bug tracker types with plugin support. This probably deserves a release-critical fix.

Revision history for this message
Björn Tillenius (bjornt) wrote :

Yes, not updating bug watches for trac and bugzilla bug trackers is bad.

Changed in malone:
importance: High → Critical
Joey Stanford (joey)
Changed in malone:
status: In Progress → Fix Committed
Revision history for this message
Björn Tillenius (bjornt) wrote :

Looks like the new transport doesn't work with proxies. Let's do a quick fix, catching the "can't connect" error. After that we can spend more time on getting this transport to work.

Changed in malone:
status: Fix Committed → Confirmed
Revision history for this message
Björn Tillenius (bjornt) wrote :

So, it looks like the transport might work after all, but it's not used by Bugzilla.getExternalBugTrackerToUse. In that method we should use BugzillaLPPlugin to do the xml-rpc call, instead of duplicating that functionality.

Changed in malone:
status: Confirmed → In Progress
Revision history for this message
Eleanor Berger (intellectronica) wrote :

additional fix landed in RF 6621

Changed in malone:
status: In Progress → Fix Committed
Changed in malone:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.