[tor-bugs] #24377 [Core Tor/Tor]: Warn about networkstatus_compute_consensus() breakage in all the functions it calls

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Nov 21 20:54:28 UTC 2017


#24377: Warn about networkstatus_compute_consensus() breakage in all the functions
it calls
------------------------------+------------------------------------
     Reporter:  teor          |      Owner:  (none)
         Type:  defect        |     Status:  new
     Priority:  Medium        |  Milestone:  Tor: 0.3.3.x-final
    Component:  Core Tor/Tor  |    Version:
     Severity:  Normal        |   Keywords:  doc, automation-needed
Actual Points:                |  Parent ID:
       Points:  2             |   Reviewer:
      Sponsor:                |
------------------------------+------------------------------------
 networkstatus_compute_consensus() says:
 {{{
  * <strong>WATCH OUT</strong>: You need to think before you change the
  * behavior of this function, or of the functions it calls! If some
  * authorities compute the consensus with a different algorithm than
  * others, they will not reach the same result, and they will not all
  * sign the same thing!  If you really need to change the algorithm
  * here, you should allocate a new "consensus_method" for the new
  * behavior, and make the new behavior conditional on a new-enough
  * consensus_method.
 }}}

 But its call graph is somewhat obscure, and it isn't always clear when a
 function is called by some tree of functions called by
 networkstatus_compute_consensus().

 Let's add a summary comment to each function that affects
 networkstatus_compute_consensus() output. And let's try to do this in an
 automated fashion.

 Maybe out modularity proposal is the best way to handle this?
 (Then a module-level comment would suffice.)
 But would consensus-affecting functions be a good candidate for a module?
 (Or two modules: authority-only and shared.)

 (We already have chutney "mixed" targets that pick up the most obvious
 breakage. But they can't test everything.)

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


More information about the tor-bugs mailing list