瀏覽代碼

Set default minimum bandwidth for exit flag to zero for TestingTorNetwork

Andrea Shepard 11 年之前
父節點
當前提交
5c5198e713
共有 3 個文件被更改,包括 12 次插入2 次删除
  1. 1 0
      src/or/config.c
  2. 8 2
      src/or/dirserv.c
  3. 3 0
      src/or/or.h

+ 1 - 0
src/or/config.c

@@ -341,6 +341,7 @@ static config_var_t option_vars_[] = {
   V(PerConnBWRate,               MEMUNIT,  "0"),
   V(PidFile,                     STRING,   NULL),
   V(TestingTorNetwork,           BOOL,     "0"),
+  V(TestingMinExitFlagThreshold, MEMUNIT,  "0"),
   V(TestingMinFastFlagThreshold, MEMUNIT,  "0"),
   V(OptimisticData,              AUTOBOOL, "auto"),
   V(PortForwarding,              BOOL,     "0"),

+ 8 - 2
src/or/dirserv.c

@@ -1894,11 +1894,17 @@ router_counts_toward_thresholds(const node_t *node, time_t now,
   /* Have measured bw? */
   int have_mbw =
     dirserv_has_measured_bw(node->ri->cache_info.identity_digest);
+  uint64_t min_bw = ABSOLUTE_MIN_BW_VALUE_TO_CONSIDER;
+  const or_options_t *options = get_options();
+
+  if (options->TestingTorNetwork) {
+    min_bw = (int64_t)options->TestingMinExitFlagThreshold;
+  }
 
   return node->ri && router_is_active(node->ri, node, now) &&
     !digestmap_get(omit_as_sybil, node->ri->cache_info.identity_digest) &&
-    (dirserv_get_credible_bandwidth(node->ri) >=
-       ABSOLUTE_MIN_BW_VALUE_TO_CONSIDER) && (have_mbw || !require_mbw);
+    (dirserv_get_credible_bandwidth(node->ri) >= min_bw) &&
+    (have_mbw || !require_mbw);
 }
 
 /** Look through the routerlist, the Mean Time Between Failure history, and

+ 3 - 0
src/or/or.h

@@ -3910,6 +3910,9 @@ typedef struct {
    * of certain configuration options. */
   int TestingTorNetwork;
 
+  /** Minimum value for the Exit flag threshold on testing networks. */
+  uint64_t TestingMinExitFlagThreshold;
+
   /** Minimum value for the Fast flag threshold on testing networks. */
   uint64_t TestingMinFastFlagThreshold;