summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2017-11-09 08:15:46 -0500
committerNick Mathewson <nickm@torproject.org>2017-11-09 08:15:46 -0500
commitaa1d90b40c5f6e65b7b95cfb7e192e27e6530c52 (patch)
tree973eb5bf4f8d8b719cff2b8f6ecea8d839d94cb2
parent40c64f45f04a7cc1ec0149b6c8e8805fba9a2259 (diff)
parent0dc55fb24756c5ae80e71f6fce93d97d73efd2fc (diff)
downloadtor-aa1d90b40c5f6e65b7b95cfb7e192e27e6530c52.tar.gz
tor-aa1d90b40c5f6e65b7b95cfb7e192e27e6530c52.zip
Merge branch 'bug23985_029' into maint-0.3.2
-rw-r--r--changes/bug239859
-rw-r--r--src/or/routerlist.c5
2 files changed, 14 insertions, 0 deletions
diff --git a/changes/bug23985 b/changes/bug23985
new file mode 100644
index 0000000000..9cb5937962
--- /dev/null
+++ b/changes/bug23985
@@ -0,0 +1,9 @@
+ o Minor bugfixes (bootstrapping):
+ - Fetch descriptors aggressively whenever we lack enough
+ to build circuits, regardless of how many descriptors we are missing.
+ Previously, we would delay launching the fetch when we had fewer than
+ 15 missing descriptors, even if some of those descriptors were
+ blocking circuits from building. Fixes bug 23985; bugfix on
+ 0.1.1.11-alpha. The effects of this bug became worse in 0.3.0.3-alpha,
+ when we began treating missing descriptors from our primary guards
+ as a reason to delay circuits.
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 51ad551c0d..355f8e0fa0 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -5024,6 +5024,11 @@ launch_descriptor_downloads(int purpose,
log_debug(LD_DIR,
"There are enough downloadable %ss to launch requests.",
descname);
+ } else if (! router_have_minimum_dir_info()) {
+ log_debug(LD_DIR,
+ "We are only missing %d %ss, but we'll fetch anyway, since "
+ "we don't yet have enough directory info.",
+ n_downloadable, descname);
} else {
/* should delay */