aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/transport/common.go
diff options
context:
space:
mode:
authormerlin <clamores.pro@gmail.com>2023-07-26 12:15:52 +0300
committermerlin <clamores.pro@gmail.com>2023-07-26 12:17:19 +0300
commita105da84747df637fa7913c3ab880be73019e502 (patch)
tree3c4598f02b91cbb6374211e088b6e9350c6ac5c1 /plumbing/transport/common.go
parent36477e82f22623018ff170af8afc10c2c9bd50c5 (diff)
downloadgo-git-a105da84747df637fa7913c3ab880be73019e502.tar.gz
plumbing: transport, handle IPv6 while parsing endpoint. Fixes #740
Diffstat (limited to 'plumbing/transport/common.go')
-rw-r--r--plumbing/transport/common.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/plumbing/transport/common.go b/plumbing/transport/common.go
index 89bd3d5..c6a054a 100644
--- a/plumbing/transport/common.go
+++ b/plumbing/transport/common.go
@@ -227,11 +227,17 @@ func parseURL(endpoint string) (*Endpoint, error) {
pass, _ = u.User.Password()
}
+ host := u.Hostname()
+ if strings.Contains(host, ":") {
+ // IPv6 address
+ host = "[" + host + "]"
+ }
+
return &Endpoint{
Protocol: u.Scheme,
User: user,
Password: pass,
- Host: u.Hostname(),
+ Host: host,
Port: getPort(u),
Path: getPath(u),
}, nil