[tor-bugs] #16943 [Core Tor/Tor]: Implement prop250 (Random Number Generation During Tor Voting)

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


#16943: Implement prop250 (Random Number Generation During Tor Voting)
---------------------------------------+-----------------------------------
 Reporter:  asn                        |          Owner:  dgoulet
     Type:  enhancement                |         Status:  needs_revision
 Priority:  High                       |      Milestone:  Tor:
Component:  Core Tor/Tor               |  0.2.9.x-final
 Severity:  Normal                     |        Version:
 Keywords:  tor-hs, TorCoreTeam201605  |     Resolution:
Parent ID:  #8244                      |  Actual Points:
 Reviewer:  nickm                      |         Points:  large
                                       |        Sponsor:  SponsorR-must
---------------------------------------+-----------------------------------

Comment (by teor):

 T8: In networkstatus_parse_vote_from_string(), we check if it's a vote,
 then check K_SR_FLAG, then parse commits and reveals. But we don't do the
 same for SRVs. What if buggy authorities include SRVs in their vote
 without the K_SR_FLAG? What if a consensus includes SRVs without the SR
 flag?

 Can we be consistent, and check the SR flag, then parse commits and SRVs
 as appropriate?
 {{{
   /* If this is a vote document, check if information about the shared
      randomness protocol is included, and extract it. */
   if (ns->type == NS_TYPE_VOTE) {
     /* Does this authority participates in the SR protocol? */
     tok = find_opt_by_keyword(tokens, K_SR_FLAG);
     if (tok) {
       ns->sr_info.participate = 1;
       /* Get the SR commitments and reveals from the vote. */
       if (extract_shared_random_commits(ns, tokens) < 0) {
         log_warn(LD_DIR, "SR: Unable to parse commits in vote.");
         goto err;
       }
     }
   }
   /* For both a vote and consensus, extract the shared random values. */
   if (ns->type != NS_TYPE_OPINION) {
     if (extract_shared_random_srvs(ns, tokens) < 0) {
       log_warn(LD_DIR, "SR: Unable to parse SRV(s)");
       goto err;
     }
   }
 }}}

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


More information about the tor-bugs mailing list