[tor-bugs] #13671 [Tor Browser]: Circuit display is broken if bridges are being used.

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Dec 2 19:54:03 UTC 2014


#13671: Circuit display is broken if bridges are being used.
-------------------------+-------------------------------------------------
     Reporter:  yawning  |      Owner:  tbb-team
         Type:  defect   |     Status:  needs_review
     Priority:  normal   |  Milestone:
    Component:  Tor      |    Version:
  Browser                |   Keywords:  TorBrowserTeam201412R,
   Resolution:           |  TorBrowserTeam201412
Actual Points:           |  Parent ID:
       Points:           |
-------------------------+-------------------------------------------------

Comment (by mcs):

 Kathy and I reviewed 0001-13671-fix-circuit-display-when-bridges-are-
 used.3.patch.  It was interesting to learn about Task.jsm; it seems like a
 good fit for this code and it makes error handling much cleaner.  Here are
 our comments, all of which can probably be deferred (maybe file a new
 ticket?):

 1) Nit: s/nodeData/nodeDataForID/ in the Example comment here:
 {{{
 // nodeDataForID(controller, id)__.
 // Returns the type, IP and country code of a node with given ID.
 // Example: `nodeData(controller,
 "20BC91DC525C3DC9974B29FBEAB51230DE024C44")`
 // => `{ type : "default" , ip : "12.23.34.45" , countryCode : "fr" }`
 let nodeDataForID = function* (controller, id) {
   let result = {}; // ip, type, countryCode;
 }}}

 2) Nit: Remove spaces before commas in the code above and within
 info.routerStatusParser inside tor-control-port.js.

 3) Nit: In the code above, change the "let result = {};" line to:
 {{{
 let result = {}; // type, ip, countryCode;
 }}}
 (so that the properties mentioned in the comment are listed in the same
 order as in the preceding comments).

 4) Inside the nodeLines function, "Unknown country" and other nearby
 strings should be localized, someday.

 5) Nit: In this code (now switching to tor-control-port.js), remove the
 "and " before dispatcher.removeCallback (there are now two "and"s in one
 sentence).
 {{{
 // __io.callbackDispatcher()__.
 // Returns dispatcher object with three member functions:
 // dispatcher.addCallback(regex, callback), and
 dispatcher.removeCallback(callback),
 // and dispatcher.pushMessage(message).
 }}}

 6) Why do you use "getinfo config-text" instead of "getconf bridge"?  I am
 not sure how large torrc is for some people, but it would seem easier and
 more efficient to just get the value of the config variable that you need.

 7) We saw an "addTabsProgressListener is not defined" exception on the
 Error Console at this line within syncDisplayWithSelectedTab():
 {{{
 gBrowser.addTabsProgressListener(listener2);
 }}}
 But we were not able to reproduce the problem.  Our best guess is that
 some combination of multiple tabs and New Identity triggered the problem.
 Looking at the code, it seems like the only way to get there would be if
 start() within setupDisplay() failed.  If gBrowser is missing functions
 then the window it is part of must be in the process of closing or already
 closed.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/13671#comment:21>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list