From 6281c90885b09d3c5faad51cbb4cee686a4bb8ff Mon Sep 17 00:00:00 2001 From: David Goulet Date: Thu, 25 Mar 2021 10:15:50 -0400 Subject: relay: Emit log warning if Address is internal and can't be used Signed-off-by: David Goulet --- changes/ticket40290 | 3 +++ src/app/config/resolve_addr.c | 12 ++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 changes/ticket40290 diff --git a/changes/ticket40290 b/changes/ticket40290 new file mode 100644 index 0000000000..3d3a64be93 --- /dev/null +++ b/changes/ticket40290 @@ -0,0 +1,3 @@ + o Minor bugfix (logging, relay): + - Emit a warning if an Address is found to be internal and tor can't use it. + Fixes bug 40290; bugfix on 0.4.5.1-alpha. diff --git a/src/app/config/resolve_addr.c b/src/app/config/resolve_addr.c index 43a3eb39de..09d4b800f6 100644 --- a/src/app/config/resolve_addr.c +++ b/src/app/config/resolve_addr.c @@ -343,6 +343,18 @@ get_address_from_config(const or_options_t *options, int warn_severity, * used, custom authorities must be defined else it is a fatal error. * Furthermore, if the Address was resolved to an internal interface, we * stop immediately. */ + if (ret == ERR_ADDRESS_IS_INTERNAL) { + static bool logged_once = false; + if (!logged_once) { + log_warn(LD_CONFIG, "Address set with an internal address. Tor will " + "not work unless custom directory authorities " + "are defined (AlternateDirAuthority). It is also " + "possible to use an internal address if " + "PublishServerDescriptor is set to 0 and " + "AssumeReachable(IPv6) to 1."); + logged_once = true; + } + } tor_free(*hostname_out); return FN_RET_BAIL; } -- cgit v1.2.3-54-g00ecf