- Jul 20, 2020
-
-
David Goulet authored
Instead of a boolean saying "cache_only" add the concept of flags so we add semantic through out the code and allow ourselves to have more options in the future. Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
Tell the relay find address interface to only use the cache so we don't trigger an address resolve everytime the "GETINFO address" is called. Related #40025 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
We now use relay_address_new_suggestion() when a suggested address is received from a directory. Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
Previous development introduced the error of using 0/1 for a boolean parameter. Fix that everywhere Related #40025 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
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
Unused at this commit. Closes #40025 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
Remove use of router_pick_published_address() and use relay_find_addr_to_publish instead. Related to #40025 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
At the moment, this command only returns the IPv4. Do so by using the new relay_find_addr_to_publish(). New commands to return IPv4 and IPv6 will be done with the work in tor#40039. Related to #40025 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
Use the new relay_has_address_set() interface when deciding if we need to fetch directory information from an authority as a relay. If no IPv4 address is found, we'll proceed with a fetch so we can learn our address in the HTTP header or NETINFO cell that a trusted authority will send us back. Related to #40025 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
Tor periodic events have moved to a role base model where relays have specific events. One of those is to rebuild the descriptor and that is ran every minute. This removes the call to router_rebuild_descriptor() from router_get_my_routerinfo_with_err() because that is the only code path that can call for a rebuild every second. Instead, when we mark the descriptor as dirty, immediately reschedule the descriptor check periodic event so it can be rebuilt that way instead of randomly when router_get_my_routerinfo_with_err() is called. Related to #40025 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
When a relay builds a new descriptor, use the new relay_find_addr_to_publish() interface to find the address to publish per family. This commit also make the check for address consistency to also work for a configured IPv6 for which before it was IPv4 only. Related to #40025 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
In case the transport has no usable address configured (likely 0.0.0.0 or [::]), attempt to find the IPv4 and on failure, fallback to the IPv6. If none are found, a log error is emitted and the transport is skiped. Related to #40025 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
In order for a relay to find which address to publish in its descriptor, router_pick_published_address() is used. However, that function only supports AF_INET and uses the directory server suggested address discovery mechanism. This new function uses a new interface so that the caller can request an address family and get the tor_addr_t object. Furthermore, it drops the use of directory servers address discovery (tor#33244) and instead uses the new suggested cache that is populated at the moment from data in the NETINFO cell coming from the directory authorities. At this commit, function is unused. Related to #40025 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
Commit b14b1f2b was a mistake. In case an Address statement is missing for the wanted family but another one exists for another family, simply continue the address discovery. It is not a mistake to be missing an Address statement for a family because the address could simply be discovered by the next methods. Not all address family requires a specific Address statement. However, we do bail if we couldn't find any valid address for the requested family _and_ a resolve failed meaning we had a hostname but couldn't resolve it. In that case, we can't know if that hostname would have been for v4 or v6 thus we can't continue the address discovery properly. Couple unit tests case were removed to match this reality. Related #40025 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
Alexander Hansen Færøy authored
-
Alexander Hansen Færøy authored
-
- Jul 17, 2020
-
-
Nick Mathewson authored
This differs from my old git-resquash.sh in that it uses the newer `git rebase --keep-base` if available
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
Instead of replacing connection_t.{addr,port} with a canonical orport, and tracking the truth in real_addr, we now leave connection_t.addr alone, and put the canonical address in canonical_orport. Closes #40042 Closes #33898
-
Nick Mathewson authored
-
Nick Mathewson authored
Our old https://bugs.torproject.org/nnnn URLs only work for bugs numbered before 40000. Newer gitlab bugs need to have specific projects mentioned. This patch assumes that bugs are in tpo/core/tor by default, but allows us to refer to several other projects by saying e.g. "chutney#40002" if we want.
-
- Jul 16, 2020
-
-
Nick Mathewson authored
-
Nick Mathewson authored
-
David Goulet authored
-
David Goulet authored
Tracing.md moved to doc/tracing/ so fix the distcheck path in include.am. Also add the new EventsCircuit.md file. Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
Closes tpo/core/team#3. Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
Found by coverity with CID 1465290. Fix unreleased code. Fixes #40049 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
Alexander Hansen Færøy authored
-
Nick Mathewson authored
This fixes CID 1465291, which was a complaint that we never actually checked the return value of this function. It turns out that this function was failing, and it didn't matter, because it wasn't necessary for this test.
-
David Goulet authored
-
Closes #40046.
-
This is an automated commit made with a python script. After running the automated script, I had to hand-revert the cases where it made the conversion functions call themselves. Additionally, I had to edit a variable declaration in control_bootstrap.c so that the result of a const cast could be put in a const field.
-
Alexander Hansen Færøy authored
See: tor#40048.
-
Nick Mathewson authored
-
Alexander Hansen Færøy authored
-
Create a doc/tracing/ directory to contain a top level README.md which is the previously named Tracing.md and add the EventsCircuit.md which describes the circuit subsystem tracing events in depth. Closes #40036 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-