Browse Source

Launch intro services after launching connections; allow ORs to build circuits through as-yet-unconnectd ORs

svn:r1562
Nick Mathewson 20 years ago
parent
commit
2a01e3ad10
2 changed files with 3 additions and 8 deletions
  1. 0 5
      src/or/circuit.c
  2. 3 3
      src/or/directory.c

+ 0 - 5
src/or/circuit.c

@@ -1268,11 +1268,6 @@ static circuit_t *circuit_establish_circuit(uint8_t purpose,
   if(!n_conn || n_conn->state != OR_CONN_STATE_OPEN) { /* not currently connected */
     circ->n_addr = firsthop->addr;
     circ->n_port = firsthop->or_port;
-    if(options.ORPort) { /* we would be connected if he were up. and he's not. */
-      log_fn(LOG_INFO,"Route's firsthop isn't connected.");
-      circuit_mark_for_close(circ);
-      return NULL;
-    }
 
     if(!n_conn) { /* launch the connection */
       n_conn = connection_or_connect(firsthop);

+ 3 - 3
src/or/directory.c

@@ -243,13 +243,13 @@ int connection_dir_process_inbuf(connection_t *conn) {
       } else {
         log_fn(LOG_INFO,"updated routers.");
       }
+      if(options.ORPort) { /* connect to them all */
+        router_retry_connections();
+      }
       if (has_fetched_directory==0) {
         has_fetched_directory=1;
         directory_has_arrived(); /* do things we've been waiting to do */
       }
-      if(options.ORPort) { /* connect to them all */
-        router_retry_connections();
-      }
     }
 
     if(conn->purpose == DIR_PURPOSE_UPLOAD_DIR) {