refs #474 fix regex to match ipv6 addresses

The former regex failed to match an IPv6 that didn't include "::", which are
obviously valid. Change the regex so they are caught.
pull/3/head
Natalia Serrano 2024-07-19 14:10:30 +02:00
parent 10a4c28ea6
commit dc7c6af6e8
1 changed files with 1 additions and 1 deletions

View File

@ -176,7 +176,7 @@ def parse_ifconfig(res, af, address):
addr["broadcast"] = re.findall(r"broadcast (\d+\.\d+\.\d+\.\d+)", r)[0]
link["addr_info"] = link.get("addr_info", []) + [addr]
elif address and re.match(r"^\s+inet6 ", r) and af != 4:
(local, prefixlen) = re.findall(r"inet6 ([0-9a-f:]*::[0-9a-f:]+)%*\w* prefixlen (\d+)", r)[0]
(local, prefixlen) = re.findall(r"inet6 ((?:[a-f0-9:]+:+)+[a-f0-9]+)%*\w* +prefixlen (\d+)", r)[0]
link["addr_info"] = link.get("addr_info", []) + [{
"family": "inet6",
"local": local,