[tor-bugs] #1757 [Tor Client]: Microdescriptors: abstract the notion of "Tor node" in the code

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Tue Sep 28 04:51:45 UTC 2010


#1757: Microdescriptors: abstract the notion of "Tor node" in the code
------------------------+---------------------------------------------------
 Reporter:  nickm       |       Owner:                     
     Type:  task        |      Status:  new                
 Priority:  normal      |   Milestone:  Deliverable-Sep2010
Component:  Tor Client  |     Version:                     
 Keywords:              |      Parent:  #1748              
------------------------+---------------------------------------------------

Comment(by nickm):

 Working on this one.  The hard part is that there is too much mutable-flag
 stuff split and shared between routerinfo_t and routerstatus_t.  Nearly
 all mutable stuff needs to move to node_t.  (The alternative, adding a
 third copy of all the mutable flag stuff into microdesc_t, is too awful to
 contemplate.)

 So, the plan becomes:
   * Add node_t as a wrapper around routerinfo_t, and routerstatus_t.  A
 node_t is "A node we could use in a circuit."
   * Have node_ts exist whenever we have a routerstatus_t in our favored
 consensus, or a routerinfo_t.
   * Move mutable flags and other fields from routerinfo_t into node_t.
   * DO NOT move document-management flags from routerinfo_t into node_t
   * Make is_foo flags in routerstatus_t as immutable as we can.
   * When making decisions about what nodes to use, base them on node_t.
 This should simplify the choose-a-node code a little.
   * Add a microdesc_t backend for node_t.  If we've designed it right,
 this is easy.

 Part done.  The design is the hard part, one hopes.  The rest: "just a
 simple matter of programming."

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


More information about the tor-bugs mailing list