From 960636c6bf5c9b394eb529e88366eff309fc7d4d Mon Sep 17 00:00:00 2001 From: zzz Date: Sat, 6 Oct 2018 13:25:22 +0000 Subject: [PATCH] Console: Sort addresses in RIs, remove note about O cap --- .../i2p/router/web/helpers/NetDbRenderer.java | 29 ++++++++++++++++++- .../web/helpers/ProfileOrganizerRenderer.java | 2 -- history.txt | 3 ++ .../src/net/i2p/router/RouterVersion.java | 2 +- 4 files changed, 32 insertions(+), 4 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 7a842eedd..c40acc6e9 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 @@ -784,6 +784,27 @@ class NetDbRenderer { } } + /** + * Sort by style, then host + * @since 0.9.38 + */ + private static class RAComparator implements Comparator { + private static final long serialVersionUID = 1L; + + public int compare(RouterAddress l, RouterAddress r) { + int rv = l.getTransportStyle().compareTo(r.getTransportStyle()); + if (rv != 0) + return rv; + String lh = l.getHost(); + String rh = r.getHost(); + if (lh == null) + return (rh == null) ? 0 : -1; + if (rh == null) + return 1; + return lh.compareTo(rh); + } + } + /** * Be careful to use stripHTML for any displayed routerInfo data * to prevent vulnerabilities @@ -836,7 +857,13 @@ class NetDbRenderer { if (addrs.isEmpty()) { buf.append(_t("none")); } else { - for (RouterAddress addr : info.getAddresses()) { + if (addrs.size() > 1) { + // addrs is unmodifiable + List laddrs = new ArrayList(addrs); + Collections.sort(laddrs, new RAComparator()); + addrs = laddrs; + } + for (RouterAddress addr : addrs) { String style = addr.getTransportStyle(); buf.append("
").append(DataHelper.stripHTML(style)).append(":"); int cost = addr.getCost(); diff --git a/apps/routerconsole/java/src/net/i2p/router/web/helpers/ProfileOrganizerRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/helpers/ProfileOrganizerRenderer.java index cb7d32787..17b639ff4 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/helpers/ProfileOrganizerRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/helpers/ProfileOrganizerRenderer.java @@ -330,8 +330,6 @@ class ProfileOrganizerRenderer { buf.append(" ") .append("X").append(_t("Over {0} shared bandwidth", Math.round(Router.MIN_BW_X * 1.024f) + " KBps")).append("") .append("   "); - buf.append(" ").append(_t("Note: For P and X bandwidth tiers, O is included for the purpose of backward compatibility in the NetDB.")) - .append(""); buf.append(""); // profile_defs buf.append("") .append(_t("speed")) diff --git a/history.txt b/history.txt index 44ca4d387..fd373085e 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,6 @@ +2018-10-06 zzz + * Console: Sort addresses in RIs + * 2018-10-04 0.9.37 released 2018-10-01 zzz diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index a411b0099..87e5bffca 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 0; + public final static long BUILD = 1; /** for example "-test" */ public final static String EXTRA = "";