|  | @@ -129,7 +129,7 @@ func (this *DokodemoDoor) ListenTCP() error {
 | 
	
		
			
				|  |  |  func (this *DokodemoDoor) HandleTCPConnection(conn *hub.Connection) {
 | 
	
		
			
				|  |  |  	defer conn.Close()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	dest := v2net.TCPDestination(this.address, this.port)
 | 
	
		
			
				|  |  | +	var dest v2net.Destination
 | 
	
		
			
				|  |  |  	if this.config.FollowRedirect {
 | 
	
		
			
				|  |  |  		originalDest := GetOriginalDestination(conn)
 | 
	
		
			
				|  |  |  		if originalDest != nil {
 | 
	
	
		
			
				|  | @@ -137,6 +137,14 @@ func (this *DokodemoDoor) HandleTCPConnection(conn *hub.Connection) {
 | 
	
		
			
				|  |  |  			dest = originalDest
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | +	if dest == nil && this.address != nil && this.port > v2net.Port(0) {
 | 
	
		
			
				|  |  | +		dest = v2net.TCPDestination(this.address, this.port)
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	if dest == nil {
 | 
	
		
			
				|  |  | +		log.Info("Dokodemo: Unknown destination, stop forwarding...")
 | 
	
		
			
				|  |  | +		return
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	ray := this.packetDispatcher.DispatchToOutbound(dest)
 | 
	
		
			
				|  |  |  	defer ray.InboundOutput().Release()
 |