Browse Source

when we're trying to build a circuit and we're being picky about what
sort we get but there aren't any suitable servers, try being less picky
rather than simply failing.


svn:r4867

Roger Dingledine 20 years ago
parent
commit
6577e08e38
1 changed files with 2 additions and 0 deletions
  1. 2 0
      src/or/circuitbuild.c

+ 2 - 0
src/or/circuitbuild.c

@@ -1168,6 +1168,8 @@ choose_good_exit_server_general(routerlist_t *dir, int need_uptime,
     smartlist_t *needed_ports = circuit_get_unhandled_ports(time(NULL));
 
     if (best_support == -1) {
+      if (need_uptime || need_capacity)
+        return choose_good_exit_server_general(dir, 0, 0);
       log(LOG_NOTICE, "All routers are down or middleman -- choosing a doomed exit at random.");
     }
     for (try = 0; try < 2; try++) {