]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Remove client-side bad directory logic
authorSebastian Hahn <sebastian@torproject.org>
Thu, 4 Sep 2014 23:49:47 +0000 (01:49 +0200)
committerNick Mathewson <nickm@torproject.org>
Tue, 9 Sep 2014 15:54:20 +0000 (11:54 -0400)
Implements the second half of #13060.

changes/bug13060
src/or/dirserv.c
src/or/networkstatus.c
src/or/nodelist.c
src/or/or.h
src/or/routerlist.c
src/or/routerparse.c

index 7abc1968f85210de24ca328b5f8daedfa9829a4f..58bd2b230b8f415afc23329709e2e37449a0f00d 100644 (file)
@@ -1,4 +1,6 @@
   o Removed features:
     - Directory authorities do not support giving out the BadDirectory
       flag anymore.
+    - Clients don't understand the BadDirectory flag in the consensus
+      anymore, and ignore it.
 
index d96867b2c2212d9f3f530206f7ac2dc79f454514..92d34e2df7880111d7799a76197e28a3ba4ad0a5 100644 (file)
@@ -2181,8 +2181,7 @@ clear_status_flags_on_sybil(routerstatus_t *rs)
 {
   rs->is_authority = rs->is_exit = rs->is_stable = rs->is_fast =
     rs->is_flagged_running = rs->is_named = rs->is_valid =
-    rs->is_hs_dir = rs->is_possible_guard = rs->is_bad_exit =
-    rs->is_bad_directory = 0;
+    rs->is_hs_dir = rs->is_possible_guard = rs->is_bad_exit = 0;
   /* FFFF we might want some mechanism to check later on if we
    * missed zeroing any flags: it's easy to add a new flag but
    * forget to add it to this clause. */
index 220faf020295d75fc5ff756766c231081faba640..95eb32035b00ea100f25cc2df51e50d20019a8b7 100644 (file)
@@ -1055,7 +1055,6 @@ routerstatus_has_changed(const routerstatus_t *a, const routerstatus_t *b)
          a->is_valid != b->is_valid ||
          a->is_possible_guard != b->is_possible_guard ||
          a->is_bad_exit != b->is_bad_exit ||
-         a->is_bad_directory != b->is_bad_directory ||
          a->is_hs_dir != b->is_hs_dir ||
          a->version_known != b->version_known;
 }
index d7deac12148062da5cb882cb71e1523c51798e82..f37fb499278b2e66bb4e03b5720a7fc80d6e61f7 100644 (file)
@@ -241,7 +241,6 @@ nodelist_set_consensus(networkstatus_t *ns)
       node->is_stable = rs->is_stable;
       node->is_possible_guard = rs->is_possible_guard;
       node->is_exit = rs->is_exit;
-      node->is_bad_directory = rs->is_bad_directory;
       node->is_bad_exit = rs->is_bad_exit;
       node->is_hs_dir = rs->is_hs_dir;
       node->ipv6_preferred = 0;
@@ -267,8 +266,7 @@ nodelist_set_consensus(networkstatus_t *ns)
           node->is_valid = node->is_running = node->is_hs_dir =
             node->is_fast = node->is_stable =
             node->is_possible_guard = node->is_exit =
-            node->is_bad_exit = node->is_bad_directory =
-            node->ipv6_preferred = 0;
+            node->is_bad_exit = node->ipv6_preferred = 0;
         }
       }
     } SMARTLIST_FOREACH_END(node);
index 6ef71e9c577b186f6d4bf2277eb03d396a0960b2..06d4e3c9263ec92eec85aa30febda954295f2c7b 100644 (file)
@@ -2139,8 +2139,6 @@ typedef struct routerstatus_t {
                                      * choice as an entry guard. */
   unsigned int is_bad_exit:1; /**< True iff this node is a bad choice for
                                * an exit node. */
-  unsigned int is_bad_directory:1; /**< Do we think this directory is junky,
-                                    * underpowered, or otherwise useless? */
   unsigned int is_hs_dir:1; /**< True iff this router is a v2-or-later hidden
                              * service directory. */
   /** True iff we know version info for this router. (i.e., a "v" entry was
@@ -2300,8 +2298,6 @@ typedef struct node_t {
   unsigned int is_exit:1; /**< Do we think this is an OK exit? */
   unsigned int is_bad_exit:1; /**< Do we think this exit is censored, borked,
                                * or otherwise nasty? */
-  unsigned int is_bad_directory:1; /**< Do we think this directory is junky,
-                                    * underpowered, or otherwise useless? */
   unsigned int is_hs_dir:1; /**< True iff this router is a hidden service
                              * directory according to the authorities. */
 
index 14451c0cd8ea08e62025a0cf70ea32d9f5194cee..697837e50927ac41ef75c98a336731b995ad41cf 100644 (file)
@@ -1450,8 +1450,6 @@ router_pick_directory_server_impl(dirinfo_type_t type, int flags)
 
     if (!node->is_running || !status->dir_port || !node->is_valid)
       continue;
-    if (node->is_bad_directory)
-      continue;
     if (requireother && router_digest_is_me(node->identity))
       continue;
     is_trusted = router_digest_is_trusted_dir(node->identity);
index 337ba57a5a5372059411deb5e19db466a25081cd..281341d1349ae557ef851d0cc3b60b608af447d4 100644 (file)
@@ -1900,8 +1900,6 @@ routerstatus_parse_entry_from_string(memarea_t *area,
         rs->is_possible_guard = 1;
       else if (!strcmp(tok->args[i], "BadExit"))
         rs->is_bad_exit = 1;
-      else if (!strcmp(tok->args[i], "BadDirectory"))
-        rs->is_bad_directory = 1;
       else if (!strcmp(tok->args[i], "Authority"))
         rs->is_authority = 1;
       else if (!strcmp(tok->args[i], "Unnamed") &&