Ver código fonte

Better handling of server managed proxies when Tor is not a relay.

George Kadianakis 12 anos atrás
pai
commit
a1d060a68f
3 arquivos alterados com 14 adições e 1 exclusões
  1. 3 0
      changes/bug6274
  2. 3 0
      changes/bug6274_2
  3. 8 1
      src/or/config.c

+ 3 - 0
changes/bug6274

@@ -0,0 +1,3 @@
+ o Minor bugfixes:
+   - Ignore ServerTransportPlugin lines when Tor is not configured as
+     a relay. Fixes bug 6274; bugfix on 0.2.3.6-alpha.

+ 3 - 0
changes/bug6274_2

@@ -0,0 +1,3 @@
+ o Minor features:
+   - Terminate active server managed proxies if Tor stops being a
+     relay. Addresses parts of bug 6274; bugfix on 0.2.3.6-alpha.

+ 8 - 1
src/or/config.c

@@ -1464,7 +1464,7 @@ options_act(const or_options_t *old_options)
     }
   }
 
-  if (options->ServerTransportPlugin) {
+  if (options->ServerTransportPlugin && server_mode(options)) {
     for (cl = options->ServerTransportPlugin; cl; cl = cl->next) {
       if (parse_server_transport_line(cl->value, 0)<0) {
         log_warn(LD_BUG,
@@ -4019,6 +4019,13 @@ options_validate(or_options_t *old_options, or_options_t *options,
       REJECT("Server transport line did not parse. See logs for details.");
   }
 
+  if (options->ServerTransportPlugin && !server_mode(options)) {
+    log_notice(LD_GENERAL, "Tor is not configured as a relay but you specified"
+               " a ServerTransportPlugin line (%s). The ServerTransportPlugin "
+               "line will be ignored.",
+               esc_for_log(options->ServerTransportPlugin->value));
+  }
+
   if (options->ConstrainedSockets) {
     /* If the user wants to constrain socket buffer use, make sure the desired
      * limit is between MIN|MAX_TCPSOCK_BUFFER in k increments. */