[tor-commits] [tor/master] Add parameters for new (prop271) guard algorithm.

nickm at torproject.org nickm at torproject.org
Fri Dec 16 16:26:17 UTC 2016


commit 6a02f9f35a824ced871de7bb80c8266b873a0710
Author: Nick Mathewson <nickm at torproject.org>
Date:   Tue Nov 15 08:38:33 2016 -0500

    Add parameters for new (prop271) guard algorithm.
    
    These are taken from the proposal, and defined there.  Some of them
    should turn into consensus parameters.
    
    Also, remove some dead code that was there to make compilation work,
    and use ATTR_UNUSED like a normal person.
---
 src/or/entrynodes.c    | 34 ++++++++++++++++++++++++----------
 src/or/networkstatus.h |  4 ----
 2 files changed, 24 insertions(+), 14 deletions(-)

diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c
index 461d29f..c6ed59d 100644
--- a/src/or/entrynodes.c
+++ b/src/or/entrynodes.c
@@ -151,6 +151,26 @@ should_apply_guardfraction(const networkstatus_t *ns)
 }
 /**@}*/
 
+/**
+ * @name Parameters for new (prop271) entry guard algorithm.
+ */
+/* XXXX prop271 some of these should be networkstatus parameters */
+#define MIN_SAMPLE_THRESHOLD 15
+#define MAX_SAMPLE_THRESHOLD 50
+#define GUARD_LIFETIME_DAYS 120
+#define REMOVE_UNLISTED_GUARDS_AFTER_DAYS 20
+#define MIN_FILTERED_SAMPLE_SIZE 20
+#define N_PRIMARY_GUARDS 3
+#define PRIMARY_GUARDS_RETRY_SCHEDULE /* XXX prop271 */
+#define OTHER_GUARDS_RETRY_SCHEDULE /* XXX prop271 */
+#define INTERNET_LIKELY_DOWN_INTERVAL (10*60)
+#define NONPRIMARY_GUARD_CONNECT_TIMEOUT 15
+#define NONPRIMARY_GUARD_IDLE_TIMEOUT (10*60)
+#define MEANINGFUL_RESTRICTION_FRAC 0.2
+#define EXTREME_RESTRICTION_FRAC 0.01
+#define GUARD_CONFIRMED_MIN_LIFETIME_DAYS 60
+/**}@*/
+
 /** Allocate a new guard_selection_t */
 
 static guard_selection_t *
@@ -254,12 +274,11 @@ randomize_time(time_t now, time_t max_backdate)
 /**
  * DOCDOC
  */
-STATIC void
+ATTR_UNUSED STATIC void
 entry_guard_add_to_sample(guard_selection_t *gs,
                           node_t *node)
 {
-  (void) entry_guard_add_to_sample; // XXXX prop271 remove -- unused
-  const int GUARD_LIFETIME = 90 * 86400; // xxxx prop271
+  const int GUARD_LIFETIME = GUARD_LIFETIME_DAYS * 86400;
   tor_assert(gs);
   tor_assert(node);
 
@@ -296,7 +315,7 @@ entry_guard_add_to_sample(guard_selection_t *gs,
  * Return a newly allocated string for encoding the persistent parts of
  * <b>guard</b> to the state file.
  */
-STATIC char *
+ATTR_UNUSED STATIC char *
 entry_guard_encode_for_state(entry_guard_t *guard)
 {
   /*
@@ -356,7 +375,7 @@ entry_guard_encode_for_state(entry_guard_t *guard)
  * (if possible) and return an entry_guard_t object for it.  Return NULL
  * on complete failure.
  */
-STATIC entry_guard_t *
+ATTR_UNUSED STATIC entry_guard_t *
 entry_guard_parse_from_state(const char *s)
 {
   /* Unrecognized entries get put in here. */
@@ -1776,9 +1795,6 @@ entry_guards_parse_state_for_guard_selection(
   const char *state_version = state->TorVersion;
   digestmap_t *added_by = digestmap_new();
 
-  if (0) entry_guard_parse_from_state(NULL); // XXXX prop271 remove -- unused
-  if (0) entry_guard_add_to_sample(NULL, NULL); // XXXX prop271 remove
-
   tor_assert(gs != NULL);
 
   *msg = NULL;
@@ -2104,8 +2120,6 @@ entry_guards_update_state(or_state_t *state)
   config_line_t **next, *line;
   guard_selection_t *gs = get_guard_selection_info();
 
-  if (0) entry_guard_encode_for_state(NULL); // XXXX prop271 remove -- unused
-
   tor_assert(gs != NULL);
   tor_assert(gs->chosen_entry_guards != NULL);
 
diff --git a/src/or/networkstatus.h b/src/or/networkstatus.h
index 96f8347..71f36b6 100644
--- a/src/or/networkstatus.h
+++ b/src/or/networkstatus.h
@@ -111,10 +111,6 @@ int32_t networkstatus_get_param(const networkstatus_t *ns,
                                 const char *param_name,
                                 int32_t default_val, int32_t min_val,
                                 int32_t max_val);
-int32_t networkstatus_get_param(const networkstatus_t *ns,
-                                const char *param_name,
-                                int32_t default_val, int32_t min_val,
-                                int32_t max_val);
 int getinfo_helper_networkstatus(control_connection_t *conn,
                                  const char *question, char **answer,
                                  const char **errmsg);





More information about the tor-commits mailing list