aboutsummaryrefslogtreecommitdiff
path: root/src/or/networkstatus.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2010-09-14 22:19:22 -0400
committerNick Mathewson <nickm@torproject.org>2010-09-14 22:19:22 -0400
commite2b71d884139af902fc9b9222f5b55fe5a7a91ec (patch)
treef56bfffb62b21fa9dae69d1ebd4dd8bb509c4f8c /src/or/networkstatus.c
parenta445daf0cf7e7828aefacae1a11df5e76efacafa (diff)
parentd9e05505606046afa8b346acac5f1e379e6f6e6d (diff)
downloadtor-e2b71d884139af902fc9b9222f5b55fe5a7a91ec.tar.gz
tor-e2b71d884139af902fc9b9222f5b55fe5a7a91ec.zip
Merge branch 'bug911'
Diffstat (limited to 'src/or/networkstatus.c')
-rw-r--r--src/or/networkstatus.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c
index 3ac7b805a0..9bb5546d97 100644
--- a/src/or/networkstatus.c
+++ b/src/or/networkstatus.c
@@ -1981,6 +1981,15 @@ routers_update_status_from_consensus_networkstatus(smartlist_t *routers,
router->is_bad_directory = rs->is_bad_directory;
router->is_bad_exit = rs->is_bad_exit;
router->is_hs_dir = rs->is_hs_dir;
+ } else {
+ /* If we _are_ an authority, we should check whether this router
+ * is one that will cause us to need a reachability test. */
+ routerinfo_t *old_router =
+ router_get_by_digest(router->cache_info.identity_digest);
+ if (old_router != router) {
+ router->needs_retest_if_added =
+ dirserv_should_launch_reachability_test(router, old_router);
+ }
}
if (router->is_running && ds) {
download_status_reset(&ds->v2_ns_dl_status);