diff options
author | Roger Dingledine <arma@torproject.org> | 2006-10-06 04:02:27 +0000 |
---|---|---|
committer | Roger Dingledine <arma@torproject.org> | 2006-10-06 04:02:27 +0000 |
commit | baf208d7b3365c155293cf372692832d83d6135a (patch) | |
tree | 0a80be14b034733fbaea833f7376f61e901c901b | |
parent | e8fa65e5f3f18cd3a7c773282c391e48dfd5194c (diff) | |
download | tor-baf208d7b3365c155293cf372692832d83d6135a.tar.gz tor-baf208d7b3365c155293cf372692832d83d6135a.zip |
bugfix: When testing reachability of our dirport, don't launch a new
test if there's already one in progress.
svn:r8604
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | src/or/router.c | 5 |
2 files changed, 6 insertions, 1 deletions
@@ -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); |