Console: Add support for IPv6 prefix lookup

This commit is contained in:
zzz
2018-07-22 12:56:04 +00:00
parent 03e10835fb
commit f554ca3493
2 changed files with 9 additions and 5 deletions

View File

@ -258,7 +258,7 @@ public class NetDbHelper extends HelperBase {
"<tr><td>Country Code:</td><td><input type=\"text\" name=\"c\"></td><td>e.g. ru</td></tr>\n" + "<tr><td>Country Code:</td><td><input type=\"text\" name=\"c\"></td><td>e.g. ru</td></tr>\n" +
"<tr><td>Router Family:</td><td><input type=\"text\" name=\"fam\"></td><td></td></tr>\n" + "<tr><td>Router Family:</td><td><input type=\"text\" name=\"fam\"></td><td></td></tr>\n" +
"<tr><td>Hash Prefix:</td><td><input type=\"text\" name=\"r\"></td><td></td></tr>\n" + "<tr><td>Hash Prefix:</td><td><input type=\"text\" name=\"r\"></td><td></td></tr>\n" +
"<tr><td>IP or Hostname:</td><td><input type=\"text\" name=\"ip\"></td><td>host name, IPv4, or IPv6, /24,/16,/8 suffixes optional for IPv4</td></tr>\n" + "<tr><td>IP or Hostname:</td><td><input type=\"text\" name=\"ip\"></td><td>host name, IPv4, or IPv6, /24,/16,/8 suffixes optional for IPv4, prefix ok for IPv6</td></tr>\n" +
"<tr><td>IPv6 Prefix:</td><td><input type=\"text\" name=\"ipv6\"></td><td></td></tr>\n" + "<tr><td>IPv6 Prefix:</td><td><input type=\"text\" name=\"ipv6\"></td><td></td></tr>\n" +
"<tr><td>MTU:</td><td><input type=\"text\" name=\"mtu\"></td><td></td></tr>\n" + "<tr><td>MTU:</td><td><input type=\"text\" name=\"mtu\"></td><td></td></tr>\n" +
"<tr><td>Port Number:</td><td><input type=\"text\" name=\"port\"></td><td></td></tr>\n" + "<tr><td>Port Number:</td><td><input type=\"text\" name=\"port\"></td><td></td></tr>\n" +

View File

@ -111,13 +111,17 @@ class NetDbRenderer {
ipMode = 2; ipMode = 2;
} else if (ip.endsWith("/8")) { } else if (ip.endsWith("/8")) {
ipMode = 3; ipMode = 3;
} else if (ip.indexOf(':') > 0) {
ipMode = 4;
} }
if (ipMode > 0 && ipMode < 4) {
for (int i = 0; i < ipMode; i++) { for (int i = 0; i < ipMode; i++) {
int last = ip.substring(0, ip.length() - 1).lastIndexOf('.'); int last = ip.substring(0, ip.length() - 1).lastIndexOf('.');
if (last > 0) if (last > 0)
ip = ip.substring(0, last + 1); ip = ip.substring(0, last + 1);
} }
} }
}
for (RouterInfo ri : routers) { for (RouterInfo ri : routers) {
Hash key = ri.getIdentity().getHash(); Hash key = ri.getIdentity().getHash();
if ((routerPrefix != null && key.toBase64().startsWith(routerPrefix)) || if ((routerPrefix != null && key.toBase64().startsWith(routerPrefix)) ||