[tor-bugs] #15713 [Tor]: toggling DisableNetwork during bootstrap causes delay

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Apr 17 14:31:58 UTC 2015


#15713: toggling DisableNetwork during bootstrap causes delay
--------------------+------------------------------
 Reporter:  mcs     |          Owner:
     Type:  defect  |         Status:  new
 Priority:  normal  |      Milestone:
Component:  Tor     |        Version:  Tor: 0.2.6.6
 Keywords:          |  Actual Points:
Parent ID:          |         Points:
--------------------+------------------------------
 While testing a fix for #11879, Kathy and I noticed that if the bootstrap
 process is interrupted by setting DisableNetwork=1 via the control port,
 Tor waits about a minute after DisableNetwork is set back to 0 before
 continuing network activity.  We observed this problem on a Mac OS 10.8.5
 system.  Possibly related tickets: #9229, #11069.

 Once release candidates for Tor Browser 4.5 are available, this should be
 reproducible by following these steps:
 1. Start Tor Browser and click "Connect".
 2. Click "Open Settings" in the connection progress window to interrupt
 the bootstrap process.
 3. Click "Connect" again.  Notice that there is a delay before the
 bootstrap makes more progress.

 We are also able to reproduce it using Tor 0.2.6.6 and a manual (telnet)
 control port connection.  Follow these steps (control port authentication
 is up to you):
 1. Remove all cached Tor data and start Tor like this:
 {{{./tor --defaults-torrc torrc-defaults -f torrc DisableNetwork 1}}}
 2. Make a control port connection and issue this command:
 {{{SETCONF DisableNetwork=0}}}
 3. Wait for bootstrapping to reach 25-50% and then do:
 {{{SETCONF DisableNetwork=1}}}
 4. Re-enable network access:
 {{{SETCONF DisableNetwork=0}}}  Notice that there is a delay before the
 bootstrap makes more progress.

 We used the torrc-defaults file that ships with Tor Browser 4.5a5:
 {{{
 # If non-zero, try to write to disk less frequently than we would
 otherwise.
 AvoidDiskWrites 1
 # Where to send logging messages.  Format is minSeverity[-maxSeverity]
 # (stderr|stdout|syslog|file FILENAME).
 Log notice stdout
 # Bind to this address to listen to connections from SOCKS-speaking
 # applications.
 SocksPort 9150
 ControlPort 9151
 CookieAuthentication 1
 ## fteproxy configuration
 ClientTransportPlugin fte exec PluggableTransports/fteproxy.bin --managed

 ## obfs4proxy configuration
 ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec
 PluggableTransports/obfs4proxy

 ## flash proxy configuration
 #
 # Change the second number here (9000) to the number of a port that can
 # receive connections from the Internet (the port for which you
 # configured port forwarding).
 ClientTransportPlugin flashproxy exec PluggableTransports/flashproxy-
 client --register :0 :9000

 ## meek configuration
 ClientTransportPlugin meek exec PluggableTransports/meek-client-torbrowser
 -- PluggableTransports/meek-client
 }}}

 Our torrc is also from Tor Browser and it just contains a few paths:
 {{{
 DataDirectory /Users/.../tb-11879.app/TorBrowser/Data/Tor
 GeoIPFile /Users/.../tb-11879.app/TorBrowser/Data/Tor/geoip
 GeoIPv6File /Users/.../tb-11879.app/TorBrowser/Data/Tor/geoip6
 }}}

 I will attach some log output.

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


More information about the tor-bugs mailing list