[tor-commits] [tor/master] Merge remote-tracking branch 'public/bug5018'
nickm at torproject.org
nickm at torproject.org
Tue Oct 29 05:31:06 UTC 2013
commit 4b6f074df9c540cb4847793b7e8243c8f642de0a
Merge: 49278cd 2235d65
Author: Nick Mathewson <nickm at torproject.org>
Date: Tue Oct 29 01:29:59 2013 -0400
Merge remote-tracking branch 'public/bug5018'
Conflicts:
src/or/entrynodes.c
changes/bug5018 | 3 +++
src/or/config.c | 23 ++++++++++++++++++-----
src/or/entrynodes.c | 17 +++++++++++++++++
src/or/entrynodes.h | 1 +
4 files changed, 39 insertions(+), 5 deletions(-)
diff --cc src/or/entrynodes.c
index 59cc9a3,ca3ef53..ecc67f0
--- a/src/or/entrynodes.c
+++ b/src/or/entrynodes.c
@@@ -1801,10 -1761,31 +1801,27 @@@ bridge_resolve_conflicts(const tor_addr
} SMARTLIST_FOREACH_END(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;
+ }
+
-/** 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. */
+/** 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;
diff --cc src/or/entrynodes.h
index 1f8cff7,b02cd48..772c666
--- a/src/or/entrynodes.h
+++ b/src/or/entrynodes.h
@@@ -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);
More information about the tor-commits
mailing list