Don't allow all ORPort values to be NoAdvertise

Fix for bug #9366
This commit is contained in:
Nick Mathewson 2013-08-05 12:14:48 -04:00
parent 0a0f93d277
commit b9f9110ac7
2 changed files with 11 additions and 0 deletions

4
changes/bug9366 Normal file
View File

@ -0,0 +1,4 @@
o Minor features (usability):
- Warn and fail if a server is configured not to advertise any
ORPorts at all. (We need *something* to put in our descriptor, or
we just won't work.)

View File

@ -5509,6 +5509,13 @@ check_server_ports(const smartlist_t *ports,
"listening on one."); "listening on one.");
r = -1; r = -1;
} }
if (n_orport_listeners && !n_orport_advertised) {
log_warn(LD_CONFIG, "We are listening on an ORPort, but not advertising "
"any ORPorts. This will keep us from building a %s "
"descriptor, and make us impossible to use.",
options->BridgeRelay ? "bridge" : "router");
r = -1;
}
if (n_dirport_advertised && !n_dirport_listeners) { if (n_dirport_advertised && !n_dirport_listeners) {
log_warn(LD_CONFIG, "We are advertising a DirPort, but not actually " log_warn(LD_CONFIG, "We are advertising a DirPort, but not actually "
"listening on one."); "listening on one.");