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);
} 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) {