From df1c72fe4123e0ae14141e359b5eaf1edf9b2266 Mon Sep 17 00:00:00 2001 From: Eric Lindvall Date: Wed, 19 Jan 2022 19:21:46 -0800 Subject: [PATCH] Fix logging of IPv6 addresses with scope --- context.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/context.go b/context.go index cccb013a..d12eeb62 100644 --- a/context.go +++ b/context.go @@ -760,9 +760,10 @@ func (c *Context) ClientIP() string { // It also checks if the remoteIP is a trusted proxy or not. // In order to perform this validation, it will see if the IP is contained within at least one of the CIDR blocks // defined by Engine.SetTrustedProxies() + // If the IP could not be parsed (because, for instance, it is an ipv6 address with a scope), it will return the remote IP as-is. remoteIP := net.ParseIP(c.RemoteIP()) if remoteIP == nil { - return "" + return c.RemoteIP() } trusted := c.engine.isTrustedProxy(remoteIP)