diff --git a/ChangeLog b/ChangeLog index b86e467668..051c7a468a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -85,6 +85,8 @@ Changes in version 0.1.2.2-alpha - 2006-10-?? Previously, the server would give them no answer at all. o Minor Bugfixes: + - When testing reachability of our dirport, don't launch a new + test if there's already one in progress. - Two small performance improvements on parsing descriptors. - We were building exactly the wrong circuits when we anticipated hidden service requirements, meaning Tor would have to build all diff --git a/src/or/router.c b/src/or/router.c index 47897669da..e785096915 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -452,7 +452,10 @@ consider_testing_reachability(int test_or, int test_dir) circuit_launch_by_router(CIRCUIT_PURPOSE_TESTING, me, 0, 1, 1); } - if (test_dir && !check_whether_dirport_reachable()) { + if (test_dir && !check_whether_dirport_reachable() && + !connection_get_by_type_addr_port_purpose( + CONN_TYPE_DIR, me->addr, me->dir_port, + DIR_PURPOSE_FETCH_SERVERDESC)) { /* ask myself, via tor, for my server descriptor. */ directory_initiate_command_router(me, DIR_PURPOSE_FETCH_SERVERDESC, 1, "authority", NULL, 0);