]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Merge remote-tracking branch 'public/bug5018'
authorNick Mathewson <nickm@torproject.org>
Tue, 29 Oct 2013 05:29:59 +0000 (01:29 -0400)
committerNick Mathewson <nickm@torproject.org>
Tue, 29 Oct 2013 05:29:59 +0000 (01:29 -0400)
Conflicts:
src/or/entrynodes.c

1  2 
src/or/config.c
src/or/entrynodes.c
src/or/entrynodes.h

diff --cc src/or/config.c
Simple merge
index 59cc9a3fc374ca8c0847d2f18530e898d2e30184,ca3ef530ea2a46b9e93789458b48aa3fb3ea60d0..ecc67f007bf97c8d472a9178c6cf318e86740270
@@@ -1801,10 -1761,31 +1801,27 @@@ bridge_resolve_conflicts(const tor_addr
    } SMARTLIST_FOREACH_END(bridge);
  }
  
 -/** Remember a new bridge at <b>addr</b>:<b>port</b>. If <b>digest</b>
 - * is set, it tells us the identity key too.  If we already had the
 - * bridge in our list, unmark it, and don't actually add anything new.
 - * If <b>transport_name</b> is non-NULL - the bridge is associated with a
 - * pluggable transport - we assign the transport to the bridge. */
+ /** Return True if we have a bridge that uses a transport with name
+  *  <b>transport_name</b>. */
+ int
+ transport_is_needed(const char *transport_name)
+ {
+   if (!bridge_list)
+     return 0;
+   SMARTLIST_FOREACH_BEGIN(bridge_list, const bridge_info_t *, bridge) {
+     if (bridge->transport_name &&
+         !strcmp(bridge->transport_name, transport_name))
+       return 1;
+   } SMARTLIST_FOREACH_END(bridge);
+   return 0;
+ }
 +/** Register the bridge information in <b>bridge_line</b> to the
 + *  bridge subsystem. Steals reference of <b>bridge_line</b>. */
  void
 -bridge_add_from_config(const tor_addr_t *addr, uint16_t port,
 -                       const char *digest, const char *transport_name)
 +bridge_add_from_config(bridge_line_t *bridge_line)
  {
    bridge_info_t *b;
  
index 1f8cff75a2cdab7b93608316ae704dc0d7a021dd,b02cd482de79dc81554f894623332160c101ec91..772c6662d314510f5bac69961dc9a3f92f202ada
@@@ -120,9 -115,10 +120,10 @@@ void entry_guards_free_all(void)
  const char *find_transport_name_by_bridge_addrport(const tor_addr_t *addr,
                                                     uint16_t port);
  struct transport_t;
 -int find_transport_by_bridge_addrport(const tor_addr_t *addr, uint16_t port,
 +int get_transport_by_bridge_addrport(const tor_addr_t *addr, uint16_t port,
                                        const struct transport_t **transport);
  
+ int transport_is_needed(const char *transport_name);
  int validate_pluggable_transports_config(void);
  
  double pathbias_get_close_success_count(entry_guard_t *guard);