summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-11-09Merge branch 'ticket20895'Nick Mathewson
2017-11-09Merge branch 'maint-0.3.2'Nick Mathewson
2017-11-09Merge branch 'bug23985_029' into maint-0.3.2Nick Mathewson
2017-11-09Merge branch 'maint-0.3.2'Nick Mathewson
2017-11-09Re-remove AllowDotExit deprecation.Nick Mathewson
This was accidentally reintroduced in 5a46074e55. It should be harmless, though: the option is obsolete, so calling it deprecated is redundant.
2017-11-08forward-port the 0.3.2.4-alpha changelog.Nick Mathewson
2017-11-08Merge branch 'maint-0.3.2'Nick Mathewson
"ours" merge to avoid version bump.
2017-11-08bump to 0.3.2.4-alpha-devNick Mathewson
2017-11-08Merge branch 'maint-0.3.2'Nick Mathewson
2017-11-08Merge remote-tracking branch 'dgoulet/bug24186_032_01' into maint-0.3.2Nick Mathewson
2017-11-08dirauth: Recalculate voting schedule at first voteDavid Goulet
Commit e67f4441eb2646368e3e7cb1bcee403667b786f0 introduced a safeguard against using an uninitialized voting schedule object. However, the dirvote_act() code was looking roughly at the same thing to know if it had to compute the timings before voting with this condition: if (!voting_schedule.voting_starts) { ... dirvote_recalculate_timing(options, now); } The sr_init() function is called very early and goes through the safeguard thus the voting schedule is always initilized before the first vote. That first vote is a crucial one because we need to have our voting schedule aligned to the "now" time we are about to use for voting. Then, the schedule is updated when we publish our consensus or/and when we set a new consensus. From that point on, we only want to update the voting schedule through that code flow. This "created_on_demand" is indicating that the timings have been recalculated on demand by another subsystem so if it is flagged, we know that we need to ignore its values before voting. Fixes #24186 Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-11-08Merge branch 'maint-0.3.2'Nick Mathewson
2017-11-08Merge remote-tracking branch 'dgoulet/ticket24134_032_01' into maint-0.3.2Nick Mathewson
2017-11-08Don't delay descriptor fetches when missing info needed for circuitsNick Mathewson
When we have fewer than 15 descriptors to fetch, we will delay the fetch for a little while. That's fine, if we can go ahead and build circuits... but if not, it's a poor choice indeed. Fixes bug 23985; bugfix on 0.1.1.11-alpha. In 0.3.0.3-alpha, when we made primary guard descriptors necessary for circuit building, this situation got worse.
2017-11-08downgrade severity for get_voting_schedule()Nick Mathewson
2017-11-08Merge branch 'maint-0.3.2'Nick Mathewson
2017-11-08Merge remote-tracking branch 'dgoulet/bug23751_032_01' into maint-0.3.2Nick Mathewson
2017-11-08Merge branch 'bug23318-redux_029' into maint-0.3.2Nick Mathewson
2017-11-08Stop calculating total twice in frac_nodes_with_descriptors()teor
Cleanup after 23318.
2017-11-08Check arguments and initialise variables in compute_weighted_bandwidths()teor
Cleanup after 23318.
2017-11-08Actually log the total bandwidth in compute_weighted_bandwidths()teor
Fixes bug 24170; bugfix on 0.2.4.3-alpha.
2017-11-08Use node counts in networks with all zero-bandwidthsteor
When calculating the fraction of nodes that have descriptors, and all all nodes in the network have zero bandwidths, count the number of nodes instead. Fixes bug 23318; bugfix on 0.2.4.10-alpha.
2017-11-08Remove an erroneous 0.5 in compute_weighted_bandwidths()Nick Mathewson
Back in 0.2.4.3-alpha (e106812a778f537), when we switched from using double to using uint64 for selecting by bandwidth, I got the math wrong: I should have used llround(x), or (uint64_t)(x+0.5), but instead I wrote llround(x+0.5). That means we would always round up, rather than rounding to the closest integer Fixes bug 23318; bugfix on 0.2.4.3-alpha.
2017-11-08doc: Put the release timeline link in READMEDavid Goulet
Closes #24134 Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-11-08sched: Ignore closed channel after flushing cellsDavid Goulet
The flush cells process can close a channel if the connection write fails but still return that it flushed at least one cell. This is due because the error is not propagated up the call stack so there is no way of knowing if the flush actually was successful or not. Because this would require an important refactoring touching multiple subsystems, this patch is a bandaid to avoid the KIST scheduler to handle closed channel in its loop. Bandaid on #23751. Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-11-08Merge branch 'maint-0.3.2'Nick Mathewson
2017-11-08Merge branch 'bug23816_029_squashed' into maint-0.3.2Nick Mathewson
2017-11-08Replace our random-exponential-delay algorithm.Nick Mathewson
This patch has implementations of the "decorrelated" and "full" algorithms from https://www.awsarchitectureblog.com/2015/03/backoff.html
2017-11-07Merge branch 'maint-0.3.2'Nick Mathewson
2017-11-07Revert "Remove an erroneous 0.5 in compute_weighted_bandwidths()"Nick Mathewson
This reverts commit 01e984870a7e1db2722e85fe43af7bcb4755c2d4.
2017-11-07Merge branch 'maint-0.3.2'Nick Mathewson
2017-11-07Merge remote-tracking branch 'dgoulet/bug24161_032_01' into maint-0.3.2Nick Mathewson
2017-11-07Merge branch 'maint-0.3.2'Nick Mathewson
"ours" merge to avoid version bump.
2017-11-07Bump to 0.3.2.4-alphaNick Mathewson
2017-11-07Add a safe guard to avoid using a zeroed voting scheduleDavid Goulet
dirvote_get_next_valid_after_time() is the only public function that uses the voting schedule outside of the dirvote subsystem so if it is zeroed, recalculate its timing if we can that is if a consensus exists. Part of #24161 Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-11-07Recalculate voting schedule first when getting a new consensusDavid Goulet
Because the HS and SR subsystems can use the voting schedule early (with the changes in #23623 making the SR subsystem using the static voting schedule object), we need to recalculate the schedule very early when setting the new consensus. Fixes #24161 Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-11-07Merge branch 'maint-0.3.2'Nick Mathewson
2017-11-07Merge remote-tracking branch 'asn/ticket23623_032_01' into maint-0.3.2Nick Mathewson
2017-11-07Add changes file for #23623.George Kadianakis
2017-11-06Merge branch 'maint-0.3.2'Nick Mathewson
2017-11-06Merge branch 'bug24150_032_squashed' into maint-0.3.2Nick Mathewson
2017-11-06Fix a memory leak on decryption non-failure of v3 hsdescNick Mathewson
If it decrypts something that turns out to start with a NUL byte, then decrypt_desc_layer() will return 0 to indicate the length of its result. But 0 also indicates an error, which causes the result not to be freed by decrypt_desc_layer()'s callers. Since we're trying to stabilize 0.3.2.x, I've opted for the simpler possible fix here and made it so that an empty decrypted string will also count as an error. Fixes bug 24150 and OSS-Fuzz issue 3994. The original bug was present but unreachable in 0.3.1.1-alpha. I'm calling this a bugfix on 0.3.2.1-alpha since that's the first version where you could actually try to decrypt these descriptors.
2017-11-06Merge branch 'maint-0.3.2'Nick Mathewson
2017-11-06Fix a 32-bit formatting warningNick Mathewson
2017-11-06Merge remote-tracking branch 'atagar/manual'Nick Mathewson
2017-11-06Merge remote-tracking branch 'dgoulet/bug24053_033_01'Nick Mathewson
2017-11-06Merge branch 'maint-0.3.2'Nick Mathewson
2017-11-06Merge remote-tracking branch 'public/bug23318_029' into maint-0.3.2Nick Mathewson
2017-11-05Fix manual formattingDamian Johnson
Few issues... * Malformed ReducedExitPolicy, causing brackets to appear. * ExitPolicyDefault wasn't actually listed, instead it munged the description into the ExitPolicy description. * Extra plus signs in the ExitPolicy and ReducedExitPolicy entries. After an hour of struggling with asciidoc couldn't figure out how to format it as 'paragraph => example => paragraph with same indentation' so just rearranging the ExitPolicy entry. Patches welcome if someone strongly prefers having the paragraph after the example. https://trac.torproject.org/projects/tor/ticket/24147
2017-11-05Merge branch 'maint-0.3.2'Nick Mathewson