From 3d4267b679969162ba07ac2c40d76394b56ef24f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A1vid=20Bal=C3=A1=C5=BE?= Date: Wed, 24 Apr 2024 22:30:39 +0200 Subject: [PATCH] Handle IPv6 in isMovedError --- error.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/error.go b/error.go index 8a59913be8..454f75f50e 100644 --- a/error.go +++ b/error.go @@ -129,7 +129,20 @@ func isMovedError(err error) (moved bool, ask bool, addr string) { if ind == -1 { return false, false, "" } + addr = s[ind+1:] + ind = strings.LastIndex(addr, ":") + if ind == -1 { + return false, false, "" + } + + h := addr[:ind] + p := addr[ind+1:] + if strings.HasSuffix(h, "]") { + return + } + + addr = net.JoinHostPort(h, p) return }