| 
					
				 | 
			
			
				@@ -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() 
			 |