]>
git.ipfire.org Git - thirdparty/tor.git/log
David Goulet [Mon, 8 Feb 2021 16:51:45 +0000 (11:51 -0500)]
relay: Look at the omit IPv6 flag when publishing
In two instances we must look at this flag:
1. When we build the descriptor so the IPv6 is NOT added to the descriptor in
case we judge that we need to omit the address but still publish.
2. When we are deciding if the descriptor is publishable. This flags tells us
that the IPv6 was not found reachable but we should still publish.
Fixes #40279
Signed-off-by: David Goulet <dgoulet@torproject.org>
Alexander Færøy [Fri, 5 Feb 2021 19:18:47 +0000 (19:18 +0000)]
Merge branch 'maint-0.4.4' into maint-0.4.5
Alexander Færøy [Fri, 5 Feb 2021 19:18:13 +0000 (19:18 +0000)]
Delete changes/40241_v2 as it breaks CI.
Unreviewed build fix. Discussed the cnage on IRC with Nick.
Alexander Færøy [Fri, 5 Feb 2021 17:40:25 +0000 (17:40 +0000)]
Merge branch 'maint-0.4.4' into maint-0.4.5
Alexander Færøy [Fri, 5 Feb 2021 17:39:21 +0000 (17:39 +0000)]
Fix CI build: practracker error in connection_edge.c, take two.
This was a bad copy and paste error from the previous commit which
generated a duplicated entry error from practracker.
Unreviewed build fix.
See: tor#40275.
Alexander Færøy [Fri, 5 Feb 2021 17:17:05 +0000 (17:17 +0000)]
Merge branch 'maint-0.4.4' into maint-0.4.5
Alexander Færøy [Fri, 5 Feb 2021 17:16:05 +0000 (17:16 +0000)]
Fix CI build: practracker error in connection_edge.c.
We solve this error by allowing the connection_exit_connect() function
to be 130 lines long.
Unreviewed build fix commit.
See: tor#40275.
Alexander Færøy [Fri, 5 Feb 2021 17:12:52 +0000 (17:12 +0000)]
Fix Windows build.
While trying to resolve our CI issues, the Windows build broke with an
unused function error:
src/test/test_switch_id.c:37:1: error: ‘unprivileged_port_range_start’
defined but not used [-Werror=unused-function]
We solve this by moving the `#if !defined(_WIN32)` test above the
`unprivileged_port_range_start()` function defintion such that it is
included in its body.
This is an unreviewed commit.
See: tor#40275
Alexander Færøy [Fri, 5 Feb 2021 16:05:57 +0000 (16:05 +0000)]
Merge branch 'maint-0.4.4' into maint-0.4.5
Alexander Færøy [Fri, 5 Feb 2021 16:04:53 +0000 (16:04 +0000)]
Merge branch 'tor-gitlab/mr/292_squashed' into maint-0.4.4
Alexander Færøy [Thu, 4 Feb 2021 23:11:11 +0000 (23:11 +0000)]
Only check for bindable ports if we are unsure if it will fail.
We currently assume that the only way for Tor to listen on ports in the
privileged port range (1 to 1023), on Linux, is if we are granted the
NET_BIND_SERVICE capability. Today on Linux, it's possible to specify
the beginning of the unprivileged port range using a sysctl
configuration option. Docker (and thus the CI service Tor uses) recently
changed this sysctl value to 0, which causes our tests to fail as they
assume that we should NOT be able to bind to a privileged port *without*
the NET_BIND_SERVICE capability.
In this patch, we read the value of the sysctl value via the /proc/sys/
filesystem iff it's present, otherwise we assume the default
unprivileged port range begins at port 1024.
See: tor#40275
Nick Mathewson [Wed, 3 Feb 2021 18:39:41 +0000 (13:39 -0500)]
Merge branch 'maint-0.4.4' into maint-0.4.5
"ours" to avoid version bump.
Nick Mathewson [Wed, 3 Feb 2021 18:39:28 +0000 (13:39 -0500)]
Merge branch 'maint-0.4.3' into maint-0.4.4
"ours" to avoid version bump.
Nick Mathewson [Wed, 3 Feb 2021 18:39:08 +0000 (13:39 -0500)]
Merge branch 'maint-0.3.5' into maint-0.4.3
"ours" to avoid version bump.
Nick Mathewson [Wed, 3 Feb 2021 18:39:03 +0000 (13:39 -0500)]
bump to 0.4.4.7-dev
Nick Mathewson [Wed, 3 Feb 2021 18:38:56 +0000 (13:38 -0500)]
bump to 0.4.3.8-dev
Nick Mathewson [Wed, 3 Feb 2021 18:37:28 +0000 (13:37 -0500)]
Bump to 0.3.5.13-dev.
David Goulet [Wed, 3 Feb 2021 14:35:45 +0000 (09:35 -0500)]
nodelist: Remove merge artefact
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Wed, 3 Feb 2021 14:11:15 +0000 (09:11 -0500)]
Merge branch 'maint-0.4.4' into maint-0.4.5
David Goulet [Wed, 3 Feb 2021 14:11:14 +0000 (09:11 -0500)]
Merge branch 'maint-0.4.3' into maint-0.4.4
David Goulet [Wed, 3 Feb 2021 14:11:14 +0000 (09:11 -0500)]
Merge branch 'maint-0.3.5' into maint-0.4.3
David Goulet [Wed, 3 Feb 2021 14:11:09 +0000 (09:11 -0500)]
Merge branch 'ticket40269_035_01' into maint-0.3.5
David Goulet [Mon, 1 Feb 2021 17:28:29 +0000 (12:28 -0500)]
Remove unused addr_port_set code
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Wed, 3 Feb 2021 13:58:02 +0000 (08:58 -0500)]
Merge branch 'maint-0.4.4' into maint-0.4.5
David Goulet [Wed, 3 Feb 2021 13:56:38 +0000 (08:56 -0500)]
Merge branch 'maint-0.4.3' into maint-0.4.4
David Goulet [Wed, 3 Feb 2021 13:56:38 +0000 (08:56 -0500)]
Merge branch 'maint-0.3.5' into maint-0.4.3
David Goulet [Wed, 3 Feb 2021 13:56:30 +0000 (08:56 -0500)]
Merge branch 'ticket40270_035_01' into maint-0.3.5
David Goulet [Wed, 3 Feb 2021 13:54:40 +0000 (08:54 -0500)]
Merge branch 'maint-0.4.3' into maint-0.4.4
David Goulet [Wed, 3 Feb 2021 13:54:40 +0000 (08:54 -0500)]
Merge branch 'maint-0.3.5' into maint-0.4.3
David Goulet [Mon, 1 Feb 2021 17:20:39 +0000 (12:20 -0500)]
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>
David Goulet [Mon, 1 Feb 2021 17:45:32 +0000 (12:45 -0500)]
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>
David Goulet [Wed, 3 Feb 2021 13:51:37 +0000 (08:51 -0500)]
Merge branch 'maint-0.4.3' into maint-0.4.4
David Goulet [Wed, 3 Feb 2021 13:51:36 +0000 (08:51 -0500)]
Merge branch 'maint-0.3.5' into maint-0.4.3
David Goulet [Mon, 1 Feb 2021 14:04:50 +0000 (09:04 -0500)]
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>
David Goulet [Mon, 1 Feb 2021 13:56:27 +0000 (08:56 -0500)]
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>
Nick Mathewson [Mon, 1 Feb 2021 21:14:07 +0000 (16:14 -0500)]
bump to 0.4.5.5-rc-dev
David Goulet [Mon, 1 Feb 2021 19:09:58 +0000 (14:09 -0500)]
Merge branch 'tor-gitlab/mr/289' into maint-0.4.5
David Goulet [Mon, 1 Feb 2021 17:45:32 +0000 (12:45 -0500)]
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>
David Goulet [Mon, 1 Feb 2021 17:28:29 +0000 (12:28 -0500)]
Remove unused addr_port_set code
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Mon, 1 Feb 2021 17:20:39 +0000 (12:20 -0500)]
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>
David Goulet [Mon, 1 Feb 2021 14:04:50 +0000 (09:04 -0500)]
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>
David Goulet [Mon, 1 Feb 2021 13:56:27 +0000 (08:56 -0500)]
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>
David Goulet [Fri, 29 Jan 2021 19:54:21 +0000 (14:54 -0500)]
Merge branch 'tor-gitlab/mr/285' into ticket2667_044_01
David Goulet [Fri, 29 Jan 2021 19:51:38 +0000 (14:51 -0500)]
Merge branch 'tor-gitlab/mr/284' into ticket2667_043_01
George Kadianakis [Fri, 29 Jan 2021 16:21:30 +0000 (18:21 +0200)]
test: Add test for exits blocking reentry to the network
Signed-off-by: David Goulet <dgoulet@torproject.org>
Roger Dingledine [Thu, 28 Jan 2021 04:48:57 +0000 (23:48 -0500)]
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>
David Goulet [Thu, 28 Jan 2021 02:49:56 +0000 (21:49 -0500)]
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>
George Kadianakis [Fri, 29 Jan 2021 16:21:30 +0000 (18:21 +0200)]
test: Add test for exits blocking reentry to the network
Signed-off-by: David Goulet <dgoulet@torproject.org>
Roger Dingledine [Thu, 28 Jan 2021 04:48:57 +0000 (23:48 -0500)]
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>
David Goulet [Thu, 28 Jan 2021 02:49:56 +0000 (21:49 -0500)]
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>
David Goulet [Thu, 28 Jan 2021 17:46:31 +0000 (12:46 -0500)]
Merge branch 'maint-0.4.3' into maint-0.4.4
David Goulet [Thu, 28 Jan 2021 17:46:31 +0000 (12:46 -0500)]
Merge branch 'maint-0.3.5' into maint-0.4.3
David Goulet [Thu, 28 Jan 2021 17:46:31 +0000 (12:46 -0500)]
Merge branch 'maint-0.4.4' into maint-0.4.5
David Goulet [Thu, 28 Jan 2021 17:46:24 +0000 (12:46 -0500)]
Merge branch 'tor-gitlab/mr/50' into maint-0.3.5
David Goulet [Thu, 28 Jan 2021 17:42:32 +0000 (12:42 -0500)]
Merge branch 'maint-0.4.4' into maint-0.4.5
David Goulet [Thu, 28 Jan 2021 17:42:31 +0000 (12:42 -0500)]
Merge branch 'maint-0.4.3' into maint-0.4.4
David Goulet [Thu, 28 Jan 2021 17:42:31 +0000 (12:42 -0500)]
Merge branch 'maint-0.3.5' into maint-0.4.3
David Goulet [Thu, 28 Jan 2021 17:42:26 +0000 (12:42 -0500)]
Merge branch 'tor-gitlab/mr/239' into maint-0.3.5
David Goulet [Thu, 28 Jan 2021 17:36:42 +0000 (12:36 -0500)]
Merge branch 'maint-0.4.4' into maint-0.4.5
David Goulet [Thu, 28 Jan 2021 17:36:42 +0000 (12:36 -0500)]
Merge branch 'maint-0.4.3' into maint-0.4.4
David Goulet [Thu, 28 Jan 2021 17:36:42 +0000 (12:36 -0500)]
Merge branch 'maint-0.3.5' into maint-0.4.3
David Goulet [Thu, 28 Jan 2021 17:36:35 +0000 (12:36 -0500)]
Merge branch 'tor-gitlab/mr/243' into maint-0.3.5
David Goulet [Thu, 28 Jan 2021 17:14:10 +0000 (12:14 -0500)]
Merge branch 'maint-0.4.4' into maint-0.4.5
David Goulet [Thu, 28 Jan 2021 17:14:10 +0000 (12:14 -0500)]
Merge branch 'maint-0.4.3' into maint-0.4.4
David Goulet [Thu, 28 Jan 2021 17:14:10 +0000 (12:14 -0500)]
Merge branch 'maint-0.3.5' into maint-0.4.3
David Goulet [Thu, 28 Jan 2021 17:12:01 +0000 (12:12 -0500)]
Merge branch 'tor-gitlab/mr/256' into maint-0.4.4
David Goulet [Thu, 28 Jan 2021 17:11:33 +0000 (12:11 -0500)]
Merge branch 'tor-gitlab/mr/255' into maint-0.4.3
David Goulet [Thu, 28 Jan 2021 17:10:39 +0000 (12:10 -0500)]
Merge branch 'tor-gitlab/mr/254' into maint-0.3.5
David Goulet [Thu, 28 Jan 2021 17:08:21 +0000 (12:08 -0500)]
Merge branch 'maint-0.4.4' into maint-0.4.5
David Goulet [Thu, 28 Jan 2021 17:08:21 +0000 (12:08 -0500)]
Merge branch 'maint-0.4.3' into maint-0.4.4
David Goulet [Thu, 28 Jan 2021 17:08:20 +0000 (12:08 -0500)]
Merge branch 'maint-0.3.5' into maint-0.4.3
David Goulet [Thu, 28 Jan 2021 17:08:14 +0000 (12:08 -0500)]
Merge remote-tracking branch 'tor-gitlab/mr/140' into maint-0.3.5
David Goulet [Thu, 28 Jan 2021 17:04:42 +0000 (12:04 -0500)]
Merge branch 'maint-0.4.4' into maint-0.4.5
David Goulet [Thu, 28 Jan 2021 17:04:42 +0000 (12:04 -0500)]
Merge branch 'maint-0.4.3' into maint-0.4.4
David Goulet [Thu, 28 Jan 2021 17:04:42 +0000 (12:04 -0500)]
Merge branch 'maint-0.3.5' into maint-0.4.3
David Goulet [Thu, 28 Jan 2021 17:04:37 +0000 (12:04 -0500)]
Merge remote-tracking branch 'tor-gitlab/mr/186' into maint-0.3.5
Nick Mathewson [Thu, 28 Jan 2021 16:20:01 +0000 (11:20 -0500)]
Bump to 0.4.5.5-rc
Nick Mathewson [Thu, 28 Jan 2021 16:19:23 +0000 (11:19 -0500)]
Merge branch 'maint-0.4.4' into maint-0.4.5
"ours" to avoid version bump.
Nick Mathewson [Thu, 28 Jan 2021 16:19:00 +0000 (11:19 -0500)]
Bump to 0.4.4.7
Nick Mathewson [Thu, 28 Jan 2021 16:18:30 +0000 (11:18 -0500)]
Merge branch 'maint-0.4.3' into maint-0.4.4
"ours" to avoid version bump.
Nick Mathewson [Thu, 28 Jan 2021 16:18:13 +0000 (11:18 -0500)]
Bump to 0.4.3.8.
Nick Mathewson [Thu, 28 Jan 2021 16:17:43 +0000 (11:17 -0500)]
Merge branch 'maint-0.3.5' into maint-0.4.3
"ours" to avoid version bump.
Nick Mathewson [Thu, 28 Jan 2021 16:17:32 +0000 (11:17 -0500)]
Bump to 0.3.5.13.
Nick Mathewson [Wed, 27 Jan 2021 14:36:29 +0000 (09:36 -0500)]
Merge branch 'mr_274_squashed' into maint-0.4.5
David Goulet [Fri, 22 Jan 2021 15:59:05 +0000 (10:59 -0500)]
relay: Log if we can't find an address for configured ORPort
Everytime we try to discover an address we want to publish, emit a log notice
if we are unable to find it even though an ORPort was configured for it.
Because the function can be called quite often, we rate limit that notice to
every hour so it gets annoying just enough so the operator fixes that.
Related to #40254
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Fri, 22 Jan 2021 15:35:32 +0000 (10:35 -0500)]
relay: Don't trigger an address discovery without an ORPort
We would before do an address discovery and then a lookup in the cache if not
found which is now simplified by calling relay_find_addr_to_publish() directly
which does all those combined.
Furthermore, by doing so, we won't trigger an address discovery every minute
if we have no ORPort configured for the family.
Fixes #40254
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Fri, 22 Jan 2021 15:29:08 +0000 (10:29 -0500)]
relay: Simplify IPv6 discovery when building descriptor
Now that relay_find_addr_to_publish() checks if we actually have an ORPort, we
can simplify the descriptor building phase for IPv6.
This also avoid triggering an IPv6 discovery if the IPv4 can't be found in the
first place.
Related to #40254
Signed-off-by: David Goulet <dgoulet@torproject.org>
David Goulet [Fri, 22 Jan 2021 15:23:07 +0000 (10:23 -0500)]
relay: Skip address discovery if no ORPort is found
In other words, if we don't have an ORPort configured for a specific family
(IPv4/v6), we don't bother doing address discovery.
Related to #40254
Signed-off-by: David Goulet <dgoulet@torproject.org>
Nick Mathewson [Fri, 22 Jan 2021 16:55:17 +0000 (11:55 -0500)]
bump to 0.4.5.4-rc-dev
Nick Mathewson [Fri, 22 Jan 2021 14:49:09 +0000 (09:49 -0500)]
Bump to 0.4.5.4-rc
George Kadianakis [Thu, 21 Jan 2021 22:21:09 +0000 (00:21 +0200)]
Merge branch 'mr/251' into maint-0.4.5
David Goulet [Thu, 21 Jan 2021 21:18:43 +0000 (16:18 -0500)]
Merge branch 'maint-0.4.3' into maint-0.4.4
David Goulet [Thu, 21 Jan 2021 21:18:43 +0000 (16:18 -0500)]
Merge branch 'maint-0.3.5' into maint-0.4.3
David Goulet [Thu, 21 Jan 2021 21:18:43 +0000 (16:18 -0500)]
Merge branch 'maint-0.4.4' into maint-0.4.5
Alex Xu (Hello71) [Thu, 21 Jan 2021 21:06:28 +0000 (16:06 -0500)]
gitignore: don't ignore core directory
otherwise src/core is ignored.
George Kadianakis [Thu, 21 Jan 2021 21:17:31 +0000 (23:17 +0200)]
Changes file for #40238.
David Goulet [Thu, 21 Jan 2021 21:07:16 +0000 (16:07 -0500)]
Merge branch 'maint-0.4.4' into maint-0.4.5
David Goulet [Thu, 21 Jan 2021 21:06:54 +0000 (16:06 -0500)]
Merge branch 'maint-0.4.3' into maint-0.4.4
David Goulet [Thu, 21 Jan 2021 21:06:54 +0000 (16:06 -0500)]
Merge branch 'maint-0.3.5' into maint-0.4.3
David Goulet [Wed, 16 Dec 2020 15:01:15 +0000 (10:01 -0500)]
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>