瀏覽代碼

Merge remote-tracking branch 'yawning/bug13213'

Nick Mathewson 10 年之前
父節點
當前提交
dc019b0654
共有 2 個文件被更改,包括 21 次插入15 次删除
  1. 4 0
      changes/bug13213
  2. 17 15
      src/or/config.c

+ 4 - 0
changes/bug13213

@@ -0,0 +1,4 @@
+  o Minor bugfixes (Bridges):
+    - When DisableNetwork is set, do not launch pluggable transport
+      plugins, and if any are running already, terminate the existing
+      instances.  Resolves ticket 13213.

+ 17 - 15
src/or/config.c

@@ -1399,24 +1399,26 @@ options_act(const or_options_t *old_options)
 
   mark_transport_list();
   pt_prepare_proxy_list_for_config_read();
-  if (options->ClientTransportPlugin) {
-    for (cl = options->ClientTransportPlugin; cl; cl = cl->next) {
-      if (parse_client_transport_line(options, cl->value, 0)<0) {
-        log_warn(LD_BUG,
-                 "Previously validated ClientTransportPlugin line "
-                 "could not be added!");
-        return -1;
+  if (!options->DisableNetwork) {
+    if (options->ClientTransportPlugin) {
+      for (cl = options->ClientTransportPlugin; cl; cl = cl->next) {
+        if (parse_client_transport_line(options, cl->value, 0)<0) {
+          log_warn(LD_BUG,
+                   "Previously validated ClientTransportPlugin line "
+                   "could not be added!");
+          return -1;
+        }
       }
     }
-  }
 
-  if (options->ServerTransportPlugin && server_mode(options)) {
-    for (cl = options->ServerTransportPlugin; cl; cl = cl->next) {
-      if (parse_server_transport_line(options, cl->value, 0)<0) {
-        log_warn(LD_BUG,
-                 "Previously validated ServerTransportPlugin line "
-                 "could not be added!");
-        return -1;
+    if (options->ServerTransportPlugin && server_mode(options)) {
+      for (cl = options->ServerTransportPlugin; cl; cl = cl->next) {
+        if (parse_server_transport_line(options, cl->value, 0)<0) {
+          log_warn(LD_BUG,
+                   "Previously validated ServerTransportPlugin line "
+                   "could not be added!");
+          return -1;
+        }
       }
     }
   }