Handle ORPort auto when logging about removed orports.

Closes #40075
This commit is contained in:
Nick Mathewson 2020-07-29 13:57:43 -04:00 committed by George Kadianakis
parent 2bb9acca73
commit 219edc9ab1

View File

@ -133,6 +133,22 @@ port_warn_nonlocal_ext_orports(const smartlist_t *ports, const char *portname)
} SMARTLIST_FOREACH_END(port); } 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 /** Return a static buffer containing the human readable logging string that
* describes the given port object. */ * describes the given port object. */
static const char * static const char *
@ -166,8 +182,9 @@ describe_relay_port(const port_cfg_t *port)
addr = ""; addr = "";
} }
tor_snprintf(buf, sizeof(buf), "%sPort %s%s%d", tor_snprintf(buf, sizeof(buf), "%sPort %s%s%s",
type, addr, (strlen(addr) > 0) ? ":" : "", port->port); type, addr, (strlen(addr) > 0) ? ":" : "",
describe_portnum(port->port));
return buf; return buf;
} }