aboutsummaryrefslogtreecommitdiff
path: root/src/or/bridges.c
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2017-10-24 19:41:26 -0400
committerNick Mathewson <nickm@torproject.org>2017-10-24 19:41:26 -0400
commite7126a1030233fd656cff4a8ee998026065fb65b (patch)
tree1088ac01caeccc4338905960bace225e7832810e /src/or/bridges.c
parentb95ef19a77e2e04c740bbbe16d3b0ed7a5239aee (diff)
parent9b60acd4d4ee451fd961b1f03ae46eee960c72ee (diff)
downloadtor-e7126a1030233fd656cff4a8ee998026065fb65b.tar.gz
tor-e7126a1030233fd656cff4a8ee998026065fb65b.zip
Merge remote-tracking branch 'catalyst-oniongit/bug20532_031' into maint-0.3.2
Diffstat (limited to 'src/or/bridges.c')
-rw-r--r--src/or/bridges.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/or/bridges.c b/src/or/bridges.c
index 1c748b4156..320f5ee632 100644
--- a/src/or/bridges.c
+++ b/src/or/bridges.c
@@ -54,6 +54,8 @@ struct bridge_info_t {
};
static void bridge_free(bridge_info_t *bridge);
+static void rewrite_node_address_for_bridge(const bridge_info_t *bridge,
+ node_t *node);
/** A list of configured bridges. Whenever we actually get a descriptor
* for one, we add it as an entry guard. Note that the order of bridges
@@ -574,6 +576,12 @@ launch_direct_bridge_descriptor_fetch(bridge_info_t *bridge)
return;
}
+ /* If we already have a node_t for this bridge, rewrite its address now. */
+ node_t *node = node_get_mutable_by_id(bridge->identity);
+ if (node) {
+ rewrite_node_address_for_bridge(bridge, node);
+ }
+
tor_addr_port_t bridge_addrport;
memcpy(&bridge_addrport.addr, &bridge->addr, sizeof(tor_addr_t));
bridge_addrport.port = bridge->port;