aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2007-10-16 14:25:14 +0000
committerNick Mathewson <nickm@torproject.org>2007-10-16 14:25:14 +0000
commit03ce9d3ee721ca60f052abe1602b7c134e42d303 (patch)
tree4aa9c8eabc584697a2ad7262970b429e38dd4e00
parent9ca262583312bcb63ea269cca54e0dfd5e1f56d5 (diff)
downloadtor-03ce9d3ee721ca60f052abe1602b7c134e42d303.tar
tor-03ce9d3ee721ca60f052abe1602b7c134e42d303.tar.gz
r15848@catbus: nickm | 2007-10-16 10:17:02 -0400
Only drop routers for not appearing in the consensus if their purpose is GENERAL. svn:r11984
-rw-r--r--src/or/routerlist.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index 48536fd9c..d5d939378 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -2667,11 +2667,10 @@ router_add_to_routerlist(routerinfo_t *router, const char **msg,
}
}
- /*XXXX020 I had suspicions about whether this was correct, but now I
- * can't remember why. :( -NM */
- if (consensus && !in_consensus && !authdir_mode(get_options())) {
- /* If it's not listed in the consensus, then don't consider replacing
- * the latest router with it. */
+ if (router->purpose == ROUTER_PURPOSE_GENERAL &&
+ consensus && !in_consensus && !authdir_mode(get_options())) {
+ /* If it's a general router not listed in the consensus, then don't
+ * consider replacing the latest router with it. */
if (!from_cache && should_cache_old_descriptors())
signed_desc_append_to_journal(&router->cache_info,
router_get_store(routerlist, router));