diff options
-rw-r--r-- | src/or/directory.c | 9 | ||||
-rw-r--r-- | src/or/main.c | 10 |
2 files changed, 10 insertions, 9 deletions
diff --git a/src/or/directory.c b/src/or/directory.c index 8bf945ab1..e1e3c5a24 100644 --- a/src/or/directory.c +++ b/src/or/directory.c @@ -11,7 +11,6 @@ static int directory_handle_command(connection_t *conn); /********* START VARIABLES **********/ extern or_options_t options; /* command-line and config-file options */ -extern int has_fetched_directory; char rend_publish_string[] = "/rendezvous/publish"; char rend_fetch_url[] = "/rendezvous/"; @@ -243,13 +242,7 @@ 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 */ - } + directory_has_arrived(); /* do things we've been waiting to do */ } if(conn->purpose == DIR_PURPOSE_UPLOAD_DIR) { diff --git a/src/or/main.c b/src/or/main.c index 32486bc95..8eee05674 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -282,14 +282,22 @@ static void conn_close_if_marked(int i) { } } +/* This function is called whenever we successfully pull + * down a directory */ void directory_has_arrived(void) { - log_fn(LOG_INFO, "We now have a directory."); + log_fn(LOG_INFO, "A directory has arrived."); /* just for testing */ // directory_initiate_command(router_pick_directory_server(), // DIR_PURPOSE_FETCH_RENDDESC, "foo", 3); + has_fetched_directory=1; + + if(options.ORPort) { /* connect to them all */ + router_retry_connections(); + } + rend_services_init(); /* get bob to initialize all his hidden services */ } |