- Feb 11, 2021
-
-
David Goulet authored
Fun bug where we thought we were using the default "false" value when an implicit address was detected but if we had an explicit address before, the flag was set to true and then we would only use that value. And thus, for some configurations, implicit addresses would be flagged as explicit and then configuring ports goes bad. Related to #40289 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
- Feb 08, 2021
-
-
Handle the EOF situation for a metrics connection. Furthermore, if we failed to fetch the data from the inbuf properly, mark the socket as closed because the caller, connection_process_inbuf(), assumes that we did so on error. Fixes #40257 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
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>
-
- 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
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>
-
- Feb 01, 2021
-
-
Nick Mathewson authored
-
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
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
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>
-
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
-
Nick Mathewson authored
-
- Jan 27, 2021
-
-
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>
-
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>
-
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>
-
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>
-
- Jan 22, 2021
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
- Jan 21, 2021
-
-
Give more visibility to directory authority operators during the consensus voting process. Closes ticket 40245.
-
This step happens after we make each consensus flavor, and before we worry about sigs or anything. That way if Tor crashes, or if we fail to get enough sigs, we still have a chance to know what consensus we wanted to make.
-
-
Nick Mathewson authored
In addition to simplifying callsites a little, this function gives correct behavior for bridges without a configured transport.
-