summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-11-08re-flow the changelogtor-0.3.2.4-alphaNick Mathewson
2017-11-08minor updates on upcoming changelogRoger Dingledine
2017-11-08Merge branch 'maint-0.3.2' into release-0.3.2Nick 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-08typo fix: closes 24185Nick Mathewson
2017-11-08Merge branch 'maint-0.3.2' into release-0.3.2Nick Mathewson
2017-11-08Merge remote-tracking branch 'dgoulet/ticket24134_032_01' into maint-0.3.2Nick Mathewson
2017-11-08downgrade severity for get_voting_schedule()Nick Mathewson
2017-11-08fold new entries into changelogNick Mathewson
2017-11-08Merge branch 'maint-0.3.2' into release-0.3.2Nick 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-08small edits to changelogNick Mathewson
2017-11-08start on 0.3.2.4-alpha changelogNick Mathewson
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' into release-0.3.2Nick 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' into release-0.3.2Nick 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' into release-0.3.2Nick 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' into release-0.3.2Nick Mathewson
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' into release-0.3.2Nick 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' into release-0.3.2Nick 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' into release-0.3.2Nick Mathewson
2017-11-06Fix a 32-bit formatting warningNick Mathewson
2017-11-06Merge branch 'maint-0.3.2' into release-0.3.2Nick Mathewson
2017-11-06Merge remote-tracking branch 'public/bug23318_029' into maint-0.3.2Nick Mathewson
2017-11-05Merge branch 'maint-0.3.2' into release-0.3.2Nick Mathewson
2017-11-05lintchanges: Allow 'fixes bugs a, b, and c'Nick Mathewson
2017-11-05Merge branch 'bug21394_029' into maint-0.3.2Nick Mathewson
2017-11-05Fix DNS resolution on busy exit relaysSebastian Hahn
Thanks to Dhalgren who analyzed this issue two years ago and found a solution!
2017-11-05Merge branch 'maint-0.3.2' into release-0.3.2Nick Mathewson
2017-11-05ticket21031 changes file revised.Nick Mathewson
2017-11-04ClientDNSRejectInternalAddresses in non-default networksSebastian Hahn
Once again allow the flag to be set, unless the default network is used. Thanks to nickm for a suggestion for the workaround to a test failure.