|  | @@ -5361,17 +5361,20 @@ assert_connection_ok(connection_t *conn, time_t now)
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /** Fills <b>addr</b> and <b>port</b> with the details of the global
 | 
	
		
			
				|  |  | - *  proxy server we are using.
 | 
	
		
			
				|  |  | - *  <b>conn</b> contains the connection we are using the proxy for.
 | 
	
		
			
				|  |  | + *  proxy server we are using. Store a 1 to the int pointed to by
 | 
	
		
			
				|  |  | + *  <b>is_put_out</b> if the connection is using a pluggable
 | 
	
		
			
				|  |  | + *  transport; store 0 otherwise. <b>conn</b> contains the connection
 | 
	
		
			
				|  |  | + *  we are using the proxy for.
 | 
	
		
			
				|  |  |   *
 | 
	
		
			
				|  |  |   *  Return 0 on success, -1 on failure.
 | 
	
		
			
				|  |  |   */
 | 
	
		
			
				|  |  |  int
 | 
	
		
			
				|  |  |  get_proxy_addrport(tor_addr_t *addr, uint16_t *port, int *proxy_type,
 | 
	
		
			
				|  |  | -                   const connection_t *conn)
 | 
	
		
			
				|  |  | +                   int *is_pt_out, const connection_t *conn)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |    const or_options_t *options = get_options();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +  *is_pt_out = 0;
 | 
	
		
			
				|  |  |    /* Client Transport Plugins can use another proxy, but that should be hidden
 | 
	
		
			
				|  |  |     * from the rest of tor (as the plugin is responsible for dealing with the
 | 
	
		
			
				|  |  |     * proxy), check it first, then check the rest of the proxy types to allow
 | 
	
	
		
			
				|  | @@ -5387,6 +5390,7 @@ get_proxy_addrport(tor_addr_t *addr, uint16_t *port, int *proxy_type,
 | 
	
		
			
				|  |  |        tor_addr_copy(addr, &transport->addr);
 | 
	
		
			
				|  |  |        *port = transport->port;
 | 
	
		
			
				|  |  |        *proxy_type = transport->socks_version;
 | 
	
		
			
				|  |  | +      *is_pt_out = 1;
 | 
	
		
			
				|  |  |        return 0;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -5423,11 +5427,13 @@ log_failed_proxy_connection(connection_t *conn)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |    tor_addr_t proxy_addr;
 | 
	
		
			
				|  |  |    uint16_t proxy_port;
 | 
	
		
			
				|  |  | -  int proxy_type;
 | 
	
		
			
				|  |  | +  int proxy_type, is_pt;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -  if (get_proxy_addrport(&proxy_addr, &proxy_port, &proxy_type, conn) != 0)
 | 
	
		
			
				|  |  | +  if (get_proxy_addrport(&proxy_addr, &proxy_port, &proxy_type, &is_pt,
 | 
	
		
			
				|  |  | +                         conn) != 0)
 | 
	
		
			
				|  |  |      return; /* if we have no proxy set up, leave this function. */
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +  (void)is_pt;
 | 
	
		
			
				|  |  |    log_warn(LD_NET,
 | 
	
		
			
				|  |  |             "The connection to the %s proxy server at %s just failed. "
 | 
	
		
			
				|  |  |             "Make sure that the proxy server is up and running.",
 |