[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