commit b9f9110ac77876b0c8c4fda19b6bb138e60da655
Author: Nick Mathewson <nickm(a)torproject.org>
Date: Mon Aug 5 12:14:48 2013 -0400
Don't allow all ORPort values to be NoAdvertise
Fix for bug #9366
---
changes/bug9366 | 4 ++++
src/or/config.c | 7 +++++++
2 files changed, 11 insertions(+)
diff --git a/changes/bug9366 b/changes/bug9366
new file mode 100644
index 0000000..acc919e
--- /dev/null
+++ b/changes/bug9366
@@ -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.)
diff --git a/src/or/config.c b/src/or/config.c
index 72ceea3..ef90f23 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -5509,6 +5509,13 @@ check_server_ports(const smartlist_t *ports,
"listening on one.");
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) {
log_warn(LD_CONFIG, "We are advertising a DirPort, but not actually "
"listening on one.");