From 412fcfb578179a715add880be86d8ccb8908c8d9 Mon Sep 17 00:00:00 2001 From: zzz Date: Thu, 19 Jul 2018 14:15:43 +0000 Subject: [PATCH] Console: Add netdb search by transport --- .../net/i2p/router/web/helpers/NetDbHelper.java | 17 +++++++++++++---- .../i2p/router/web/helpers/NetDbRenderer.java | 6 ++++-- apps/routerconsole/jsp/netdb.jsp | 1 + 3 files changed, 18 insertions(+), 6 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 802e68ba1..724ec4473 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 @@ -1,6 +1,8 @@ package net.i2p.router.web.helpers; import java.io.IOException; +import java.util.Locale; + import net.i2p.crypto.SigType; import net.i2p.data.DataHelper; import net.i2p.router.web.HelperBase; @@ -9,7 +11,7 @@ public class NetDbHelper extends HelperBase { private String _routerPrefix; private String _version; private String _country; - private String _family, _caps, _ip, _sybil, _mtu, _ssucaps, _ipv6; + private String _family, _caps, _ip, _sybil, _mtu, _ssucaps, _ipv6, _transport; private int _full, _port, _cost; private boolean _lease; private boolean _debug; @@ -121,6 +123,12 @@ public class NetDbHelper extends HelperBase { _ssucaps = DataHelper.stripHTML(f); // XSS } + /** @since 0.9.36 */ + public void setTransport(String f) { + if (f != null && f.length() > 0) + _transport = DataHelper.stripHTML(f).toUpperCase(Locale.US); + } + /** @since 0.9.28 */ public void setCost(String f) { try { @@ -157,10 +165,10 @@ public class NetDbHelper extends HelperBase { if (_routerPrefix != null || _version != null || _country != null || _family != null || _caps != null || _ip != null || _sybil != null || _port != 0 || _type != null || _mtu != null || _ipv6 != null || - _ssucaps != null || _cost != 0) + _ssucaps != null || _transport != null || _cost != 0) renderer.renderRouterInfoHTML(_out, _routerPrefix, _version, _country, _family, _caps, _ip, _sybil, _port, _type, - _mtu, _ipv6, _ssucaps, _cost); + _mtu, _ipv6, _ssucaps, _transport, _cost); else if (_lease) renderer.renderLeaseSetHTML(_out, _debug); else if (_full == 3) @@ -244,7 +252,7 @@ public class NetDbHelper extends HelperBase { private void renderLookupForm() throws IOException { _out.write("
\n" + "\n" + - "\n" + + "\n" + "\n" + "\n" + "\n" + @@ -256,6 +264,7 @@ public class NetDbHelper extends HelperBase { "\n" + "\n" + "\n" + + "\n" + "\n" + "\n" + "\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 c133ee60f..ca8da48e8 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 @@ -94,7 +94,8 @@ class NetDbRenderer { public void renderRouterInfoHTML(Writer out, String routerPrefix, String version, String country, String family, String caps, String ip, String sybil, int port, SigType type, - String mtu, String ipv6, String ssucaps, int cost) throws IOException { + String mtu, String ipv6, String ssucaps, + String tr, int cost) throws IOException { StringBuilder buf = new StringBuilder(4*1024); List sybils = sybil != null ? new ArrayList(128) : null; if (".".equals(routerPrefix)) { @@ -124,6 +125,7 @@ class NetDbRenderer { (country != null && country.equals(_context.commSystem().getCountry(key))) || (family != null && family.equals(ri.getOption("family"))) || (caps != null && ri.getCapabilities().contains(caps)) || + (tr != null && ri.getTargetAddress(tr) != null) || (type != null && type == ri.getIdentity().getSigType())) { renderRouterInfo(buf, ri, false, true); if (sybil != null) @@ -704,7 +706,7 @@ class NetDbRenderer { int rv = 0; for (RouterAddress addr : info.getAddresses()) { String style = addr.getTransportStyle(); - if (style.equals("NTCP")) { + if (style.equals("NTCP") || style.equals("NTCP2")) { rv |= NTCP; } else if (style.equals("SSU")) { if (addr.getOption("iport0") != null) diff --git a/apps/routerconsole/jsp/netdb.jsp b/apps/routerconsole/jsp/netdb.jsp index 3b89c6b65..4c77f5918 100644 --- a/apps/routerconsole/jsp/netdb.jsp +++ b/apps/routerconsole/jsp/netdb.jsp @@ -35,5 +35,6 @@ " /> " /> " /> + " />
Network Database Search
Select one search field only:
Enter one search field only:
Capabilities:e.g. f or XOfR
Cost:
Country Code:e.g. ru
Port Number:
Signature Type:
SSU Capabilities:
Transport:
Router Version:
Add Sybil analysis (must pick one above):
Sybil close to:Router hash, dest hash, b32, or from address book