[tor-commits] [tor/master] Don't rely on consensus parameter to use a single guard.

nickm at torproject.org nickm at torproject.org
Sat Jun 11 14:07:33 UTC 2016


commit 36dd9538d9163f2489fa45e546389d0a262c8c9c
Author: George Kadianakis <desnacked at riseup.net>
Date:   Tue Jun 7 17:22:47 2016 +0300

    Don't rely on consensus parameter to use a single guard.
---
 changes/bug17688    |  3 +++
 src/or/entrynodes.c | 11 ++++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/changes/bug17688 b/changes/bug17688
new file mode 100644
index 0000000..aae6008
--- /dev/null
+++ b/changes/bug17688
@@ -0,0 +1,3 @@
+  o Minor bugfixes (guard selection):
+    - Use a single entry guard even if the NumEntryGuards consensus parameter
+      is not provided. Fixes bug #17688.
diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c
index 310a948..93300e7 100644
--- a/src/or/entrynodes.c
+++ b/src/or/entrynodes.c
@@ -76,6 +76,14 @@ static const node_t *choose_random_entry_impl(cpath_build_state_t *state,
                                               int *n_options_out);
 static int num_bridges_usable(void);
 
+/* Default number of entry guards in the case where the NumEntryGuards
+ * consensus parameter is not set */
+#define DEFAULT_N_GUARDS 1
+/* Minimum and maximum number of entry guards (in case the NumEntryGuards
+ * consensus parameter is set). */
+#define MIN_N_GUARDS 1
+#define MAX_N_GUARDS 10
+
 /** Return the list of entry guards, creating it if necessary. */
 const smartlist_t *
 get_entry_guards(void)
@@ -488,7 +496,8 @@ decide_num_guards(const or_options_t *options, int for_directory)
     return options->NumEntryGuards;
 
   /* Use the value from the consensus, or 3 if no guidance. */
-  return networkstatus_get_param(NULL, "NumEntryGuards", 3, 1, 10);
+  return networkstatus_get_param(NULL, "NumEntryGuards", DEFAULT_N_GUARDS,
+                                 MIN_N_GUARDS, MAX_N_GUARDS);
 }
 
 /** If the use of entry guards is configured, choose more entry guards





More information about the tor-commits mailing list