Browse Source

Merge remote-tracking branch 'asn-mytor/bug5589_take2'

Nick Mathewson 12 years ago
parent
commit
4fdce6b091
5 changed files with 7 additions and 42 deletions
  1. 3 0
      changes/bug5589
  2. 0 28
      src/or/circuitbuild.c
  3. 0 2
      src/or/circuitbuild.h
  4. 4 3
      src/or/connection_or.c
  5. 0 9
      src/or/main.c

+ 3 - 0
changes/bug5589

@@ -0,0 +1,3 @@
+  o Code simplifications and refactoring:
+    - Remove validate_pluggable_transports_config(): its warning
+      message is now handled by connection_or_connect().

+ 0 - 28
src/or/circuitbuild.c

@@ -4970,34 +4970,6 @@ transport_add_from_config(const tor_addr_t *addr, uint16_t port,
   }
 }
 
-/** Warn the user of possible pluggable transport misconfiguration.
- *  Return 0 if the validation happened, -1 if we should postpone the
- *  validation. */
-int
-validate_pluggable_transports_config(void)
-{
-  /* Don't validate if managed proxies are not yet fully configured. */
-  if (!bridge_list || pt_proxies_configuration_pending())
-    return -1;
-
-  SMARTLIST_FOREACH_BEGIN(bridge_list, const bridge_info_t *, b) {
-    /* Skip bridges without transports. */
-    if (!b->transport_name)
-      continue;
-    /* See if the user has Bridges that specify nonexistent
-       pluggable transports. We should warn the user in such case,
-       since it's probably misconfiguration. */
-    if (!transport_get_by_name(b->transport_name))
-      log_warn(LD_CONFIG, "We can't find a pluggable transport proxy "
-               "that supports '%s' for bridge '%s:%u'. This can happen "
-               "if you haven't provided a ClientTransportPlugin line, or "
-               "if your pluggable transport proxy stopped working.",
-               b->transport_name, fmt_addr(&b->addr), b->port);
-  } SMARTLIST_FOREACH_END(b);
-
-  return 0;
-}
-
 /** Return a bridge pointer if <b>ri</b> is one of our known bridges
  * (either by comparing keys if possible, else by comparing addr/port).
  * Else return NULL. */

+ 0 - 2
src/or/circuitbuild.h

@@ -167,7 +167,5 @@ int find_transport_by_bridge_addrport(const tor_addr_t *addr, uint16_t port,
                                       const transport_t **transport);
 transport_t *transport_get_by_name(const char *name);
 
-int validate_pluggable_transports_config(void);
-
 #endif
 

+ 4 - 3
src/or/connection_or.c

@@ -1085,9 +1085,10 @@ connection_or_connect(const tor_addr_t *_addr, uint16_t port,
 
     if (transport_name) {
       log_warn(LD_GENERAL, "We were supposed to connect to bridge '%s:%u' "
-               "using pluggable transport '%s', but it seems that we can't "
-               "find a pluggable transport proxy supporting '%s'. Please make "
-               "sure that your configuration file is valid.",
+               "using pluggable transport '%s', but we can't find a pluggable "
+               "transport proxy supporting '%s'. This can happen if you "
+               "haven't provided a ClientTransportPlugin line, or if "
+               "your pluggable transport proxy stopped running.",
                fmt_addr(&TO_CONN(conn)->addr), TO_CONN(conn)->port,
                transport_name, transport_name);
     } else {

+ 0 - 9
src/or/main.c

@@ -1142,7 +1142,6 @@ run_scheduled_events(time_t now)
   static int should_init_bridge_stats = 1;
   static time_t time_to_retry_dns_init = 0;
   static time_t time_to_next_heartbeat = 0;
-  static int has_validated_pt = 0;
   const or_options_t *options = get_options();
 
   int is_server = server_mode(options);
@@ -1550,14 +1549,6 @@ run_scheduled_events(time_t now)
   if (!net_is_disabled() && pt_proxies_configuration_pending())
     pt_configure_remaining_proxies();
 
-  /** 11c. validate pluggable transports configuration if we need to */
-  if (!has_validated_pt &&
-      (options->Bridges || options->ClientTransportPlugin)) {
-    if (validate_pluggable_transports_config() == 0) {
-      has_validated_pt = 1;
-    }
-  }
-
   /** 12. write the heartbeat message */
   if (options->HeartbeatPeriod &&
       time_to_next_heartbeat <= now) {