aboutsummaryrefslogtreecommitdiff
path: root/src/net/http/cookiejar/jar.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/http/cookiejar/jar.go')
-rw-r--r--src/net/http/cookiejar/jar.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/net/http/cookiejar/jar.go b/src/net/http/cookiejar/jar.go
index 59cde82cb3..e7f5ddd4d0 100644
--- a/src/net/http/cookiejar/jar.go
+++ b/src/net/http/cookiejar/jar.go
@@ -362,6 +362,13 @@ func jarKey(host string, psl PublicSuffixList) string {
// isIP reports whether host is an IP address.
func isIP(host string) bool {
+ if strings.ContainsAny(host, ":%") {
+ // Probable IPv6 address.
+ // Hostnames can't contain : or %, so this is definitely not a valid host.
+ // Treating it as an IP is the more conservative option, and avoids the risk
+ // of interpeting ::1%.www.example.com as a subtomain of www.example.com.
+ return true
+ }
return net.ParseIP(host) != nil
}