[tor-bugs] #19069 [Core Tor/Tor]: When DisableNetwork is 1 but !circuit_enough_testing_circs(), we can still launch circuits

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon May 16 22:08:42 UTC 2016


#19069: When DisableNetwork is 1 but !circuit_enough_testing_circs(), we can still
launch circuits
------------------------------+--------------------------
     Reporter:  arma          |      Owner:
         Type:  defect        |     Status:  new
     Priority:  Medium        |  Milestone:  Tor: 0.2.???
    Component:  Core Tor/Tor  |    Version:
     Severity:  Normal        |   Keywords:
Actual Points:                |  Parent ID:
       Points:                |   Reviewer:
      Sponsor:                |
------------------------------+--------------------------
 In consider_testing_reachability(), we check
 {{{
   if (test_or && (!orport_reachable || !circuit_enough_testing_circs())) {
 }}}

 Once #18616 is merged, the first function will return 1 for
 orport_reachable when DisableNetwork is 1, so that bug will go away.

 But it will remain the case that if !circuit_enough_testing_circs(), we
 will proceed to call circuit_launch_by_extend_info(), even when
 DisableNetwork is 1.

 There are four places that call consider_testing_reachability():
 * circuitbuild.c:circuit_send_next_onion_skin()
 * circuituse.c:circuit_testing_opened()
 * main.c:directory_info_has_arrived()
 * main.c:check_for_reachability_bw_callback()

 I think the middle two are safe, since they shouldn't happen while
 DisableNetwork is set.

 I think the first one is iffy, since it's called from a bunch of places so
 I'm not sure, but given the name I hope it doesn't get called during
 DisableNetwork.

 And I think the fourth one is bad news, since it gets called periodically
 and doesn't check DisableNetwork.

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


More information about the tor-bugs mailing list