Bläddra i källkod

oops, we were ignoring options->ExcludeNodes when picking entry guards.

it is still the case that we ignore it with respect to entry guards
that we've already picked.


svn:r6726
Roger Dingledine 19 år sedan
förälder
incheckning
98c6bf6192
2 ändrade filer med 7 tillägg och 0 borttagningar
  1. 1 0
      src/or/circuitbuild.c
  2. 6 0
      src/or/config.c

+ 1 - 0
src/or/circuitbuild.c

@@ -1574,6 +1574,7 @@ choose_good_entry_server(uint8_t purpose, cpath_build_state_t *state)
   }
 
   excluded = smartlist_create();
+  add_nickname_list_to_smartlist(excluded,options->ExcludeNodes,0,0,1);
 
   if (state && (r = build_state_get_exit_router(state))) {
     smartlist_add(excluded, r);

+ 6 - 0
src/or/config.c

@@ -808,6 +808,12 @@ options_act(or_options_t *old_options)
        !opt_streq(old_options->EntryNodes, options->EntryNodes)))
     entry_nodes_should_be_added();
 
+  /* If the user wants to avoid certain nodes, make sure none of them
+   * are already entryguards */
+  if (options->ExcludeNodes) {
+    // XXX TODO
+  }
+
   /* Since our options changed, we might need to regenerate and upload our
    * server descriptor.
    */