[tor-bugs] #11512 [Tor Launcher]: Tor Launcher should set ClientTransportPlugin according to the bridge list

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Apr 14 15:00:26 UTC 2014


#11512: Tor Launcher should set ClientTransportPlugin according to the bridge list
--------------------------+-----------------------
 Reporter:  anonym        |          Owner:  brade
     Type:  defect        |         Status:  new
 Priority:  normal        |      Milestone:
Component:  Tor Launcher  |        Version:
 Keywords:                |  Actual Points:
Parent ID:                |         Points:
--------------------------+-----------------------
 If one wants to create a Tor Launcher distribution that supports some
 pluggable transports, one has to configure them statically with a
 `ClientTransportPlugin` line in `torrc` before running Tor Launcher.
 However, since `ClientTransportPlugin` and the `*Proxy` options are
 mutually exclusive, any such distribution prevents usage of proxies even
 if the user doesn't want to use bridges.

 We should fix this by making Tor Launcher itself set
 `ClientTransportPlugin`, when necessary, by extracting any plugin parts
 from the bridge list inputted by the user.

 See the `set_ClientTransportPlugin` branch on `git://git.tails.boum.org
 /tor-launcher` for what we do in Tails to achieve that. Note that it is
 '''not a complete fix''' but more of an emergency fix that works for
 Tails. To make it into a proper, robust fix we'd need at least the
 following additions:

 * Support for IPv6 bridges. Currently a naive regex is used to detect the
 IPv4 address part of the bridge line (so we can determine the transport
 plugin part, if it exists) which is fine in Tails, since we only do IPv4.
 If possible a real IPv{4,6} validator should be used instead of some cheap
 regexes but I have thus far failed to figure out if xulrunner provides
 anything like that.

 * The path to the pluggable transport proxy binary should be obtained
 using `_getTorFile()`, so a default path can be set like for the other TBB
 files used by Tor Launcher. Therefore `_getTorFile()` should be moved to
 the `tl-util` module. In my branch a working path must be set in
 `extensions.torlauncher.transportproxy_path` which clearly is
 insufficient.

 * Tor Launcher should disable the GUI controls when a mutually exclusive
 option is set, e.g., if a proxy is configured, one should not be able to
 select "Yes" in the bridge wizard page (and vice versa). It'd be helpful
 if an explanation was given too. My branch does not do this.

 * Tor Launcher should show a warning if an unsupported transport plugin is
 inputted by the user. My branch does not do this.

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


More information about the tor-bugs mailing list