summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2006-10-06 04:02:27 +0000
committerRoger Dingledine <arma@torproject.org>2006-10-06 04:02:27 +0000
commitbaf208d7b3365c155293cf372692832d83d6135a (patch)
tree0a80be14b034733fbaea833f7376f61e901c901b
parente8fa65e5f3f18cd3a7c773282c391e48dfd5194c (diff)
downloadtor-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--ChangeLog2
-rw-r--r--src/or/router.c5
2 files changed, 6 insertions, 1 deletions
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);