summaryrefslogtreecommitdiff
path: root/changes
AgeCommit message (Collapse)Author
2021-01-29exit: Deny re-entry into the networkRoger Dingledine
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-27relay: Don't trigger an address discovery without an ORPortDavid Goulet
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>
2021-01-22Merge branch 'mr/251' into maint-0.4.5George Kadianakis
2021-01-21Changes file for #40238.George Kadianakis
2021-01-21Merge branch 'maint-0.4.4' into maint-0.4.5David Goulet
2021-01-21Merge branch 'maint-0.4.3' into maint-0.4.4David Goulet
2021-01-21Merge branch 'maint-0.3.5' into maint-0.4.3David Goulet
2021-01-21build: Add "make lsp" commandDavid Goulet
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-21Merge branch 'tor-gitlab/mr/270' into maint-0.4.5David Goulet
2021-01-21log more during consensus voting processRoger Dingledine
Give more visibility to directory authority operators during the consensus voting process. Closes ticket 40245.
2021-01-21fix changes fileNick Mathewson
2021-01-21Merge remote-tracking branch 'tor-gitlab/mr/269' into maint-0.4.5Nick Mathewson
2021-01-21Merge remote-tracking branch 'tor-gitlab/mr/268' into maint-0.4.5Nick Mathewson
2021-01-21Merge branch 'tor-gitlab/mr/265' into maint-0.4.5David Goulet
2021-01-20config: Remove Bridge <-> ClientTransportPlugin validationDavid Goulet
This validation was only done if DisableNetwork was off because we would use the global list of transports/bridges and DisableNetwork would not populate it. This was a problem for any user using DisableNetwork which includes Tor Browser and thus leading to the Bug() warning. Without a more in depth refactoring, we can't do this validation without the global list. The previous commit makes it that any connection to a bridge without a transport won't happen thus we keep the security feature of not connecting to a bridge without its corresponding transport. Related to #40106 Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-20Limit the number of items in the consdiffmgr on Windows.Alexander Færøy
This patch limits the number of items in the consensus diff cache to 64 on the Windows platform. Hopefully, this will allow us to investigate a smarter fix while avoiding the situation reported in tor#24857 where Windows relay operators report Tor using 100% CPU. See: tor#24857
2021-01-19Merge remote-tracking branch 'tor-gitlab/mr/261' into maint-0.4.5Nick Mathewson
2021-01-19Merge remote-tracking branch 'tor-gitlab/mr/163' into maint-0.4.3Nick Mathewson
2021-01-19Merge remote-tracking branch 'tor-gitlab/mr/143' into maint-0.3.5Nick Mathewson
2021-01-19Merge branch 'maint-0.4.4' into maint-0.4.5Nick Mathewson
2021-01-19Merge branch 'maint-0.4.3' into maint-0.4.4Nick Mathewson
2021-01-19Merge branch 'maint-0.3.5' into maint-0.4.3Nick Mathewson
2021-01-19Remove unnecessary non-fatal assertion.Alexander Færøy
This patch removes a call to `tor_assert_nonfatal()` if `extend_info_from_node()` returns NULL. This is unnecessary as we already handle the case where `info` is NULL in the next `if (!info) { ... }` block in the code. See: tor#32666.
2021-01-19Merge remote-tracking branch 'tor-gitlab/mr/260' into maint-0.4.5Nick Mathewson
2021-01-15Revert "IPv6 sybil: consider addresses in the same /64 to be equal."David Goulet
This reverts commit d07f17f67685d75fec8a851b3ae3d157c1e31aa3. We don't want to consider an entire routable IPv6 network as sybil if more than 2 relays happen to be on it. For path selection it is very important but not for selecting relays in the consensus. Fixes #40243
2021-01-14relay: Don't BUG() if we can't find authority descriptorDavid Goulet
We can end up trying to find our address from an authority while we don't have yet its descriptor. In this case, don't BUG() and just come back later. Closes #40231 Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-13Better fix for #40241 (--enable-all-bugs-are-fatal and fallthrough)Nick Mathewson
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-13m4: Change LIBS order of TOR_SEARCH_LIBRARY()David Goulet
Some gcc versions do explode if the order of the linker flags are not correct. One issue was statically building OpenSSL which would require that "-lssl -lcrypto" be put _before_ the "-lpthread -ldl" flags. I have not such problem with GCC 10 but does with GCC 9. Closes #33624 Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-12Merge branch 'ticket40237_044_01' into ticket40237_045_01David Goulet
2021-01-12Merge branch 'ticket40237_043_01' into ticket40237_044_01David Goulet
2021-01-12Merge branch 'ticket40237_035_01' into ticket40237_043_01David Goulet
2021-01-12hs-v3: Require reasonably live consensusDavid Goulet
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-11Merge branch 'maint-0.4.3' into maint-0.4.4Nick Mathewson
2021-01-11Merge branch 'maint-0.4.4' into maint-0.4.5Nick Mathewson
2021-01-11Merge branch 'maint-0.3.5' into maint-0.4.3Nick Mathewson
2021-01-11Fix warnings in current debian-hardened CI.Nick Mathewson
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.
2020-12-21relay: Log address suggested by directory authoritiesDavid Goulet
If we get an address suggestion from a directory authority and we have no address configured or discovered, log it at notice level so the operator can learn what address will be used by Tor. Fixes #40201 Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-12-21Merge branch 'mr_240_squashed' into maint-0.4.5Nick Mathewson
2020-12-21relay: Report the entire content of a stats fileDavid Goulet
It turns out that 9 years ago, we stopped appending data into stats file and rather overwrite everytime we have new stats (see commit a6a127c833eace1100aca7ab8ad118862bb8a8b9) The load_stats_file() function was still thinking that we could have the same line many times in the file which turns out to be false since 9 years ago. However, that did not cause problem until IPv6 connection stats came along which introduced a new line in conn-stats: "ipv6-conn-bi-direct ...". Before, that file contained a single line starting with the tag "conn-bi-direct". That very tag appears also in the IPv6 tag (see above) so the load_stats_file() function would consider that the IPv6 line as the last tag to be appeneded to the file and fail to report the line above (for IPv4). It would actually truncate the IPv6 line and report it (removing the "ipv6-" part). In other words, "conn-bi-direct" was not reported and instead "ipv6-conn-bi-direct" was used without the "ipv6-" part. This commit refactors the entire function so that now it looks for a "timestamp tag" to validate and then if everything is fine, returns the entire content of the file. The refactor simplifies the function, adds logging in case of failures and modernize it in terms of coding standard. Unit tests are also added that makes sure the loaded content matches the entire file if timestamp validation passes. Fixes #40226 Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-12-17Merge branch 'tor-gitlab/mr/243' into maint-0.4.5David Goulet
2020-12-17Fix Keccak undefined behavior on exotic platforms.George Kadianakis
Bug reported and diagnosed in: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=975977 Fixes bug #40210.
2020-12-16Merge branch 'tor-gitlab/mr/234' into maint-0.4.5Alexander Færøy
2020-12-16config: Catch missing Bridge for ClientTransportPluginDavid Goulet
When making sure we have a Bridge line with a ClientTransportPlugin, we now check in the managed proxy list and so we can catch any missing ClientTransportPlugin for a Bridge line. Fixes #40106 Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-12-16Merge remote-tracking branch 'tor-gitlab/mr/237' into maint-0.4.5Alexander Færøy
2020-12-15Merge branch 'tor-gitlab/mr/239' into maint-0.4.5David Goulet
2020-12-14Socks5: handle truncated client requests correctlyNick Mathewson
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.
2020-12-09Tweak the documentation for approved-routersNick Mathewson
Document !badexit, and improve the documentation for !invalid. Closes #40188.
2020-12-08relay: Avoid log reachability test for bandwidth test circuitDavid Goulet
Fixes #40205 Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-12-08configure: Fix the --enable-static-tor switchDavid Goulet
The "-static" compile flag was set globally which means that all autoconf test were attempting to be built statically and lead to failures of detecting OpenSSL libraries and others. This commit adds this flag only to the "tor" binary build. There is also a fix on where to find libevent.a since it is using libtool, it is in .libs/. At this commit, there are still warnings being emitted that informs the user that the built binary must still be linked dynamically with glibc. Fixes #40111 Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-11-19Merge branch 'maint-0.4.4' into maint-0.4.5Alexander Færøy