]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
relay: Log if we can't find an address for configured ORPort
authorDavid Goulet <dgoulet@torproject.org>
Fri, 22 Jan 2021 15:59:05 +0000 (10:59 -0500)
committerNick Mathewson <nickm@torproject.org>
Wed, 27 Jan 2021 14:36:17 +0000 (09:36 -0500)
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>
src/feature/relay/relay_find_addr.c

index e942a8fa77e1fef465d7e441b77f3e285e56078a..39e1cc6a1933dab92f5b44a1e5a6095ce67314c9 100644 (file)
@@ -144,6 +144,17 @@ relay_find_addr_to_publish, (const or_options_t *options, int family,
     if (find_my_address(options, family, LOG_INFO, addr_out, NULL, NULL)) {
       goto found;
     }
+    /* No publishable address was found even though we have an ORPort thus
+     * print a notice log so operator can notice. We'll do that every hour so
+     * it is not too spammy but enough so operators address the issue. */
+    static ratelim_t rlim = RATELIM_INIT(3600);
+    log_fn_ratelim(&rlim, LOG_NOTICE, LD_CONFIG,
+                   "Unable to find %s address for ORPort %u. "
+                   "You might want to specify %sOnly to it or set an "
+                   "explicit address or set Address.",
+                   fmt_af_family(family),
+                   routerconf_find_or_port(options, family),
+                   fmt_af_family(family));
   }
 
   /* Third, consider address from our suggestion cache. */