|  | @@ -10,6 +10,7 @@
 | 
	
		
			
				|  |  |  #include "confparse.h"
 | 
	
		
			
				|  |  |  #include "channel.h"
 | 
	
		
			
				|  |  |  #include "channeltls.h"
 | 
	
		
			
				|  |  | +#include "command.h"
 | 
	
		
			
				|  |  |  #include "connection.h"
 | 
	
		
			
				|  |  |  #include "connection_or.h"
 | 
	
		
			
				|  |  |  #include "control.h"
 | 
	
	
		
			
				|  | @@ -3398,6 +3399,7 @@ dirserv_should_launch_reachability_test(const routerinfo_t *ri,
 | 
	
		
			
				|  |  |  void
 | 
	
		
			
				|  |  |  dirserv_single_reachability_test(time_t now, routerinfo_t *router)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  | +  channel_t *chan = NULL;
 | 
	
		
			
				|  |  |    node_t *node = NULL;
 | 
	
		
			
				|  |  |    tor_addr_t router_addr;
 | 
	
		
			
				|  |  |    (void) now;
 | 
	
	
		
			
				|  | @@ -3410,8 +3412,9 @@ dirserv_single_reachability_test(time_t now, routerinfo_t *router)
 | 
	
		
			
				|  |  |    log_debug(LD_OR,"Testing reachability of %s at %s:%u.",
 | 
	
		
			
				|  |  |              router->nickname, router->address, router->or_port);
 | 
	
		
			
				|  |  |    tor_addr_from_ipv4h(&router_addr, router->addr);
 | 
	
		
			
				|  |  | -  channel_tls_connect(&router_addr, router->or_port,
 | 
	
		
			
				|  |  | -                      router->cache_info.identity_digest);
 | 
	
		
			
				|  |  | +  chan = channel_tls_connect(&router_addr, router->or_port,
 | 
	
		
			
				|  |  | +                             router->cache_info.identity_digest);
 | 
	
		
			
				|  |  | +  if (chan) command_setup_channel(chan);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    /* Possible IPv6. */
 | 
	
		
			
				|  |  |    if (get_options()->AuthDirHasIPv6Connectivity == 1 &&
 | 
	
	
		
			
				|  | @@ -3421,8 +3424,9 @@ dirserv_single_reachability_test(time_t now, routerinfo_t *router)
 | 
	
		
			
				|  |  |                router->nickname,
 | 
	
		
			
				|  |  |                tor_addr_to_str(addrstr, &router->ipv6_addr, sizeof(addrstr), 1),
 | 
	
		
			
				|  |  |                router->ipv6_orport);
 | 
	
		
			
				|  |  | -    channel_tls_connect(&router->ipv6_addr, router->ipv6_orport,
 | 
	
		
			
				|  |  | -                        router->cache_info.identity_digest);
 | 
	
		
			
				|  |  | +    chan = channel_tls_connect(&router->ipv6_addr, router->ipv6_orport,
 | 
	
		
			
				|  |  | +                               router->cache_info.identity_digest);
 | 
	
		
			
				|  |  | +    if (chan) command_setup_channel(chan);
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 |