[tbb-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 tbb-bugs
mailing list