[tor-bugs] #16255 [Tor]: Guardfraction on dirauths screws up bandwidth weights

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Jul 28 13:00:44 UTC 2015


#16255: Guardfraction on dirauths screws up bandwidth weights
-------------------------+-------------------------------------------------
     Reporter:  asn      |      Owner:
         Type:  defect   |     Status:  needs_review
     Priority:  normal   |  Milestone:  Tor: 0.2.7.x-final
    Component:  Tor      |    Version:
   Resolution:           |   Keywords:  tor-dirauth tor-guard,
Actual Points:           |  TorCoreTeam201507
       Points:           |  Parent ID:
-------------------------+-------------------------------------------------
Changes (by asn):

 * status:  new => needs_review


Comment:

 OK, I now have a branch `bug16255_027` which addresses the issues I found.

 Specifically:

 - We used to mess up the calculation of total bandwidth `T` when
 guardfraction relays were considered. That's because we only updated `T`
 with the guard bandwidth, and ignored the non-guard bandwidth. This should
 be addressed in commit `79f6c49` and should fix the `Bw Weight Failure`
 errors that blocked consensus weight creation.

 - As authorities we used to throw warnings when verifying the bandwidths
 of our own consensus, because we did not first apply the guardfraction
 information. This commit fixes this by applying the guardfraction
 information when parsing consensuses as authorities.

 We should probably get this applied to most of authorities before turning
 the feature on again.

 I also prepared a backport branch for 0.2.6 diruahts `bug16255_026` that
 only includes the first fix (which is very small), and can be used if we
 want to try this feature on faster. Consensus weights should work with the
 backport branch, but the authorities will issue a warning when verifying
 their own consensus.

 In general, it's a PITA testing bandwidth-related features with chutney
 because the bandwidth values in a test network are nothing compared to
 reality. Even without the above fixes, sometimes my chutney network will
 generate consensus weights because the bandwidth values are so low it
 doesn't even notice the `T` weight being off.

 I'd appreciate a good review here and also pointer to other places in the
 guardfraction design that could cause failures.

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


More information about the tor-bugs mailing list