|  | @@ -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
 | 
	
	
		
			
				|  | @@ -571,6 +573,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;
 |