diff --git a/src/or/connection.c b/src/or/connection.c index 263762f484..a87f27f8a8 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -824,7 +824,8 @@ static int retry_listeners(int type, struct config_line_t *cfg, int retry_all_listeners(int force) { or_options_t *options = get_options(); - if (retry_listeners(CONN_TYPE_OR_LISTENER, options->ORBindAddress, + if (server_mode(options) && + retry_listeners(CONN_TYPE_OR_LISTENER, options->ORBindAddress, options->ORPort, "0.0.0.0", force)<0) return -1; if (retry_listeners(CONN_TYPE_DIR_LISTENER, options->DirBindAddress, diff --git a/src/or/router.c b/src/or/router.c index 56ad0d0caf..1f67e5bd56 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -451,6 +451,7 @@ int clique_mode(or_options_t *options) { /** Return true iff we are trying to be a server. */ int server_mode(or_options_t *options) { + if (options->ClientOnly) return 0; return (options->ORPort != 0 || options->ORBindAddress); }