- Jul 21, 2020
-
-
Nick Mathewson authored
-
Nick Mathewson authored
Rationale: these don't actually give the first advertised address/port, but instead give us the first such port that we are _configured_ to advertise. Putting them in a portconf_ namespace therefore makes sense. Similarly, there are no other functions that get the first configured advertised addr/port, so the "by_type_af()" part is needless. This is an automated commit, generated by this command: ./scripts/maint/rename_c_identifier.py \ get_first_advertised_addr_by_type_af portconf_get_first_advertised_addr \ get_first_advertised_port_by_type_af portconf_get_first_advertised_port
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
Nick Mathewson authored
-
David Goulet authored
This option controls if a tor relay will attempt address auto discovery and thus ultimately publish an IPv6 ORPort in the descriptor. Behavior is from proposal 312 section 3.2.6. Closes #33245 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
David Goulet authored
The ORPort can be IPv4Only which means that even if we can auto discover an IPv6 address, we should not publish it because it would have an ORPort of 0. Fixes #40054 Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
- Jul 20, 2020
-
-
Jigsaw52 authored
The need for casting negative syscall arguments depends on the glibc version. This affects the rules for the openat syscall which uses the constant AT_FDCWD that is defined as a negative number. This commit adds logic to only apply the cast when necessary, on glibc versions from 2.27 onwards.
-
Jigsaw52 authored
Different versions of glibc use either open or openat for the opendir function. This commit adds logic to use the correct rule for each glibc version, namely: - Until 2.14 open is used - From 2.15 to to 2.21 openat is used - From 2.22 to 2.26 open is used - From 2.27 onwards openat is used
-
Jigsaw52 authored
The need for casting negative syscall arguments depends on the glibc version. This affects the rules for the openat syscall which uses the constant AT_FDCWD that is defined as a negative number. This commit adds logic to only apply the cast when necessary, on glibc versions from 2.27 onwards.
-
Nick Mathewson authored
-
Nick Mathewson authored
-
David Goulet authored
Dirauth code use the warn log severity when calling find_my_address() which made it that every time we would find an address, it would log a warning. These are not needed below info level and thus set them to info level. An IP change is set to notice by default. Signed-off-by:
David Goulet <dgoulet@torproject.org>
-
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
-
-
Jigsaw52 authored
Also adds the compiled and running glibc version when using the --library-versions flag.
-
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
-