From e2a41b7748b60dab0e3e79f4355e460192acba90 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Sun, 7 Oct 2018 14:52:24 +0000 Subject: [PATCH] Console: Sort RAs in Sybil tool --- .../src/net/i2p/router/web/helpers/NetDbRenderer.java | 2 +- .../src/net/i2p/router/web/helpers/SybilRenderer.java | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) 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 71d0f2b9a6..45153c6c9a 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 @@ -805,7 +805,7 @@ class NetDbRenderer { * Sort by style, then host * @since 0.9.38 */ - private static class RAComparator implements Comparator<RouterAddress> { + static class RAComparator implements Comparator<RouterAddress> { private static final long serialVersionUID = 1L; public int compare(RouterAddress l, RouterAddress r) { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/helpers/SybilRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/helpers/SybilRenderer.java index 2843ffd297..628cc52b6f 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/helpers/SybilRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/helpers/SybilRenderer.java @@ -7,6 +7,7 @@ import java.math.BigInteger; import java.text.Collator; import java.text.DecimalFormat; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.Date; @@ -912,7 +913,14 @@ class SybilRenderer { .append(info.getIdentity().getSigningPublicKey().getType().toString()).append("</p>\n"); buf.append("<p class=\"sybil_filler\"> </p>"); buf.append("</div></td></tr><tr><td class=\"sybil_addresses\" colspan=\"3\"><table><tr><td><b>" + _t("Addresses") + ":</b></td><td>"); - for (RouterAddress addr : info.getAddresses()) { + Collection<RouterAddress> addrs = info.getAddresses(); + if (addrs.size() > 1) { + // addrs is unmodifiable + List<RouterAddress> laddrs = new ArrayList<RouterAddress>(addrs); + Collections.sort(laddrs, new NetDbRenderer.RAComparator()); + addrs = laddrs; + } + for (RouterAddress addr : addrs) { String style = addr.getTransportStyle(); buf.append("<br><b class=\"netdb_transport\">").append(DataHelper.stripHTML(style)).append(":</b> "); Map<Object, Object> p = addr.getOptionsMap(); -- GitLab