|  | @@ -1612,7 +1612,6 @@ connection_connect_sockaddr(connection_t *conn,
 | 
	
		
			
				|  |  |    tor_socket_t s;
 | 
	
		
			
				|  |  |    int inprogress = 0;
 | 
	
		
			
				|  |  |    const or_options_t *options = get_options();
 | 
	
		
			
				|  |  | -  int protocol_family;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    tor_assert(conn);
 | 
	
		
			
				|  |  |    tor_assert(sa);
 | 
	
	
		
			
				|  | @@ -1624,8 +1623,6 @@ connection_connect_sockaddr(connection_t *conn,
 | 
	
		
			
				|  |  |      return -1;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  protocol_family = sa->sa_family;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |    if (get_options()->DisableNetwork) {
 | 
	
		
			
				|  |  |      /* We should never even try to connect anyplace if DisableNetwork is set.
 | 
	
		
			
				|  |  |       * Warn if we do, and refuse to make the connection. */
 | 
	
	
		
			
				|  | @@ -1637,7 +1634,11 @@ connection_connect_sockaddr(connection_t *conn,
 | 
	
		
			
				|  |  |      return -1;
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  s = tor_open_socket_nonblocking(protocol_family, SOCK_STREAM, 0);
 | 
	
		
			
				|  |  | +  const int protocol_family = sa->sa_family;
 | 
	
		
			
				|  |  | +  const int proto = (sa->sa_family == AF_INET6 ||
 | 
	
		
			
				|  |  | +                     sa->sa_family == AF_INET) ? IPPROTO_TCP : 0;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  s = tor_open_socket_nonblocking(protocol_family, SOCK_STREAM, proto);
 | 
	
		
			
				|  |  |    if (! SOCKET_OK(s)) {
 | 
	
		
			
				|  |  |      *socket_error = tor_socket_errno(-1);
 | 
	
		
			
				|  |  |      log_warn(LD_NET,"Error creating network socket: %s",
 |