commit 219edc9ab1d78e5739ed4454d50952af56ff3f43
parent 2bb9acca73f37a1d63485afa6bf1e52e37b333b9
Author: Nick Mathewson <nickm@torproject.org>
Date: Wed, 29 Jul 2020 13:57:43 -0400
Handle ORPort auto when logging about removed orports.
Closes #40075
Diffstat:
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/src/feature/relay/relay_config.c b/src/feature/relay/relay_config.c
@@ -133,6 +133,22 @@ port_warn_nonlocal_ext_orports(const smartlist_t *ports, const char *portname)
} SMARTLIST_FOREACH_END(port);
}
+/**
+ * Return a static buffer describing the port number in @a port, which may
+ * CFG_AUTO_PORT.
+ **/
+static const char *
+describe_portnum(int port)
+{
+ static char buf[16];
+ if (port == CFG_AUTO_PORT) {
+ return "auto";
+ } else {
+ tor_snprintf(buf, sizeof(buf), "%d", port);
+ return buf;
+ }
+}
+
/** Return a static buffer containing the human readable logging string that
* describes the given port object. */
static const char *
@@ -166,8 +182,9 @@ describe_relay_port(const port_cfg_t *port)
addr = "";
}
- tor_snprintf(buf, sizeof(buf), "%sPort %s%s%d",
- type, addr, (strlen(addr) > 0) ? ":" : "", port->port);
+ tor_snprintf(buf, sizeof(buf), "%sPort %s%s%s",
+ type, addr, (strlen(addr) > 0) ? ":" : "",
+ describe_portnum(port->port));
return buf;
}