diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java index fb5aa91c11277fcce643750f3b409f2116f89bfb..b43fd2518012e0f5eae2203005e455dba492e372 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ProfileOrganizerRenderer.java @@ -47,7 +47,7 @@ class ProfileOrganizerRenderer { int standard = 0; for (Hash peer : peers) { if (_organizer.getUs().equals(peer)) continue; - PeerProfile prof = _organizer.getProfile(peer); + PeerProfile prof = _organizer.getProfileNonblocking(peer); if (prof == null) continue; if (mode == 2) { @@ -366,6 +366,9 @@ class ProfileOrganizerRenderer { private String formatInterval(long now, long then) { if (then <= 0) return _t(NA); + // avoid 0 or negative + if (now <= then) + return DataHelper.formatDuration2(1); return DataHelper.formatDuration2(now - then); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java index b03dbf5664ae50a61e99a2d5d85a232b88ba60f8..aee28db34b575b1d7ad44abd8ee7c1be97b50bb6 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SybilRenderer.java @@ -48,9 +48,9 @@ class SybilRenderer { private static final int PAIRMAX = 20; private static final int MAX = 10; // multiplied by size - 1, will also get POINTS24 added - private static final double POINTS32 = 10.0; + private static final double POINTS32 = 5.0; // multiplied by size - 1, will also get POINTS16 added - private static final double POINTS24 = 10.0; + private static final double POINTS24 = 5.0; // multiplied by size - 1 private static final double POINTS16 = 0.25; private static final double MIN_CLOSE = 242.0; @@ -211,7 +211,7 @@ class SybilRenderer { buf.append("<h3>Closest floodfills to the Routing Key for " + DataHelper.escapeHTML(name) + " (where we store our LS)</h3>"); renderRouterInfoHTML(out, buf, rkey, avgMinDist, ris, points); nkey = rkgen.getNextRoutingKey(ls.getHash()); - buf.append("<h3>Closest floodfills to Tomorrow's Routing Key for " + DataHelper.escapeHTML(name) + " (where we store our LS)</h3>"); + buf.append("<h3>Closest floodfills to Tomorrow's Routing Key for " + DataHelper.escapeHTML(name) + " (where we will store our LS)</h3>"); renderRouterInfoHTML(out, buf, nkey, avgMinDist, ris, points); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/TunnelRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/TunnelRenderer.java index 68dfa0df60a1494231deca0b7ce20bc828c4a7b7..8717230621e863b1aae88de0d235a2059f938404 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/TunnelRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/TunnelRenderer.java @@ -46,12 +46,10 @@ public class TunnelRenderer { boolean isLocal = _context.clientManager().isLocal(client); if ((!isLocal) && (!debug)) continue; - TunnelPool in = null; - TunnelPool outPool = null; - in = clientInboundPools.get(client); - outPool = clientOutboundPools.get(client); + TunnelPool in = clientInboundPools.get(client); + TunnelPool outPool = clientOutboundPools.get(client); // TODO the following code is duplicated in SummaryHelper - String name = (in != null ? in.getSettings().getDestinationNickname() : null); + String name = (in != null) ? in.getSettings().getDestinationNickname() : null; if ( (name == null) && (outPool != null) ) name = outPool.getSettings().getDestinationNickname(); if (name == null)