forked from I2P_Developers/i2p.i2p
Console: Add netdb lookup by family
This commit is contained in:
@ -7,6 +7,7 @@ public class NetDbHelper extends HelperBase {
|
|||||||
private String _routerPrefix;
|
private String _routerPrefix;
|
||||||
private String _version;
|
private String _version;
|
||||||
private String _country;
|
private String _country;
|
||||||
|
private String _family;
|
||||||
private int _full;
|
private int _full;
|
||||||
private boolean _lease;
|
private boolean _lease;
|
||||||
private boolean _debug;
|
private boolean _debug;
|
||||||
@ -49,6 +50,12 @@ public class NetDbHelper extends HelperBase {
|
|||||||
_country = DataHelper.stripHTML(c); // XSS
|
_country = DataHelper.stripHTML(c); // XSS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @since 0.9.28 */
|
||||||
|
public void setFamily(String c) {
|
||||||
|
if (c != null)
|
||||||
|
_family = DataHelper.stripHTML(c); // XSS
|
||||||
|
}
|
||||||
|
|
||||||
public void setFull(String f) {
|
public void setFull(String f) {
|
||||||
try {
|
try {
|
||||||
_full = Integer.parseInt(f);
|
_full = Integer.parseInt(f);
|
||||||
@ -75,8 +82,8 @@ public class NetDbHelper extends HelperBase {
|
|||||||
NetDbRenderer renderer = new NetDbRenderer(_context);
|
NetDbRenderer renderer = new NetDbRenderer(_context);
|
||||||
try {
|
try {
|
||||||
renderNavBar();
|
renderNavBar();
|
||||||
if (_routerPrefix != null || _version != null || _country != null)
|
if (_routerPrefix != null || _version != null || _country != null || _family != null)
|
||||||
renderer.renderRouterInfoHTML(_out, _routerPrefix, _version, _country);
|
renderer.renderRouterInfoHTML(_out, _routerPrefix, _version, _country, _family);
|
||||||
else if (_lease)
|
else if (_lease)
|
||||||
renderer.renderLeaseSetHTML(_out, _debug);
|
renderer.renderLeaseSetHTML(_out, _debug);
|
||||||
else if (_full == 3)
|
else if (_full == 3)
|
||||||
|
@ -85,8 +85,10 @@ class NetDbRenderer {
|
|||||||
* @param routerPrefix may be null. "." for our router only
|
* @param routerPrefix may be null. "." for our router only
|
||||||
* @param version may be null
|
* @param version may be null
|
||||||
* @param country may be null
|
* @param country may be null
|
||||||
|
* @param family may be null
|
||||||
*/
|
*/
|
||||||
public void renderRouterInfoHTML(Writer out, String routerPrefix, String version, String country) throws IOException {
|
public void renderRouterInfoHTML(Writer out, String routerPrefix, String version,
|
||||||
|
String country, String family) throws IOException {
|
||||||
StringBuilder buf = new StringBuilder(4*1024);
|
StringBuilder buf = new StringBuilder(4*1024);
|
||||||
if (".".equals(routerPrefix)) {
|
if (".".equals(routerPrefix)) {
|
||||||
renderRouterInfo(buf, _context.router().getRouterInfo(), true, true);
|
renderRouterInfo(buf, _context.router().getRouterInfo(), true, true);
|
||||||
@ -97,7 +99,8 @@ class NetDbRenderer {
|
|||||||
Hash key = ri.getIdentity().getHash();
|
Hash key = ri.getIdentity().getHash();
|
||||||
if ((routerPrefix != null && key.toBase64().startsWith(routerPrefix)) ||
|
if ((routerPrefix != null && key.toBase64().startsWith(routerPrefix)) ||
|
||||||
(version != null && version.equals(ri.getVersion())) ||
|
(version != null && version.equals(ri.getVersion())) ||
|
||||||
(country != null && country.equals(_context.commSystem().getCountry(key)))) {
|
(country != null && country.equals(_context.commSystem().getCountry(key))) ||
|
||||||
|
(family != null && family.equals(ri.getOption("family")))) {
|
||||||
renderRouterInfo(buf, ri, false, true);
|
renderRouterInfo(buf, ri, false, true);
|
||||||
notFound = false;
|
notFound = false;
|
||||||
}
|
}
|
||||||
@ -110,6 +113,8 @@ class NetDbRenderer {
|
|||||||
buf.append(version);
|
buf.append(version);
|
||||||
else if (country != null)
|
else if (country != null)
|
||||||
buf.append(country);
|
buf.append(country);
|
||||||
|
else if (family != null)
|
||||||
|
buf.append(_t("Family")).append(' ').append(family);
|
||||||
buf.append(' ').append(_t("not found in network database"));
|
buf.append(' ').append(_t("not found in network database"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -588,8 +588,9 @@ class SybilRenderer {
|
|||||||
boolean found = false;
|
boolean found = false;
|
||||||
for (String s : foo) {
|
for (String s : foo) {
|
||||||
int count = oc.count(s);
|
int count = oc.count(s);
|
||||||
buf.append("<p><b>").append(count).append(" floodfills in declared family \"").append(DataHelper.escapeHTML(s) + '"')
|
String ss = DataHelper.escapeHTML(s);
|
||||||
.append("</b></p>");
|
buf.append("<p><b>").append(count).append(" floodfills in declared family \"<a href=\"/netdb?fam=")
|
||||||
|
.append(ss).append("\">").append(ss).append("</a>\"</b></p>");
|
||||||
for (RouterInfo info : ris) {
|
for (RouterInfo info : ris) {
|
||||||
String fam = info.getOption("family");
|
String fam = info.getOption("family");
|
||||||
if (fam == null)
|
if (fam == null)
|
||||||
|
@ -25,5 +25,6 @@
|
|||||||
<jsp:setProperty name="netdbHelper" property="lease" value="<%=request.getParameter(\"l\")%>" />
|
<jsp:setProperty name="netdbHelper" property="lease" value="<%=request.getParameter(\"l\")%>" />
|
||||||
<jsp:setProperty name="netdbHelper" property="version" value="<%=request.getParameter(\"v\")%>" />
|
<jsp:setProperty name="netdbHelper" property="version" value="<%=request.getParameter(\"v\")%>" />
|
||||||
<jsp:setProperty name="netdbHelper" property="country" value="<%=request.getParameter(\"c\")%>" />
|
<jsp:setProperty name="netdbHelper" property="country" value="<%=request.getParameter(\"c\")%>" />
|
||||||
|
<jsp:setProperty name="netdbHelper" property="family" value="<%=request.getParameter(\"fam\")%>" />
|
||||||
<jsp:getProperty name="netdbHelper" property="netDbSummary" />
|
<jsp:getProperty name="netdbHelper" property="netDbSummary" />
|
||||||
</div></div></body></html>
|
</div></div></body></html>
|
||||||
|
Reference in New Issue
Block a user