Ver código fonte

Add DisableOOSCheck option, on by default until we have better heuristics

Andrea Shepard 7 anos atrás
pai
commit
31028af440
3 arquivos alterados com 9 adições e 0 exclusões
  1. 1 0
      src/or/config.c
  2. 5 0
      src/or/connection.c
  3. 3 0
      src/or/or.h

+ 1 - 0
src/or/config.c

@@ -211,6 +211,7 @@ static config_var_t option_vars_[] = {
   V(CountPrivateBandwidth,       BOOL,     "0"),
   V(DataDirectory,               FILENAME, NULL),
   V(DataDirectoryGroupReadable,  BOOL,     "0"),
+  V(DisableOOSCheck,             BOOL,     "1"),
   V(DisableNetwork,              BOOL,     "0"),
   V(DirAllowPrivateAddresses,    BOOL,     "0"),
   V(TestingAuthDirTimeToLearnReachability, INTERVAL, "30 minutes"),

+ 5 - 0
src/or/connection.c

@@ -4673,6 +4673,11 @@ connection_check_oos(int n_socks, int failed)
   int target_n_socks = 0, moribund_socks, socks_to_kill;
   smartlist_t *conns;
 
+  /* Early exit: is OOS checking disabled? */
+  if (get_options()->DisableOOSCheck) {
+    return;
+  }
+
   /* Sanity-check args */
   tor_assert(n_socks >= 0);
 

+ 3 - 0
src/or/or.h

@@ -4458,6 +4458,9 @@ typedef struct {
    * participate in the protocol. If on (default), a flag is added to the
    * vote indicating participation. */
   int AuthDirSharedRandomness;
+
+  /** If 1, we skip all OOS checks. */
+  int DisableOOSCheck;
 } or_options_t;
 
 /** Persistent state for an onion router, as saved to disk. */