diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-05-09 16:15:01 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2019-05-09 16:18:42 +0200 |
commit | b711580b07f56d2a4d7ba49c0f937066c9003911 (patch) | |
tree | b1754bc5b08e2168aa75e5a8935c3f56639e5605 /conf | |
parent | ui: networks -> addresses (diff) | |
download | wireguard-windows-b711580b07f56d2a4d7ba49c0f937066c9003911.tar.xz wireguard-windows-b711580b07f56d2a4d7ba49c0f937066c9003911.zip |
conf: don't verify scope as part of ip checking
Diffstat (limited to 'conf')
-rw-r--r-- | conf/parser.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/conf/parser.go b/conf/parser.go index b9ceb20e..a8ccca07 100644 --- a/conf/parser.go +++ b/conf/parser.go @@ -80,7 +80,11 @@ func parseEndpoint(s string) (*Endpoint, error) { if host[0] == '[' || host[len(host)-1] == ']' || hostColon > 0 { err := &ParseError{"Brackets must contain an IPv6 address", host} if len(host) > 3 && host[0] == '[' && host[len(host)-1] == ']' && hostColon > 0 { - maybeV6 := net.ParseIP(host[1 : len(host)-1]) + end := len(host) - 1 + if i := strings.LastIndexByte(host, '%'); i > 1 { + end = i + } + maybeV6 := net.ParseIP(host[1:end]) if maybeV6 == nil || len(maybeV6) != net.IPv6len { return nil, err } |