- Dec 06, 2021
-
-
Nick Mathewson authored
This avoids performing and then freeing a lot of small mallocs() if the hash line has too many elements. Fixes one case of bug 40472; resolves OSS-Fuzz 38363. Bugfix on 0.3.1.1-alpha when the consdiff parsing code was introduced.
-
- Nov 06, 2021
-
-
Nick Mathewson authored
From LibreSSL versions 3.2.1 through 3.4.0, our configure script would conclude that TLSv1.3 as supported, but it actually wasn't. This led to annoying breakage like #40128 and #40445. Now we give an error message if we try to build with one of those versions. Closes #40511.
-
- Nov 05, 2021
-
-
Nick Mathewson authored
Previously the logic was reversed, and always gave the wrong answer. This has no other effect than to change whether we suppress deprecated API warnings. Fixes #40429; bugfix on 0.3.5.13.
-
- Oct 29, 2021
-
-
David Goulet authored
Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
- Oct 21, 2021
-
-
David Goulet authored
Closes #40493 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
- Oct 20, 2021
-
-
Alexander Hansen Færøy authored
This patch makes Tor announce the relay specific bridge status page URL when Tor is starting up before bootstrap occours. See: tor#30477
-
- Oct 19, 2021
-
-
David Goulet authored
Closes #40476 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
- Aug 12, 2021
-
-
Alexander Hansen Færøy authored
-
- Aug 11, 2021
-
-
Fixes bug 40078. As reported by hdevalence our batch verification logic can cause an assert crash. The assert happens because when the batch verification of ed25519-donna fails, the code in `ed25519_checksig_batch()` falls back to doing a single verification for each signature. The crash occurs because batch verification failed, but then all signatures individually verified just fine. That's because batch verification and single verification use a different equation which means that there are sigs that can pass single verification but fail batch verification. Fixing this would require modding ed25519-donna which is not in scope for this ticket, and will be soon deprecated in favor of arti and ed25519-dalek, so my branch instead removes batch verification.
-
David Goulet authored
New list for all stable releases. Closes #40447 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
Fixes #40301 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
- Jun 10, 2021
-
-
-
This issue was reported by Jann Horn part of Google's Project Zero. Jann's one-sentence summary: entry/middle relays can spoof RELAY_END cells on half-closed streams, which can lead to stream confusion between OP and exit. Fixes #40389
-
Nick Mathewson authored
Previously, we would detect errors from a missing RNG implementation, but not failures from the RNG code itself. Fortunately, it appears those failures do not happen in practice when Tor is using OpenSSL's default RNG implementation. Fixes bug 40390; bugfix on 0.2.8.1-alpha. This issue is also tracked as TROVE-2021-004. Reported by Jann Horn at Google's Project Zero.
-
Nick Mathewson authored
-
- May 25, 2021
-
-
Nick Mathewson authored
It was used nowhere outside its own unit tests, and it was causing compilation issues with recent OpenSSL 3.0.0 alphas. Closes ticket 40399.
-
- May 18, 2021
-
-
Nick Mathewson authored
Fixes bug 40931; bugfix on 0.2.4.4-alpha. Also tracked as TROVE-2021-005. This issue was reported by Jann Horn from Google's Project Zero.
-
- 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 16, 2021
-
-
Nick Mathewson authored
This function has been a no-op since Libevent 2.0.4-alpha, when libevent got an arc4random() implementation. Libevent has finally removed it, which will break our compilation unless we stop calling it. (This is currently breaking compilation in OSS-fuzz.) Closes #40371.
-
- Apr 13, 2021
-
-
David Goulet authored
Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
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.
-
- Mar 12, 2021
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
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>
-
- 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.
-
- Jan 29, 2021
-
-
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>
-
- Jan 21, 2021
-
-
David Goulet authored
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>
-
- 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
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 05, 2020
-
-
Nick Mathewson authored
Previously, hashlib.shake_256 was a class (if present); now it can also be a function. This change invalidated our old compatibility/workaround code, and made one of our tests fail. Fixes bug 40179; bugfix on 0.3.1.6-rc when the workaround code was added.
-
- Oct 28, 2020
-
-
Nick Mathewson authored
OpenSSL doesn't seem to report error locations in the same way as before, which broke one of our tests. Fixes bug 40170; bugfix on 0.2.8.1-alpha.
-
Nick Mathewson authored
-
- Oct 14, 2020
-
-
Nick Mathewson authored
In brief: we go through a lot of gymnastics to handle huge protover numbers, but after years of development we're not even close to 10 for any of our current versions. We also have a convenient workaround available in case we ever run out of protocols: if (for example) we someday need Link=64, we can just add Link2=0 or something. This patch is a minimal patch to change tor's behavior; it doesn't take advantage of the new restrictions. Implements #40133 and proposal 318.
-