Helge Deller
8ea00c85cb
Fix testcases regarding O_NONBLOCK on parisc/hppa architecture
...
On the parisc/hppa architecture, the O_NONBLOCK constant can be either
000200000 or 000200004, depending on the Linux kernel and glibc version
on which the binary is running.
Background of this can be read in this upstream Linux kernel patch:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=75ae04206a4d0e4f541c1d692b7febd1c0fdb814
The tor testcases fail because of this, because function
fd_is_nonblocking() checks hard against the O_NONBLOCK value, while it's
sufficient if it would only check if one of the bits is set.
Fix this trivial issue by just comparing if the returned file descriptor flag
and'ed with O_NONBLOCK is non-zero.
As reference, a failing build on parisc/hppa can be seen here:
https://buildd.debian.org/status/fetch.php?pkg=tor&arch=hppa&ver=0.4.4.6-1%2Bb1&stamp=1612225628&raw=0
2021-02-02 12:20:13 +01:00
Nick Mathewson
a81581e6be
Merge branch 'maint-0.4.5'
...
"ours" to avoid version bump.
2021-02-01 16:15:16 -05:00
Nick Mathewson
732bbff29c
forward-port changelog from 0.4.5.5-rc
2021-02-01 16:15:03 -05:00
Nick Mathewson
40eeb63b5e
bump to 0.4.5.5-rc-dev
2021-02-01 16:14:07 -05:00
David Goulet
6bde42b4de
Merge branch 'maint-0.4.5'
2021-02-01 14:10:06 -05:00
David Goulet
ed373eaa8d
Merge branch 'tor-gitlab/mr/289' into maint-0.4.5
2021-02-01 14:09:58 -05:00
David Goulet
387d1d8835
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-01 12:45:32 -05:00
David Goulet
627e7d6625
Remove unused addr_port_set code
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-02-01 12:28:29 -05:00
David Goulet
bd4a3f64a1
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-01 12:22:23 -05:00
David Goulet
385fda038f
Merge branch 'maint-0.4.5'
2021-02-01 09:24:38 -05:00
David Goulet
838e07be9d
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-01 09:04:50 -05:00
David Goulet
2c3c30e58f
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-01 08:56:27 -05:00
Nick Mathewson
1eec42dee4
Remove changes files merged in 0455-rc
2021-01-29 17:11:13 -05:00
David Goulet
b2434d30d2
Merge branch 'tor-gitlab/mr/285' into ticket2667_044_01
2021-01-29 14:54:21 -05:00
David Goulet
705fd37875
Merge branch 'tor-gitlab/mr/284' into ticket2667_043_01
2021-01-29 14:51:38 -05:00
David Goulet
ec9575944a
Merge branch 'maint-0.4.5'
2021-01-29 14:40:56 -05:00
George Kadianakis
46efbcb116
test: Add test for exits blocking reentry to the network
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-29 14:28:56 -05:00
Roger Dingledine
632688c797
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:28:54 -05:00
David Goulet
8dda7bfdb8
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:28:51 -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
ea38016202
Merge branch 'maint-0.4.3' into maint-0.4.4
2021-01-28 12:46:31 -05:00
David Goulet
79cb47cfc2
Merge branch 'maint-0.3.5' into maint-0.4.3
2021-01-28 12:46:31 -05:00
David Goulet
e50469299b
Merge branch 'maint-0.4.5'
2021-01-28 12:46:31 -05:00
David Goulet
0ec507171d
Merge branch 'maint-0.4.4' into maint-0.4.5
2021-01-28 12:46:31 -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
efba228823
Merge branch 'maint-0.4.5'
2021-01-28 12:42:32 -05:00
David Goulet
545fee6e4f
Merge branch 'maint-0.4.4' into maint-0.4.5
2021-01-28 12:42:32 -05:00
David Goulet
be81ecba3a
Merge branch 'maint-0.4.3' into maint-0.4.4
2021-01-28 12:42:31 -05:00
David Goulet
f058db1f3d
Merge branch 'maint-0.3.5' into maint-0.4.3
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
8549b66ba6
Merge branch 'maint-0.4.5'
2021-01-28 12:36:43 -05:00
David Goulet
50ac9f9229
Merge branch 'maint-0.4.4' into maint-0.4.5
2021-01-28 12:36:42 -05:00
David Goulet
a3f2bc8f13
Merge branch 'maint-0.4.3' into maint-0.4.4
2021-01-28 12:36:42 -05:00
David Goulet
f3da5f88d7
Merge branch 'maint-0.3.5' into maint-0.4.3
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
8cd696ca04
Merge branch 'maint-0.4.5'
2021-01-28 12:14:10 -05:00
David Goulet
c652740515
Merge branch 'maint-0.4.4' into maint-0.4.5
2021-01-28 12:14:10 -05:00
David Goulet
2c4a2a93d3
Merge branch 'maint-0.4.3' into maint-0.4.4
2021-01-28 12:14:10 -05:00
David Goulet
dd5fbc1bd9
Merge branch 'maint-0.3.5' into maint-0.4.3
2021-01-28 12:14:10 -05:00
David Goulet
1887231afb
Merge branch 'tor-gitlab/mr/256' into maint-0.4.4
2021-01-28 12:12:01 -05:00
David Goulet
5c89197c9f
Merge branch 'tor-gitlab/mr/255' into maint-0.4.3
2021-01-28 12:11:33 -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
ba82b685a5
Merge branch 'maint-0.4.5'
2021-01-28 12:08:21 -05:00
David Goulet
09901aeb07
Merge branch 'maint-0.4.4' into maint-0.4.5
2021-01-28 12:08:21 -05:00
David Goulet
ed0fcfd2b8
Merge branch 'maint-0.4.3' into maint-0.4.4
2021-01-28 12:08:21 -05:00
David Goulet
6186288eb6
Merge branch 'maint-0.3.5' into maint-0.4.3
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
f715b5c0d8
Merge branch 'maint-0.4.5'
2021-01-28 12:04:42 -05:00