tor/src/feature/relay
David Goulet bc5f26ff70 relay: Launch dummy circuit only when descriptor build fails
First, this commit moves the launch_dummy_circuit_as_needed() function into
relay_find_addr.c and renames it to relay_addr_learn_from_dirauth(). This is
an attempt to centralize anything relate with address discovery in the right
module.

Second, when building a descriptor and we fail to discover our address,
immediately launch a dummy circuit to an authority in an attempt to learn our
descriptor.

It is still only done every 20 minutes even though the descriptor build is
done every minute. We ought to avoid load on the authority and if we can't
learn in the first place our address from them, chances are more things are
wrong.

Related to #40071

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-11-17 07:58:26 -05:00
..
.may_include practracker: Add missing .may_include files 2019-12-04 12:15:22 -05:00
circuitbuild_relay.c Add flag for whether an OR conn "counts" for bootstrap tracking 2020-09-18 10:03:57 -04:00
circuitbuild_relay.h Fill in missing IPv6 addresses in extend cells 2020-06-22 15:33:03 -04:00
dns.c Fix typos. 2020-11-12 11:44:09 -05:00
dns.h Make dns_cancel_pending_resolve() STATIC. 2020-02-19 12:30:09 -05:00
dns_structs.h Merge branch 'pre_formatter_cleanups_squashed' 2020-01-09 07:32:39 -05:00
ext_orport.c Fix typos. 2020-11-12 11:44:09 -05:00
ext_orport.h Note module-local functions in ext_orport.h 2020-02-19 12:12:00 -05:00
feature_relay.md Doxygen: rename all .dox files to end with .md 2019-11-15 09:28:12 -05:00
include.am relay: Rename relay_resolve_addr.{c|h} file 2020-05-05 15:34:58 -04:00
onion_queue.c onion_queue.c: use TAILQ_HEAD less confusingly. 2020-02-06 14:33:05 -05:00
onion_queue.h It's 2020. Update the copyright dates with "make update-copyright" 2020-01-08 18:39:17 -05:00
relay_config.c Revise trac.torproject.org urls to refer to gitlab replacements. 2020-08-14 09:21:28 -04:00
relay_config.h Write unittest for #40065. 2020-07-30 19:46:39 +03:00
relay_find_addr.c relay: Launch dummy circuit only when descriptor build fails 2020-11-17 07:58:26 -05:00
relay_find_addr.h relay: Launch dummy circuit only when descriptor build fails 2020-11-17 07:58:26 -05:00
relay_handshake.c Move relay_handshake.[ch] into src/feature/relay, and make it optional 2020-02-20 10:41:06 -05:00
relay_handshake.h Move relay_handshake.[ch] into src/feature/relay, and make it optional 2020-02-20 10:41:06 -05:00
relay_periodic.c Fix typos. 2020-11-12 11:44:09 -05:00
relay_periodic.h It's 2020. Update the copyright dates with "make update-copyright" 2020-01-08 18:39:17 -05:00
relay_stub.c Add a SUBSYS_DECLARE_LOCATION() to every subsystem. 2020-03-26 11:20:20 -04:00
relay_sys.c Add a SUBSYS_DECLARE_LOCATION() to every subsystem. 2020-03-26 11:20:20 -04:00
relay_sys.h It's 2020. Update the copyright dates with "make update-copyright" 2020-01-08 18:39:17 -05:00
router.c relay: Launch dummy circuit only when descriptor build fails 2020-11-17 07:58:26 -05:00
router.h Validate address more carefully when checking self-reachability 2020-08-25 16:02:59 +03:00
routerkeys.c Use the correct SIGNED_KEY_TYPE value for signing->link certs 2020-09-17 08:42:25 -04:00
routerkeys.h relay: Set some output arguments in stubs 2020-03-21 02:48:40 +10:00
routermode.c It's 2020. Update the copyright dates with "make update-copyright" 2020-01-08 18:39:17 -05:00
routermode.h It's 2020. Update the copyright dates with "make update-copyright" 2020-01-08 18:39:17 -05:00
selftest.c Fix typos. 2020-11-12 11:44:09 -05:00
selftest.h Refactor reachability test logging: log exactly what we launch. 2020-06-30 11:12:46 -04:00
transport_config.c It's 2020. Update the copyright dates with "make update-copyright" 2020-01-08 18:39:17 -05:00
transport_config.h It's 2020. Update the copyright dates with "make update-copyright" 2020-01-08 18:39:17 -05:00