Browse Source

Allow bootstrapping networks to have Exit flags

Relevant for non-test networks
Sebastian Hahn 6 years ago
parent
commit
4d6b679318
2 changed files with 10 additions and 5 deletions
  1. 3 0
      changes/bug24137
  2. 7 5
      src/or/dirserv.c

+ 3 - 0
changes/bug24137

@@ -0,0 +1,3 @@
+  o Minor bugfixes (Private Networks):
+   - Give out Exit flags in bootstrapping networks. Fixes bug 24137;
+     bugfix on 0.2.3.1-alpha.

+ 7 - 5
src/or/dirserv.c

@@ -1519,15 +1519,17 @@ dirserv_compute_performance_thresholds(digestmap_t *omit_as_sybil)
         node->ri &&
         node->ri->purpose != ROUTER_PURPOSE_BRIDGE)
       continue;
+
+    routerinfo_t *ri = node->ri;
+    /* resolve spurious clang shallow analysis null pointer errors */
+    tor_assert(ri);
+    node->is_exit = (!router_exit_policy_rejects_all(ri) &&
+                     exit_policy_is_general_exit(ri->exit_policy));
+
     if (router_counts_toward_thresholds(node, now, omit_as_sybil,
                                         require_mbw)) {
-      routerinfo_t *ri = node->ri;
       const char *id = node->identity;
       uint32_t bw_kb;
-      /* resolve spurious clang shallow analysis null pointer errors */
-      tor_assert(ri);
-      node->is_exit = (!router_exit_policy_rejects_all(ri) &&
-                       exit_policy_is_general_exit(ri->exit_policy));
       uptimes[n_active] = (uint32_t)real_uptime(ri, now);
       mtbfs[n_active] = rep_hist_get_stability(id, now);
       tks  [n_active] = rep_hist_get_weighted_time_known(id, now);