浏览代码

when you tried to set orport through the controller, it would
trigger an assert because you hadn't made your onion keys yet
you wanted to launch cpu workers.

now init keys first, reset uptime, and tell the user that we're
starting the reachability testing.


svn:r5835

Roger Dingledine 20 年之前
父节点
当前提交
21be9dc3c0
共有 1 个文件被更改,包括 10 次插入0 次删除
  1. 10 0
      src/or/config.c

+ 10 - 0
src/or/config.c

@@ -729,6 +729,16 @@ options_act(or_options_t *old_options)
 
     if (options_transition_affects_workers(old_options, options)) {
       info(LD_GENERAL,"Worker-related options changed. Rotating workers.");
+      if (server_mode(options) && !server_mode(old_options)) {
+        extern int has_completed_circuit;
+        if (init_keys() < 0) {
+          err(LD_GENERAL,"Error initializing keys; exiting");
+          return -1;
+        }
+        server_has_changed_ip();
+        if (has_completed_circuit)
+          inform_testing_reachability();
+      }
       cpuworkers_rotate();
       dnsworkers_rotate();
     }