aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2017-01-31 18:51:26 -0500
committerNick Mathewson <nickm@torproject.org>2017-01-31 18:51:26 -0500
commita5aec6ac3726d0202be7caa64acf1f02d2eac653 (patch)
tree12c1a3c8d3ece315a9d4a91bed7ed1d36ee4674c /src
parent09a00a2f826233b417066d90dcf5ba9be48b4e13 (diff)
parent6ff7850f2617a0e565c2fd13deb5aaebf39e974a (diff)
downloadtor-a5aec6ac3726d0202be7caa64acf1f02d2eac653.tar.gz
tor-a5aec6ac3726d0202be7caa64acf1f02d2eac653.zip
Merge branch 'bug21108_029'
Diffstat (limited to 'src')
-rw-r--r--src/or/dirserv.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/or/dirserv.c b/src/or/dirserv.c
index 71dcbb6a9c..59d0c88381 100644
--- a/src/or/dirserv.c
+++ b/src/or/dirserv.c
@@ -2232,13 +2232,17 @@ dirserv_set_routerstatus_testing(routerstatus_t *rs)
/** Routerstatus <b>rs</b> is part of a group of routers that are on
* too narrow an IP-space. Clear out its flags since we don't want it be used
* because of its Sybil-like appearance.
+ *
+ * Leave its BadExit flag alone though, since if we think it's a bad exit,
+ * we want to vote that way in case all the other authorities are voting
+ * Running and Exit.
*/
static void
clear_status_flags_on_sybil(routerstatus_t *rs)
{
rs->is_authority = rs->is_exit = rs->is_stable = rs->is_fast =
rs->is_flagged_running = rs->is_named = rs->is_valid =
- rs->is_hs_dir = rs->is_possible_guard = rs->is_bad_exit = 0;
+ rs->is_hs_dir = rs->is_v2_dir = rs->is_possible_guard = 0;
/* FFFF we might want some mechanism to check later on if we
* missed zeroing any flags: it's easy to add a new flag but
* forget to add it to this clause. */