From f554ca349340c9b810cbce20813b3beec3f9910a Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Sun, 22 Jul 2018 12:56:04 +0000
Subject: [PATCH] Console: Add support for IPv6 prefix lookup

---
 .../src/net/i2p/router/web/helpers/NetDbHelper.java  |  2 +-
 .../net/i2p/router/web/helpers/NetDbRenderer.java    | 12 ++++++++----
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/apps/routerconsole/java/src/net/i2p/router/web/helpers/NetDbHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/helpers/NetDbHelper.java
index 724ec4473f..15043ceb8b 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/helpers/NetDbHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/helpers/NetDbHelper.java
@@ -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>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>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>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" +
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/helpers/NetDbRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/helpers/NetDbRenderer.java
index ca8da48e87..655bb9279c 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/helpers/NetDbRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/helpers/NetDbRenderer.java
@@ -111,11 +111,15 @@ class NetDbRenderer {
                     ipMode = 2;
                 } else if (ip.endsWith("/8")) {
                     ipMode = 3;
+                } else if (ip.indexOf(':') > 0) {
+                    ipMode = 4;
                 }
-                for (int i = 0; i < ipMode; i++) {
-                    int last = ip.substring(0, ip.length() - 1).lastIndexOf('.');
-                    if (last > 0)
-                        ip = ip.substring(0, last + 1);
+                if (ipMode > 0 && ipMode < 4) {
+                    for (int i = 0; i < ipMode; i++) {
+                        int last = ip.substring(0, ip.length() - 1).lastIndexOf('.');
+                        if (last > 0)
+                            ip = ip.substring(0, last + 1);
+                    }
                 }
             }
             for (RouterInfo ri : routers) {
-- 
GitLab