From cd9f1fb67f7af394c76fe3622a235cc53ebaac6b Mon Sep 17 00:00:00 2001
From: Konrad Zemek <konrad.zemek@gmail.com>
Date: Thu, 16 Apr 2020 14:01:53 +0200
Subject: [PATCH] Fix logging of source address when protocol is UNKNOWN.

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

diff --git a/tcp.go b/tcp.go
index 5335e07..e142fac 100644
--- a/tcp.go
+++ b/tcp.go
@@ -55,7 +55,11 @@ func tcpHandleConnection(conn net.Conn, logger *zap.Logger) {
 		targetAddr = Opts.TargetAddr4
 	}
 
-	logger = logger.With(zap.String("clientAddr", saddr.String()), zap.String("targetAddr", targetAddr))
+	clientAddr := "UNKNOWN"
+	if saddr != nil {
+		clientAddr = saddr.String()
+	}
+	logger = logger.With(zap.String("clientAddr", clientAddr), zap.String("targetAddr", targetAddr))
 	if Opts.Verbose > 1 {
 		logger.Debug("successfully parsed PROXY header")
 	}
-- 
GitLab