Commit Graph

31562 Commits

Author SHA1 Message Date
Nick Mathewson fc4d507748 Fold in the entry for 2667 tor-0.3.5.13 2021-02-03 09:53:41 -05:00
David Goulet b9689553d6 Merge branch 'maint-0.3.5' into release-0.3.5 2021-02-03 09:11:14 -05:00
David Goulet f322ea3fa8 Merge branch 'ticket40269_035_01' into maint-0.3.5 2021-02-03 09:11:09 -05:00
David Goulet 6f95cdf87e Remove unused addr_port_set code
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-02-03 09:11:01 -05:00
David Goulet c3741d754e Merge branch 'maint-0.3.5' into release-0.3.5 2021-02-03 08:56:38 -05:00
David Goulet a3cef41fc3 Merge branch 'ticket40270_035_01' into maint-0.3.5 2021-02-03 08:56:30 -05:00
David Goulet 4dfada509a Merge branch 'maint-0.3.5' into release-0.3.5 2021-02-03 08:54:40 -05:00
David Goulet c2cee6c780 node: Move reentry set to use a digestmap_t
Any lookup now will be certain and not probabilistic as the bloomfilter.

Closes #40269

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-02-03 08:54:02 -05:00
David Goulet 59f1a41a7f relay: Send back CONNECTION_REFUSED on reentry
The TORPROTOCOL reason causes the client to close the circuit which is not
what we want because other valid streams might be on it.

Instead, CONNECTION_REFUSED will leave it open but will not allow more streams
to be attached to it. The client then open a new circuit to the destination.

Closes #40270

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-02-03 08:52:48 -05:00
David Goulet bf80465d86 Merge branch 'maint-0.3.5' into release-0.3.5 2021-02-03 08:51:36 -05:00
David Goulet 98590621bb relay: Double the size of the relay reentry set
This is to minimize false positive and thus deny reentry to Exit connections
that were in reality not re-entering. Helps with overall UX.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-02-03 08:51:00 -05:00
David Goulet ce3af5dd59 relay: Follow consensus parameter for network reentry
Obey the "allow-network-reentry" consensus parameters in order to decide to
allow it or not at the Exit.

Closes #40268

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-02-03 08:50:56 -05:00
David Goulet a5b4ee2a01 Merge branch 'maint-0.3.5' into release-0.3.5 2021-02-03 08:44:19 -05:00
Nick Mathewson 16bd8c7247 0.3.5.13 changelog blurb. 2021-02-02 17:23:29 -05:00
Nick Mathewson 4d9c7b8d81 start a changelog for 0.3.5.13. 2021-02-02 16:04:15 -05:00
George Kadianakis 9eba65bd8b test: Add test for exits blocking reentry to the network
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-29 14:19:17 -05:00
Roger Dingledine 93ac6ec4d3 exit: Deny re-entry into the network
Exit relays now reject exit attempts to known relay addresses + ORPort and
also to authorities on the ORPort and DirPort.

Closes #2667

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-29 14:19:17 -05:00
David Goulet f26950fa7a relay: Add bloomfiter of relay address + {OR|Dir}Port
In order to deny re-entry in the network, we now keep a bloomfilter of relay
ORPort + address and authorities ORPort + address and DirPort + address
combinations.

So when an Exit stream is handled, we deny anything connecting back into the
network on the ORPorts for relays and on the ORPort+DirPort for the
authorities.

Related to #2667

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-29 14:19:17 -05:00
David Goulet 3ec07671c1 Merge branch 'maint-0.3.5' into release-0.3.5 2021-01-28 12:46:30 -05:00
David Goulet 9556276f07 Merge branch 'tor-gitlab/mr/50' into maint-0.3.5 2021-01-28 12:46:24 -05:00
David Goulet f25c604e97 Merge branch 'maint-0.3.5' into release-0.3.5 2021-01-28 12:42:31 -05:00
David Goulet 290007e3c4 Merge branch 'tor-gitlab/mr/239' into maint-0.3.5 2021-01-28 12:42:26 -05:00
David Goulet c25d549647 Merge branch 'maint-0.3.5' into release-0.3.5 2021-01-28 12:36:42 -05:00
David Goulet 02bd135cb1 Merge branch 'tor-gitlab/mr/243' into maint-0.3.5 2021-01-28 12:36:35 -05:00
David Goulet 5db8bffa43 Merge branch 'maint-0.3.5' into release-0.3.5 2021-01-28 12:14:10 -05:00
David Goulet 1bdccc03a9 Merge branch 'tor-gitlab/mr/254' into maint-0.3.5 2021-01-28 12:10:39 -05:00
David Goulet de6644bcba Merge branch 'maint-0.3.5' into release-0.3.5 2021-01-28 12:08:20 -05:00
David Goulet 045db909c2 Merge remote-tracking branch 'tor-gitlab/mr/140' into maint-0.3.5 2021-01-28 12:08:14 -05:00
David Goulet b5fd3f127f Merge branch 'maint-0.3.5' into release-0.3.5 2021-01-28 12:04:42 -05:00
David Goulet c6fb26695b Merge remote-tracking branch 'tor-gitlab/mr/186' into maint-0.3.5 2021-01-28 12:04:37 -05:00
David Goulet 1f39a13d14 Merge branch 'maint-0.3.5' into release-0.3.5 2021-01-28 12:02:43 -05:00
David Goulet 8f13257ccd Merge branch 'tor-gitlab/mr/140' into maint-0.3.5 2021-01-28 12:02:39 -05:00
David Goulet 869fa2a2ef Merge branch 'maint-0.3.5' into release-0.3.5 2021-01-28 12:00:17 -05:00
David Goulet 2cf1365c17 Merge branch 'tor-gitlab/mr/186' into maint-0.3.5 2021-01-28 12:00:10 -05:00
Nick Mathewson dec3041952 Merge branch 'maint-0.3.5' into release-0.3.5 2021-01-28 11:20:20 -05:00
Nick Mathewson 3ebf75993f Bump to 0.3.5.13. 2021-01-28 11:17:32 -05:00
David Goulet d4e5066bf2 Merge branch 'maint-0.3.5' into release-0.3.5 2021-01-21 16:18:43 -05:00
Alex Xu (Hello71) 65087903d9 gitignore: don't ignore core directory
otherwise src/core is ignored.
2021-01-21 16:18:22 -05:00
David Goulet 5ba521297f Merge branch 'maint-0.3.5' into release-0.3.5 2021-01-21 16:06:54 -05:00
David Goulet 8500700aa4 build: Add "make lsp" command
Generates the compile_commands.json file using the "bear" application so the
ccls server can be more efficient with our code base.

Closes #40227

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-21 16:06:31 -05:00
Nick Mathewson 05ee5b983c Merge branch 'maint-0.3.5' into release-0.3.5 2021-01-19 12:53:52 -05:00
Nick Mathewson faf7b550e7 Merge remote-tracking branch 'tor-gitlab/mr/143' into maint-0.3.5 2021-01-19 12:53:30 -05:00
Nick Mathewson e85f517831 Merge branch 'maint-0.3.5' into release-0.3.5 2021-01-19 12:45:07 -05:00
Nick Mathewson 2d5b21598e Merge remote-tracking branch 'tor-gitlab/mr/259' into maint-0.3.5 2021-01-19 12:44:59 -05:00
David Goulet 9e03ef3e6b Merge branch 'maint-0.3.5' into release-0.3.5 2021-01-13 10:38:05 -05:00
David Goulet 7a82fbfdab gitignore: Add Linux core file patterns
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-13 10:37:56 -05:00
Nick Mathewson fa8ecf8820 Better fix for #40241 (--enable-all-bugs-are-fatal and fallthrough)
This one should work on GCC _and_ on Clang.  The previous version
made Clang happier by not having unreachable "fallthrough"
statements, but made GCC sad because GCC didn't think that the
unconditional failures were really unconditional, and therefore
_wanted_ a FALLTHROUGH.

This patch adds a FALLTHROUGH_UNLESS_ALL_BUGS_ARE_FATAL macro that
seems to please both GCC and Clang in this case: ordinarily it is a
FALLTHROUGH, but when ALL_BUGS_ARE_FATAL is defined, it's an
abort().

Fixes bug 40241 again.  Bugfix on earlier fix for 40241, which was
merged into maint-0.3.5 and forward, and released in 0.4.5.3-rc.
2021-01-13 09:54:43 -05:00
David Goulet 04b0263974 hs-v3: Require reasonably live consensus
Some days before this commit, the network experienced a DDoS on the directory
authorities that prevented them to generate a consensus for more than 5 hours
straight.

That in turn entirely disabled onion service v3, client and service side, due
to the subsystem requiring a live consensus to function properly.

We know require a reasonably live consensus which means that the HSv3
subsystem will to its job for using the best consensus tor can find. If the
entire network is using an old consensus, than this should be alright.

If the service happens to use a live consensus while a client is not, it
should still work because the client will use the current SRV it sees which
might be the previous SRV for the service for which it still publish
descriptors for.

If the service is using an old one and somehow can't get a new one while
clients are on a new one, then reachability issues might arise. However, this
is a situation we already have at the moment since the service will simply not
work if it doesn't have a live consensus while a client has one.

Fixes #40237

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-12 09:46:35 -05:00
Nick Mathewson 5aceb7ca19 Merge branch 'maint-0.3.5' into release-0.3.5 2021-01-11 14:37:28 -05:00
Nick Mathewson 6c0f15500b Merge branch 'ticket40241_035' into maint-0.3.5 2021-01-11 14:37:14 -05:00