Browse Source

luci-lib-httpclient: accept scoped IPv6 addresses

Ref: https://github.com/openwrt/luci/issues/3380
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich 4 years ago
parent
commit
d87169c0f6
1 changed files with 2 additions and 2 deletions
  1. 2 2
      libs/luci-lib-httpclient/luasrc/httpclient.lua

+ 2 - 2
libs/luci-lib-httpclient/luasrc/httpclient.lua

@@ -105,10 +105,10 @@ function parse_url(uri)
 		rest = tmp
 	end
 
-	url.host, tmp = rest:match("^%[([0-9a-fA-F:]+)%](.*)$")
+	url.host, tmp = rest:match("^%[(.+)%](.*)$")
 	if url.host and tmp then
 		url.ip6addr = ip.IPv6(url.host)
-		if not url.ip6addr then
+		if not url.ip6addr or url.ip6addr:prefix() < 128 then
 			return nil
 		end
 		url.host = string.format("[%s]", url.ip6addr:string())