- May 07, 2021
-
-
Nick Mathewson authored
As of GCC 11.1.1, the compiler warns us about code like this: if (a) b; c; and that's a good thing: we wouldn't want to "goto fail". But we had an instance if this in circuituse.c, which was making our compilation sad. Fixes bug 40380; bugfix on 0.3.0.1-alpha.
-
Nick Mathewson authored
-
- Apr 14, 2021
-
-
David Goulet authored
Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
- Apr 13, 2021
-
-
Nick Mathewson authored
This is a bugfix against my fix for #40133, which has not yet appeared in 0.3.5.
-
David Goulet authored
Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
Nick Mathewson authored
-
- Mar 23, 2021
-
-
David Goulet authored
Fortunately, our tor_free() is setting the variable to NULL after so we were in a situation where NULL was always used instead of the transport name. This first appeared in 894ff2dc and results in basically no bridge with a transport being able to use DoS defenses. Fixes #40345 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
- Mar 16, 2021
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
- Mar 15, 2021
-
-
Nick Mathewson authored
We were looking for the first instance of "directory-signature " when instead the correct behavior is to look for the first instance of "directory-signature " at the start of a line. Unfortunately, this can be exploited as to crash authorities while they're voting. Fixes #40316; bugfix on 0.2.2.4-alpha. This is TROVE-2021-002, also tracked as CVE-2021-28090.
-
Nick Mathewson authored
We're going to disable this feature in all versions for now.
-
Nick Mathewson authored
-
Nick Mathewson authored
-
- Mar 12, 2021
-
-
Nick Mathewson authored
-
- Feb 23, 2021
-
-
David Goulet authored
Now deprecated in libc >= 2.33 Closes #40309 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
Now deprecated in libc >= 2.33 Closes #40309 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
- Feb 19, 2021
-
-
Nick Mathewson authored
It can be called with strings that should have been length-delimited, but which in fact are not. This can cause a CPU-DoS bug or, in a worse case, a crash. Since this function isn't essential, the best solution for older Tors is to just turn it off. Fixes bug 40286; bugfix on 0.2.2.1-alpha when dump_desc() was introduced.
-
- Feb 05, 2021
-
-
Alexander Hansen Færøy authored
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 Hansen Færøy authored
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
-
- Feb 03, 2021
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
David Goulet authored
Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
Any lookup now will be certain and not probabilistic as the bloomfilter. Closes #40269 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
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 authored
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 authored
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>
-
- Jan 29, 2021
-
-
Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
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 authored
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>
-
- Jan 28, 2021
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
- Jan 13, 2021
-
-
Nick Mathewson authored
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.
-
- Jan 12, 2021
-
-
David Goulet authored
-
David Goulet authored
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>
-
- Jan 11, 2021
-
-
Nick Mathewson authored
We're getting "fallback annotation annotation in unreachable code" warnings when we build with ALL_BUGS_ARE_FATAL. This patch fixes that. Fixes bug 40241. Bugfix on 0.3.5.4-alpha.
-
- Dec 17, 2020
-
-
George Kadianakis authored
Bug reported and diagnosed in: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=975977 Fixes bug #40210.
-
- Dec 14, 2020
-
-
Nick Mathewson authored
Previously, our code would send back an error if the socks5 request parser said anything but DONE. But there are other non-error cases, like TRUNCATED: we shouldn't send back errors for them. This patch lowers the responsibility for setting the error message into the parsing code, since the actual type of the error message will depend on what problem was encountered. Fixes bug 40190; bugfix on 0.3.5.1-alpha.
-
- Nov 12, 2020
-
-
Nick Mathewson authored
-