From 89733251d47a7ecf393739cf09488a9b11326831 Mon Sep 17 00:00:00 2001 From: zzz Date: Wed, 23 Nov 2016 16:00:36 +0000 Subject: [PATCH] Console: Lookup RI by caps stub out lookup by IP --- .../src/net/i2p/router/web/NetDbHelper.java | 19 ++++++++++++++++--- .../src/net/i2p/router/web/NetDbRenderer.java | 6 ++++-- apps/routerconsole/jsp/netdb.jsp | 2 ++ 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NetDbHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/NetDbHelper.java index 313018db9..2de333381 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/NetDbHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/NetDbHelper.java @@ -7,7 +7,7 @@ public class NetDbHelper extends HelperBase { private String _routerPrefix; private String _version; private String _country; - private String _family; + private String _family, _caps, _ip; private int _full; private boolean _lease; private boolean _debug; @@ -56,6 +56,18 @@ public class NetDbHelper extends HelperBase { _family = DataHelper.stripHTML(c); // XSS } + /** @since 0.9.28 */ + public void setCaps(String c) { + if (c != null) + _caps = DataHelper.stripHTML(c); // XSS + } + + /** @since 0.9.28 */ + public void setIp(String c) { + if (c != null) + _ip = DataHelper.stripHTML(c); // XSS + } + public void setFull(String f) { try { _full = Integer.parseInt(f); @@ -82,8 +94,9 @@ public class NetDbHelper extends HelperBase { NetDbRenderer renderer = new NetDbRenderer(_context); try { renderNavBar(); - if (_routerPrefix != null || _version != null || _country != null || _family != null) - renderer.renderRouterInfoHTML(_out, _routerPrefix, _version, _country, _family); + if (_routerPrefix != null || _version != null || _country != null || + _family != null || _caps != null || _ip != null) + renderer.renderRouterInfoHTML(_out, _routerPrefix, _version, _country, _family, _caps, _ip); else if (_lease) renderer.renderLeaseSetHTML(_out, _debug); else if (_full == 3) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NetDbRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/NetDbRenderer.java index 05ef0c1ac..a624ba1f3 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/NetDbRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/NetDbRenderer.java @@ -88,7 +88,7 @@ class NetDbRenderer { * @param family may be null */ public void renderRouterInfoHTML(Writer out, String routerPrefix, String version, - String country, String family) throws IOException { + String country, String family, String caps, String ip) throws IOException { StringBuilder buf = new StringBuilder(4*1024); if (".".equals(routerPrefix)) { renderRouterInfo(buf, _context.router().getRouterInfo(), true, true); @@ -100,9 +100,11 @@ class NetDbRenderer { if ((routerPrefix != null && key.toBase64().startsWith(routerPrefix)) || (version != null && version.equals(ri.getVersion())) || (country != null && country.equals(_context.commSystem().getCountry(key))) || - (family != null && family.equals(ri.getOption("family")))) { + (family != null && family.equals(ri.getOption("family"))) || + (caps != null && caps.equals(ri.getCapabilities()))) { renderRouterInfo(buf, ri, false, true); notFound = false; + // } else { ip TODO } } if (notFound) { diff --git a/apps/routerconsole/jsp/netdb.jsp b/apps/routerconsole/jsp/netdb.jsp index c323aa760..f880bc390 100644 --- a/apps/routerconsole/jsp/netdb.jsp +++ b/apps/routerconsole/jsp/netdb.jsp @@ -26,5 +26,7 @@ " /> " /> " /> + " /> + " />