]> git.ipfire.org Git - thirdparty/tor.git/log
thirdparty/tor.git
8 years agoRe-remove AllowDotExit deprecation.
Nick Mathewson [Thu, 9 Nov 2017 12:58:27 +0000 (07:58 -0500)] 
Re-remove AllowDotExit deprecation.

This was accidentally reintroduced in 5a46074e55.  It should be
harmless, though: the option is obsolete, so calling it deprecated
is redundant.

8 years agobump to 0.3.2.4-alpha-dev
Nick Mathewson [Wed, 8 Nov 2017 21:44:53 +0000 (16:44 -0500)] 
bump to 0.3.2.4-alpha-dev

8 years agoMerge remote-tracking branch 'dgoulet/bug24186_032_01' into maint-0.3.2
Nick Mathewson [Wed, 8 Nov 2017 19:49:16 +0000 (14:49 -0500)] 
Merge remote-tracking branch 'dgoulet/bug24186_032_01' into maint-0.3.2

8 years agodirauth: Recalculate voting schedule at first vote
David Goulet [Wed, 8 Nov 2017 19:36:04 +0000 (14:36 -0500)] 
dirauth: Recalculate voting schedule at first vote

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>
8 years agoMerge remote-tracking branch 'dgoulet/ticket24134_032_01' into maint-0.3.2
Nick Mathewson [Wed, 8 Nov 2017 18:26:46 +0000 (13:26 -0500)] 
Merge remote-tracking branch 'dgoulet/ticket24134_032_01' into maint-0.3.2

8 years agodowngrade severity for get_voting_schedule()
Nick Mathewson [Wed, 8 Nov 2017 16:50:57 +0000 (11:50 -0500)] 
downgrade severity for get_voting_schedule()

8 years agoMerge remote-tracking branch 'dgoulet/bug23751_032_01' into maint-0.3.2
Nick Mathewson [Wed, 8 Nov 2017 15:56:33 +0000 (10:56 -0500)] 
Merge remote-tracking branch 'dgoulet/bug23751_032_01' into maint-0.3.2

8 years agoMerge branch 'bug23318-redux_029' into maint-0.3.2
Nick Mathewson [Wed, 8 Nov 2017 15:47:22 +0000 (10:47 -0500)] 
Merge branch 'bug23318-redux_029' into maint-0.3.2

8 years agoStop calculating total twice in frac_nodes_with_descriptors()
teor [Wed, 8 Nov 2017 03:18:46 +0000 (14:18 +1100)] 
Stop calculating total twice in frac_nodes_with_descriptors()

Cleanup after 23318.

8 years agoCheck arguments and initialise variables in compute_weighted_bandwidths()
teor [Wed, 8 Nov 2017 03:17:37 +0000 (14:17 +1100)] 
Check arguments and initialise variables in compute_weighted_bandwidths()

Cleanup after 23318.

8 years agoActually log the total bandwidth in compute_weighted_bandwidths()
teor [Wed, 8 Nov 2017 03:17:03 +0000 (14:17 +1100)] 
Actually log the total bandwidth in compute_weighted_bandwidths()

Fixes bug 24170; bugfix on 0.2.4.3-alpha.

8 years agoUse node counts in networks with all zero-bandwidths
teor [Wed, 8 Nov 2017 03:09:50 +0000 (14:09 +1100)] 
Use node counts in networks with all zero-bandwidths

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.

8 years agoRemove an erroneous 0.5 in compute_weighted_bandwidths()
Nick Mathewson [Fri, 22 Sep 2017 19:29:15 +0000 (15:29 -0400)] 
Remove an erroneous 0.5 in compute_weighted_bandwidths()

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.

8 years agodoc: Put the release timeline link in README
David Goulet [Wed, 8 Nov 2017 15:44:00 +0000 (10:44 -0500)] 
doc: Put the release timeline link in README

Closes #24134

Signed-off-by: David Goulet <dgoulet@torproject.org>
8 years agosched: Ignore closed channel after flushing cells
David Goulet [Wed, 8 Nov 2017 14:44:39 +0000 (09:44 -0500)] 
sched: Ignore closed channel after flushing cells

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>
8 years agoMerge branch 'bug23816_029_squashed' into maint-0.3.2
Nick Mathewson [Wed, 8 Nov 2017 13:11:22 +0000 (08:11 -0500)] 
Merge branch 'bug23816_029_squashed' into maint-0.3.2

8 years agoReplace our random-exponential-delay algorithm.
Nick Mathewson [Tue, 17 Oct 2017 17:24:40 +0000 (13:24 -0400)] 
Replace our random-exponential-delay algorithm.

This patch has implementations of the "decorrelated" and "full"
algorithms from https://www.awsarchitectureblog.com/2015/03/backoff.html

8 years agoRevert "Remove an erroneous 0.5 in compute_weighted_bandwidths()"
Nick Mathewson [Wed, 8 Nov 2017 01:35:19 +0000 (20:35 -0500)] 
Revert "Remove an erroneous 0.5 in compute_weighted_bandwidths()"

This reverts commit 01e984870a7e1db2722e85fe43af7bcb4755c2d4.

8 years agoMerge remote-tracking branch 'dgoulet/bug24161_032_01' into maint-0.3.2
Nick Mathewson [Tue, 7 Nov 2017 19:00:18 +0000 (14:00 -0500)] 
Merge remote-tracking branch 'dgoulet/bug24161_032_01' into maint-0.3.2

8 years agoBump to 0.3.2.4-alpha
Nick Mathewson [Tue, 7 Nov 2017 18:22:27 +0000 (13:22 -0500)] 
Bump to 0.3.2.4-alpha

8 years agoAdd a safe guard to avoid using a zeroed voting schedule
David Goulet [Tue, 7 Nov 2017 16:14:45 +0000 (11:14 -0500)] 
Add a safe guard to avoid using a zeroed voting schedule

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>
8 years agoRecalculate voting schedule first when getting a new consensus
David Goulet [Tue, 7 Nov 2017 16:08:12 +0000 (11:08 -0500)] 
Recalculate voting schedule first when getting a new consensus

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>
8 years agoMerge remote-tracking branch 'asn/ticket23623_032_01' into maint-0.3.2
Nick Mathewson [Tue, 7 Nov 2017 14:58:42 +0000 (09:58 -0500)] 
Merge remote-tracking branch 'asn/ticket23623_032_01' into maint-0.3.2

8 years agoAdd changes file for #23623.
George Kadianakis [Mon, 6 Nov 2017 22:28:14 +0000 (00:28 +0200)] 
Add changes file for #23623.

8 years agoMerge branch 'bug24150_032_squashed' into maint-0.3.2
Nick Mathewson [Mon, 6 Nov 2017 17:59:23 +0000 (12:59 -0500)] 
Merge branch 'bug24150_032_squashed' into maint-0.3.2

8 years agoFix a memory leak on decryption non-failure of v3 hsdesc
Nick Mathewson [Sun, 5 Nov 2017 17:21:16 +0000 (12:21 -0500)] 
Fix a memory leak on decryption non-failure of v3 hsdesc

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.

8 years agoFix a 32-bit formatting warning
Nick Mathewson [Mon, 6 Nov 2017 15:16:10 +0000 (10:16 -0500)] 
Fix a 32-bit formatting warning

8 years agoMerge remote-tracking branch 'public/bug23318_029' into maint-0.3.2
Nick Mathewson [Mon, 6 Nov 2017 14:48:51 +0000 (09:48 -0500)] 
Merge remote-tracking branch 'public/bug23318_029' into maint-0.3.2

8 years agolintchanges: Allow 'fixes bugs a, b, and c'
Nick Mathewson [Sun, 5 Nov 2017 19:41:39 +0000 (14:41 -0500)] 
lintchanges: Allow 'fixes bugs a, b, and c'

8 years agoMerge branch 'bug21394_029' into maint-0.3.2
Nick Mathewson [Sun, 5 Nov 2017 19:39:37 +0000 (14:39 -0500)] 
Merge branch 'bug21394_029' into maint-0.3.2

8 years agoFix DNS resolution on busy exit relays
Sebastian Hahn [Fri, 3 Nov 2017 02:06:12 +0000 (03:06 +0100)] 
Fix DNS resolution on busy exit relays

Thanks to Dhalgren who analyzed this issue two years ago and found a
solution!

8 years agoticket21031 changes file revised.
Nick Mathewson [Sun, 5 Nov 2017 19:09:07 +0000 (14:09 -0500)] 
ticket21031 changes file revised.

8 years agoClientDNSRejectInternalAddresses in non-default networks
Sebastian Hahn [Sat, 4 Nov 2017 15:37:41 +0000 (16:37 +0100)] 
ClientDNSRejectInternalAddresses in non-default networks

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.

8 years agoUndo deprecation of ClientDNSRejectInternalAddresses
Sebastian Hahn [Sat, 4 Nov 2017 15:24:52 +0000 (16:24 +0100)] 
Undo deprecation of ClientDNSRejectInternalAddresses

8 years agoRevert "Make ClientDNSRejectInternalAddresses testing-only."
Sebastian Hahn [Fri, 3 Nov 2017 22:00:27 +0000 (23:00 +0100)] 
Revert "Make ClientDNSRejectInternalAddresses testing-only."

This reverts commit 27fa4a98d23972213122fa99499efa4baebe49e3.

8 years agonodelist: Downgrade warning to protocol warning
David Goulet [Wed, 1 Nov 2017 16:15:15 +0000 (12:15 -0400)] 
nodelist: Downgrade warning to protocol warning

The node_get_ed25519_id() warning can actually be triggered by a relay flagged
with NoEdConsensus so instead of triggering a warning on all relays of the
network, downgrade it to protocol warning.

Fixes #24025

Signed-off-by: David Goulet <dgoulet@torproject.org>
8 years agoMerge branch 'dgoulet_ticket23753_032_02_squashed' into maint-0.3.2
Nick Mathewson [Thu, 2 Nov 2017 14:30:42 +0000 (10:30 -0400)] 
Merge branch 'dgoulet_ticket23753_032_02_squashed' into maint-0.3.2

8 years agosched: Rate limit scheduler_bug_occurred()
David Goulet [Thu, 26 Oct 2017 18:44:44 +0000 (14:44 -0400)] 
sched: Rate limit scheduler_bug_occurred()

Just in case we end up hitting a SCHED_BUG() multiple times, rate limit the
log warning.

Signed-off-by: David Goulet <dgoulet@torproject.org>
8 years agosched: Add another SCHED_BUG() callsite
Matt Traudt [Tue, 3 Oct 2017 20:48:35 +0000 (16:48 -0400)] 
sched: Add another SCHED_BUG() callsite

8 years agosched: Use SCHED_BUG() macro in scheduler
David Goulet [Tue, 3 Oct 2017 18:38:30 +0000 (14:38 -0400)] 
sched: Use SCHED_BUG() macro in scheduler

When a BUG() occurs, this macro will print extra information about the state
of the scheduler and the given channel if any. This will help us greatly to
fix future bugs in the scheduler especially when they occur rarely.

Fixes #23753

Signed-off-by: David Goulet <dgoulet@torproject.org>
8 years agoTest that IPv6-only clients can use microdescriptors
teor [Wed, 1 Nov 2017 06:13:07 +0000 (17:13 +1100)] 
Test that IPv6-only clients can use microdescriptors

When running "make test-network-all", test that IPv6-only clients can use
microdescriptors. IPv6-only microdescriptor client support was fixed in
tor 0.3.0.1-alpha.

Requires chutney master 61c28b9 or later.

Closes ticket 24109.

8 years agoTweak a comment for a minor but important distinction
Nick Mathewson [Thu, 2 Nov 2017 14:22:32 +0000 (10:22 -0400)] 
Tweak a comment for a minor but important distinction

8 years agoMerge branch 'ticket23820_032_01_squashed' into maint-0.3.2
Nick Mathewson [Thu, 2 Nov 2017 14:19:29 +0000 (10:19 -0400)] 
Merge branch 'ticket23820_032_01_squashed' into maint-0.3.2

8 years agoChanges file for 23820
teor [Thu, 26 Oct 2017 06:25:16 +0000 (17:25 +1100)] 
Changes file for 23820

8 years agoDon't run IPv6-only v3 single onion service tests using chutney
teor [Thu, 26 Oct 2017 05:51:04 +0000 (16:51 +1100)] 
Don't run IPv6-only v3 single onion service tests using chutney

Part of #23820.

8 years agoStop users configuring IPv6-only v3 single onion services
teor [Thu, 26 Oct 2017 05:49:00 +0000 (16:49 +1100)] 
Stop users configuring IPv6-only v3 single onion services

They are not yet implemented: they will upload descriptors, but won't be
able to rendezvous, because IPv6 addresses in link specifiers are ignored.

Part of #23820.

8 years agoImprove v3 onion service logging for intro and rend points
teor [Thu, 26 Oct 2017 05:48:02 +0000 (16:48 +1100)] 
Improve v3 onion service logging for intro and rend points

Diagnostics for #23820.

8 years agoRemove buggy IPv6 and ed25519 handling from get_lspecs_from_extend_info()
teor [Thu, 26 Oct 2017 05:30:24 +0000 (16:30 +1100)] 
Remove buggy IPv6 and ed25519 handling from get_lspecs_from_extend_info()

The previous version of this function had the following issues:
* it didn't check if the extend_info contained an IPv6 address,
* it didn't check if the ed25519 identity key was valid.
But we can't add IPv6 support in a bugfix release.

Instead, BUG() if the address is an IPv6 address, so we always put IPv4
addresses in link specifiers. And ignore missing ed25519 identifiers,
rather than generating an all-zero link specifier.

This supports v3 hidden services on IPv4, dual-stack, and IPv6, and
v3 single onion services on IPv4 only.

Part of 23820, bugfix on 0.3.2.1-alpha.

8 years agoman: Specify HiddenServiceNumIntroductionPoints for v3
David Goulet [Wed, 1 Nov 2017 16:35:14 +0000 (12:35 -0400)] 
man: Specify HiddenServiceNumIntroductionPoints for v3

A v3 service can have between 0 and 20 intro points where v2 has 0 to 10.

Fixes #24115

Signed-off-by: David Goulet <dgoulet@torproject.org>
8 years agotest: Fix voting schedule for hs_service.c
David Goulet [Tue, 31 Oct 2017 18:48:27 +0000 (14:48 -0400)] 
test: Fix voting schedule for hs_service.c

Part of #23623

Signed-off-by: David Goulet <dgoulet@torproject.org>
8 years agotest: Fix voting schedule for hs_common.c
David Goulet [Tue, 31 Oct 2017 18:46:21 +0000 (14:46 -0400)] 
test: Fix voting schedule for hs_common.c

Part of #23623

Signed-off-by: David Goulet <dgoulet@torproject.org>
8 years agotest: Fix voting schedule for shared random
David Goulet [Tue, 31 Oct 2017 18:39:27 +0000 (14:39 -0400)] 
test: Fix voting schedule for shared random

Part of #23623

Signed-off-by: David Goulet <dgoulet@torproject.org>
8 years agoMerge branch 'bug24082_032' into maint-0.3.2
Nick Mathewson [Tue, 31 Oct 2017 18:31:21 +0000 (14:31 -0400)] 
Merge branch 'bug24082_032' into maint-0.3.2

8 years agodouble newline
Nick Mathewson [Tue, 31 Oct 2017 18:18:48 +0000 (14:18 -0400)] 
double newline

8 years agotest: Initialize the voting schedule in test_dir.c
David Goulet [Tue, 31 Oct 2017 18:07:41 +0000 (14:07 -0400)] 
test: Initialize the voting schedule in test_dir.c

Signed-off-by: David Goulet <dgoulet@torproject.org>
8 years agoMerge branch 'hsdescv3_fuzz_more' into maint-0.3.2
Nick Mathewson [Tue, 31 Oct 2017 18:04:31 +0000 (14:04 -0400)] 
Merge branch 'hsdescv3_fuzz_more' into maint-0.3.2

8 years agomake 23762 changes file pass check-changes
Nick Mathewson [Tue, 31 Oct 2017 16:19:39 +0000 (12:19 -0400)] 
make 23762 changes file pass check-changes

8 years agoMerge branch 'bug23762_032_02_squashed' into maint-0.3.2
Nick Mathewson [Tue, 31 Oct 2017 16:14:21 +0000 (12:14 -0400)] 
Merge branch 'bug23762_032_02_squashed' into maint-0.3.2

8 years agohs-v3: Attempt descriptor refetch when dirinfo changes
David Goulet [Wed, 4 Oct 2017 20:22:49 +0000 (16:22 -0400)] 
hs-v3: Attempt descriptor refetch when dirinfo changes

When the directory information changes, callback to the HS client subsystem so
it can check if any pending SOCKS connections are waiting for a descriptor. If
yes, attempt a refetch for those.

Fixes #23762

Signed-off-by: David Goulet <dgoulet@torproject.org>
8 years agoMerge branch 'maint-0.3.1' into maint-0.3.2
Nick Mathewson [Tue, 31 Oct 2017 15:43:14 +0000 (11:43 -0400)] 
Merge branch 'maint-0.3.1' into maint-0.3.2

8 years agoMerge branch 'maint-0.3.0' into maint-0.3.1
Nick Mathewson [Tue, 31 Oct 2017 15:43:14 +0000 (11:43 -0400)] 
Merge branch 'maint-0.3.0' into maint-0.3.1

8 years agoMerge branch 'maint-0.2.9' into maint-0.3.0
Nick Mathewson [Tue, 31 Oct 2017 15:43:14 +0000 (11:43 -0400)] 
Merge branch 'maint-0.2.9' into maint-0.3.0

8 years agoMerge remote-tracking branch 'public/bug23693_029' into maint-0.2.9
Nick Mathewson [Tue, 31 Oct 2017 15:43:07 +0000 (11:43 -0400)] 
Merge remote-tracking branch 'public/bug23693_029' into maint-0.2.9

8 years agoMake tor recalculate voting schedule even if not a dirauth
David Goulet [Tue, 31 Oct 2017 13:54:55 +0000 (09:54 -0400)] 
Make tor recalculate voting schedule even if not a dirauth

Because the HS subsystem needs the voting schedule to compute time period, we
need all tor type to do that.

Part of #23623

Signed-off-by: David Goulet <dgoulet@torproject.org>
8 years agoInitialize the mock options in the fuzzing code
Nick Mathewson [Mon, 30 Oct 2017 21:05:26 +0000 (17:05 -0400)] 
Initialize the mock options in the fuzzing code

Fixes bug 24082; bugfix on 0.3.0.3-alpha.  Found by Brian Carpenter.

8 years agoMerge remote-tracking branch 'public/bug23774_032' into maint-0.3.2
Nick Mathewson [Mon, 30 Oct 2017 15:07:26 +0000 (11:07 -0400)] 
Merge remote-tracking branch 'public/bug23774_032' into maint-0.3.2

8 years agoIn the hsdescv3 fuzzer, replace the decryption function.
Nick Mathewson [Fri, 27 Oct 2017 18:28:02 +0000 (14:28 -0400)] 
In the hsdescv3 fuzzer, replace the decryption function.

The new decryption function performs no decryption, skips the salt,
and doesn't check the mac.  This allows us to fuzz the
hs_descriptor.c code using unencrypted descriptor test, and exercise
more of the code.

Related to 21509.

8 years agobump to 0.3.2.3-alpha-dev.
Nick Mathewson [Fri, 27 Oct 2017 16:33:13 +0000 (12:33 -0400)] 
bump to 0.3.2.3-alpha-dev.

8 years agosr: Don't use a dynamic voting schedule
David Goulet [Fri, 27 Oct 2017 13:16:29 +0000 (09:16 -0400)] 
sr: Don't use a dynamic voting schedule

The exposed get_voting_schedule() allocates and return a new object everytime
it is called leading to an awful lot of memory allocation when getting the
start time of the current round which is done for each node in the consensus.

Closes #23623

Signed-off-by: David Goulet <dgoulet@torproject.org>
8 years agodirvote: Move code. No behavior change
David Goulet [Fri, 27 Oct 2017 13:13:43 +0000 (09:13 -0400)] 
dirvote: Move code. No behavior change

Needed for next commit to address #23623.

Signed-off-by: David Goulet <dgoulet@torproject.org>
8 years agoupdate to 0.3.2.3-alpha
Nick Mathewson [Fri, 27 Oct 2017 12:59:07 +0000 (08:59 -0400)] 
update to 0.3.2.3-alpha

8 years agohs-v3: Check the ed25519 key when picking intro point
David Goulet [Thu, 26 Oct 2017 18:54:20 +0000 (14:54 -0400)] 
hs-v3: Check the ed25519 key when picking intro point

If the intro point supports ed25519 link authentication, make sure we don't
have a zeroed key which would lead to a failure to extend to it.

We already check for an empty key if the intro point does not support it so
this makes the check on the key more consistent and symmetric.

Fixes #24002

Signed-off-by: David Goulet <dgoulet@torproject.org>
8 years agofuzzing: Make hsdescv3 use the decoding API correctly
David Goulet [Thu, 26 Oct 2017 13:52:15 +0000 (09:52 -0400)] 
fuzzing: Make hsdescv3 use the decoding API correctly

Fixes #21509

Signed-off-by: David Goulet <dgoulet@torproject.org>
8 years agoRevert "Temporarily disable compilation of the v3 hs fuzzing code"
David Goulet [Thu, 26 Oct 2017 13:41:47 +0000 (09:41 -0400)] 
Revert "Temporarily disable compilation of the v3 hs fuzzing code"

This reverts commit 5ef656e7d1b1e1e74c46bd02ce8faaa1d8d09403.

8 years agofix check-changes warning
Nick Mathewson [Thu, 26 Oct 2017 13:08:49 +0000 (09:08 -0400)] 
fix check-changes warning

8 years agoAdd changes file for #23862.
George Kadianakis [Wed, 25 Oct 2017 16:54:48 +0000 (19:54 +0300)] 
Add changes file for #23862.

8 years agoRemove a duplicate call to update_microdesc_downloads()
George Kadianakis [Wed, 25 Oct 2017 16:18:38 +0000 (19:18 +0300)] 
Remove a duplicate call to update_microdesc_downloads()

This call happens before we update our entry guards, so it needs to be
removed for the fix to #23862 to work.

8 years agoUpdate entry guard state whenever we download a consensus.
George Kadianakis [Wed, 25 Oct 2017 16:18:25 +0000 (19:18 +0300)] 
Update entry guard state whenever we download a consensus.

Update guard state even if we don't have enough dirinfo since that
actually affects the future download of dirinfos.

Fixes #23862 on 0.3.0.1-alpha

8 years agoRemove buggy IPv6 support from pick_intro_point() and service_intro_point_new()
teor [Thu, 26 Oct 2017 03:47:54 +0000 (14:47 +1100)] 
Remove buggy IPv6 support from pick_intro_point() and service_intro_point_new()

The previous version of these functions had the following issues:
* they can't supply both the IPv4 and IPv6 addresses in link specifiers,
* they try to fall back to a 3-hop path when the address for a direct
  connection is unreachable, but this isn't supported by
  launch_rendezvous_point_circuit(), so it fails.
But we can't fix these things in a bugfix release.

Instead, always put IPv4 addresses in link specifiers.
And if a v3 single onion service can't reach any intro points, fail.

This supports v3 hidden services on IPv4, dual-stack, and IPv6, and
v3 single onion services on IPv4 only.

Part of 23820, bugfix on 0.3.2.1-alpha.

8 years agoRemove buggy IPv6 support from hs_get_extend_info_from_lspecs()
teor [Thu, 26 Oct 2017 03:38:06 +0000 (14:38 +1100)] 
Remove buggy IPv6 support from hs_get_extend_info_from_lspecs()

The previous version of this function has the following issues:
* it doesn't choose between IPv4 and IPv6 addresses correctly, and
* it doesn't fall back to a 3-hop path when the address for a direct
  connection is unreachable.
But we can't fix these things in a bugfix release.

Instead, treat IPv6 addresses like any other unrecognised link specifier
and ignore them. If there is no IPv4 address, return NULL.

This supports v3 hidden services on IPv4, dual-stack, and IPv6, and
v3 single onion services on IPv4 only.

Part of 23820, bugfix on 0.3.2.1-alpha.

8 years agohs-v2: Copy needed information between service on prunning
David Goulet [Wed, 25 Oct 2017 15:21:28 +0000 (11:21 -0400)] 
hs-v2: Copy needed information between service on prunning

Turns out that when reloading a tor configured with hidden service(s), we
weren't copying all the needed information between the old service object to
the new one.

For instance, the desc_is_dirty timestamp wasn't which could lead to the
service uploading its desriptor much later than it would need to.

The replaycache wasn't also moved over and some intro point information as
well.

Fixes #23790

Signed-off-by: David Goulet <dgoulet@torproject.org>
8 years agoMerge branch 'maint-0.3.1' into maint-0.3.2
Nick Mathewson [Wed, 25 Oct 2017 13:28:57 +0000 (09:28 -0400)] 
Merge branch 'maint-0.3.1' into maint-0.3.2

"ours" merge to avoid version bump

8 years agoMerge branch 'maint-0.3.0' into maint-0.3.1
Nick Mathewson [Wed, 25 Oct 2017 13:28:49 +0000 (09:28 -0400)] 
Merge branch 'maint-0.3.0' into maint-0.3.1

"ours" merge to avoid version bump

8 years agoMerge branch 'maint-0.2.9' into maint-0.3.0
Nick Mathewson [Wed, 25 Oct 2017 13:28:41 +0000 (09:28 -0400)] 
Merge branch 'maint-0.2.9' into maint-0.3.0

"ours" merge to avoid version bump

8 years agoMerge branch 'maint-0.2.8' into maint-0.2.9
Nick Mathewson [Wed, 25 Oct 2017 13:28:29 +0000 (09:28 -0400)] 
Merge branch 'maint-0.2.8' into maint-0.2.9

"ours" merge to avoid version bump

8 years agoMerge branch 'maint-0.2.5' into maint-0.2.8
Nick Mathewson [Wed, 25 Oct 2017 13:28:15 +0000 (09:28 -0400)] 
Merge branch 'maint-0.2.5' into maint-0.2.8

"ours" merge to avoid version bump

8 years agobump to 0.3.1.8-dev
Nick Mathewson [Wed, 25 Oct 2017 13:28:05 +0000 (09:28 -0400)] 
bump to 0.3.1.8-dev

8 years agobump to 0.3.0.12-dev
Nick Mathewson [Wed, 25 Oct 2017 13:27:50 +0000 (09:27 -0400)] 
bump to 0.3.0.12-dev

8 years agobump to 0.2.9.13-dev
Nick Mathewson [Wed, 25 Oct 2017 13:27:23 +0000 (09:27 -0400)] 
bump to 0.2.9.13-dev

8 years agobump to 0.2.8.16-dev
Nick Mathewson [Wed, 25 Oct 2017 13:27:07 +0000 (09:27 -0400)] 
bump to 0.2.8.16-dev

8 years agobump to 0.2.5.15-dev
Nick Mathewson [Wed, 25 Oct 2017 13:26:53 +0000 (09:26 -0400)] 
bump to 0.2.5.15-dev

8 years agoMerge remote-tracking branch 'catalyst-oniongit/bug20532_031' into maint-0.3.2
Nick Mathewson [Tue, 24 Oct 2017 23:41:26 +0000 (19:41 -0400)] 
Merge remote-tracking branch 'catalyst-oniongit/bug20532_031' into maint-0.3.2

8 years agoMerge branch 'feature18329_029_squashed' into maint-0.3.2
Nick Mathewson [Tue, 24 Oct 2017 23:35:32 +0000 (19:35 -0400)] 
Merge branch 'feature18329_029_squashed' into maint-0.3.2

8 years agoMerge branch 'feature18329_029_squashed' into maint-0.3.2
Nick Mathewson [Tue, 24 Oct 2017 23:35:28 +0000 (19:35 -0400)] 
Merge branch 'feature18329_029_squashed' into maint-0.3.2

8 years agoUpdates to fix check-spaces/check-changes warnings
Nick Mathewson [Tue, 24 Oct 2017 23:35:16 +0000 (19:35 -0400)] 
Updates to fix check-spaces/check-changes warnings

8 years agoAdjust test to allow hyphens too.
Nick Mathewson [Tue, 24 Oct 2017 23:33:38 +0000 (19:33 -0400)] 
Adjust test to allow hyphens too.

8 years agotest: Add unittest for descriptors with BridgeDistribution option.
Isis Lovecruft [Mon, 23 Oct 2017 19:44:06 +0000 (19:44 +0000)] 
test: Add unittest for descriptors with BridgeDistribution option.

8 years agodoc: Improve documentation for check_bridge_distribution_setting().
Isis Lovecruft [Mon, 23 Oct 2017 19:37:52 +0000 (19:37 +0000)] 
doc: Improve documentation for check_bridge_distribution_setting().

8 years agoAlways set bridge-distribution-request on bridges' descriptors.
Nick Mathewson [Mon, 23 Oct 2017 14:52:42 +0000 (10:52 -0400)] 
Always set bridge-distribution-request on bridges' descriptors.

Also, warn the user if the BridgeDistribution option is
unrecognized, and reject the value if it is invalid.

8 years agoTweak the documentation for BridgeDistribution
Nick Mathewson [Mon, 23 Oct 2017 14:38:19 +0000 (10:38 -0400)] 
Tweak the documentation for BridgeDistribution

Note that it will have no effect yet; note that the default is
"any".