Parcourir la source

r15880@catbus: nickm | 2007-10-17 14:56:51 -0400
Patch from robert hogan: do not reset trusted dir server list when we get a config option.


svn:r12001

Nick Mathewson il y a 16 ans
Parent
commit
e8bd32b347
2 fichiers modifiés avec 10 ajouts et 3 suppressions
  1. 6 0
      ChangeLog
  2. 4 3
      src/or/config.c

+ 6 - 0
ChangeLog

@@ -33,8 +33,14 @@ Changes in version 0.2.0.9-alpha - 2007-10-??
     - When we're configured to be a v3 authority, but we're only listed
       as a non-v3 authority in our DirServer line for ourself, correct the
       listing.
+
+  o Minor bugfixes (v3 directory protocol)
     - Delete unverified-consensus when the real consensus is set.
 
+  o Minor bugfixes (controller):
+    - Don't reset trusted dir server list when we set a configuration option.
+      (Patch from Robert Hogan.)
+
   o Minor bugfixes (memory leaks):
     - Stop leaking memory on failing case of base32_decode.  Bugfix on
       0.2.0.7-alpha.

+ 4 - 3
src/or/config.c

@@ -477,7 +477,7 @@ static config_var_description_t options_description[] = {
     "and servers." },
   { "ORListenAddress", "Bind to this address to listen for connections from "
     "clients and servers, instead of the default 0.0.0.0:ORPort." },
-  { "PublishServerDescriptors", "Set to \"\" to keep the server from "
+  { "PublishServerDescriptor", "Set to \"\" to keep the server from "
     "uploading info to the directory authorities." },
   /*{ "RedirectExit", "When an outgoing connection tries to connect to a "
    *"given address, redirect it to another address instead." },
@@ -963,8 +963,8 @@ options_act(or_options_t *old_options)
   int running_tor = options->command == CMD_RUN_TOR;
   char *msg;
 
-  clear_trusted_dir_servers();
   if (options->DirServers) {
+    clear_trusted_dir_servers();
     for (cl = options->DirServers; cl; cl = cl->next) {
       if (parse_dir_server_line(cl->value, 0)<0) {
         log_warn(LD_BUG,
@@ -973,7 +973,8 @@ options_act(or_options_t *old_options)
       }
     }
   } else {
-    add_default_trusted_dirservers();
+    if (!router_get_trusted_dir_servers())
+      add_default_trusted_dirservers();
   }
 
   clear_bridge_list();