[tor-commits] [tor/master] Make num_bridges_usable work properly.

nickm at torproject.org nickm at torproject.org
Wed Apr 23 15:01:10 UTC 2014


commit 6ab10a546663b509d189ce16645b11af0e83d41c
Author: Nick Mathewson <nickm at torproject.org>
Date:   Tue Apr 8 15:49:49 2014 -0400

    Make num_bridges_usable work properly.
    
    My first implementation was broken, since it returned "whether there
    is one bridge" rather than "how many bridges."
    
    Also, the implementation for the n_options_out feature in
    choose_random_entry_impl was completely broken due to a missing *.
---
 src/or/entrynodes.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c
index a08fda4..da3521e 100644
--- a/src/or/entrynodes.c
+++ b/src/or/entrynodes.c
@@ -1013,7 +1013,7 @@ choose_random_entry_impl(cpath_build_state_t *state, int for_directory,
   const int num_needed = decide_num_guards(options, for_directory);
 
   if (n_options_out)
-    n_options_out = 0;
+    *n_options_out = 0;
 
   if (chosen_exit) {
     nodelist_add_node_and_family(exit_family, chosen_exit);
@@ -2215,8 +2215,8 @@ any_bridge_descriptors_known(void)
   return choose_random_entry(NULL) != NULL;
 }
 
-/** Return the number of bridges that have descriptors that
- * are marked with purpose 'bridge' and are running.
+/** Return the number of bridges that have descriptors that are marked with
+ * purpose 'bridge' and are running.
  */
 static int
 num_bridges_usable(void)
@@ -2224,7 +2224,7 @@ num_bridges_usable(void)
   int n_options = 0;
   tor_assert(get_options()->UseBridges);
   (void) choose_random_entry_impl(NULL, 0, 0, &n_options);
-  return n_options == 1;
+  return n_options;
 }
 
 /** Return 1 if there are any directory conns fetching bridge descriptors





More information about the tor-commits mailing list