[tor-bugs] #2355 [Tor Bridge]: change the meaning of UseBridges

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Fri Apr 15 19:53:00 UTC 2011


#2355: change the meaning of UseBridges
---------------------------------+------------------------------------------
    Reporter:  anonym            |        Type:  enhancement
      Status:  needs_review      |    Priority:  minor      
   Milestone:  Tor: unspecified  |   Component:  Tor Bridge 
     Version:                    |    Keywords:             
      Parent:                    |      Points:             
Actualpoints:                    |  
---------------------------------+------------------------------------------

Comment(by anonym):

 In my patch I made it so that Tor will abandon all previous circuits when
 the bridge settings are changed. This makes sense since Tor then will
 start/stop using bridges quickly. This is done just like it is done for
 changed settings for !EntryGuards, Exclude*Nodes, etc, i.e.:

 {{{
 #!c
     circuit_mark_all_unused_circs();
     circuit_expire_all_dirty_circs();
 }}}

 However, using the above, circuits that handle streams are not closed
 until their streams are closed, which is especially outstanding with long-
 liveed streams like SSH/IRC. At least these left-over circuits will not be
 used for any new streams, but they show up in Tor controllers such as
 Vidalia and arm, and will most likely confuse users, and I believe it is
 important to avoid that.

 What is the right thing to do here? I guess it all boils down to what the
 user expects. Does the user expect long-lived connections to continue
 using old circuits that the user has instructed should not be used any
 more (and will the general user understand the concepts relating to this)?
 I personally do not expect that, and would like a more ruthless circuit
 killer. Maybe something like this (in circlist.c):

 {{{
 #!c
 /* Closes all circuits. */
 void
 circuit_kill_all_circs(void)
 {
   circuit_t *circ;

  for (circ=global_circuitlist; circ; circ = circ->next) {
    if (CIRCUIT_IS_ORIGIN(circ) && !circ->marked_for_close)
      circuit_mark_for_close(circ, END_CIRC_REASON_FINISHED);
  }
 }
 }}}

 The question is what general users expect, though. Also, since this new
 behaviour would kill all streams, any long-lived sessions would be lost.
 Are users expecting that? Given the context, i.e. changing
 bridge/EntryGuard/Exclude*Nodes/etc, perhaps it is expectable that Tor
 will do drastic things?

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


More information about the tor-bugs mailing list