summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2013-02-04 12:34:14 -0500
committerNick Mathewson <nickm@torproject.org>2013-02-04 12:34:14 -0500
commit12f2d986f327de281cb70377a7cf926b0f40f4e4 (patch)
tree11c924c5ae5c0dab28c53395499af3d1833aae80
parentb1cb9ebb1c6fb8d6126e2af143477d2e9ac24ead (diff)
parent2e9cd4b7241719abe6f6dfd6ed4c1ad1c1054034 (diff)
downloadtor-12f2d986f327de281cb70377a7cf926b0f40f4e4.tar.gz
tor-12f2d986f327de281cb70377a7cf926b0f40f4e4.zip
Merge branch 'authdir_quick_fix'
-rw-r--r--src/or/nodelist.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/or/nodelist.c b/src/or/nodelist.c
index 9f77dcafed..ee1bc392e3 100644
--- a/src/or/nodelist.c
+++ b/src/or/nodelist.c
@@ -1313,6 +1313,7 @@ compute_frac_paths_available(const networkstatus_t *consensus,
smartlist_t *myexits= smartlist_new();
double f_guard, f_mid, f_exit, f_myexit;
int np, nu; /* Ignored */
+ const int authdir = authdir_mode_v2(options) || authdir_mode_v3(options);
count_usable_descriptors(num_present_out, num_usable_out,
mid, consensus, options, now, NULL, 0);
@@ -1321,8 +1322,13 @@ compute_frac_paths_available(const networkstatus_t *consensus,
options->EntryNodes, 0);
} else {
SMARTLIST_FOREACH(mid, const node_t *, node, {
- if (node->is_possible_guard)
- smartlist_add(guards, (node_t*)node);
+ if (authdir) {
+ if (node->rs && node->rs->is_possible_guard)
+ smartlist_add(guards, (node_t*)node);
+ } else {
+ if (node->is_possible_guard)
+ smartlist_add(guards, (node_t*)node);
+ }
});
}