From e6156cbc7991351ac3dcd2bf680b489fc14cdcb7 Mon Sep 17 00:00:00 2001
From: Konrad Zemek <konrad.zemek@gmail.com>
Date: Fri, 26 Feb 2021 15:19:41 +0100
Subject: [PATCH] Fix TCP IP version selection when conn is LOCAL.

---
 tcp.go | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tcp.go b/tcp.go
index e424f69..a206256 100644
--- a/tcp.go
+++ b/tcp.go
@@ -51,7 +51,11 @@ func tcpHandleConnection(conn net.Conn, logger *zap.Logger) {
 	}
 
 	targetAddr := Opts.TargetAddr6
-	if AddrVersion(saddr) == 4 {
+	if saddr == nil {
+		if AddrVersion(conn.RemoteAddr()) == 4 {
+			targetAddr = Opts.TargetAddr4
+		}
+	} else if AddrVersion(saddr) == 4 {
 		targetAddr = Opts.TargetAddr4
 	}
 
-- 
GitLab