Util: Add methods to convert IPv6 addresses to canonical RFC 5952 strings

Moved from NetDbRenderer
Use in CLI only for now
CLI and conversion micro-optimizations
This commit is contained in:
zzz
2022-12-30 06:21:40 -05:00
parent 0d97dbf534
commit f2940146c4
2 changed files with 87 additions and 12 deletions

View File

@@ -1263,8 +1263,7 @@ class NetDbRenderer {
return Addresses.toString(bip);
} else if (ip.contains(":0:")) {
// convert to canonical
// https://stackoverflow.com/questions/7043983/ipv6-address-into-compressed-form-in-java
return ip.replaceAll("((?:(?:^|:)0+\\b){2,}):?(?!\\S*\\b\\1:0+\\b)(\\S*)", "::$2").replaceFirst("^0::","::");
return Addresses.toCanonicalString(ip);
}
return null;
}