From f9f64a441b2ceaf32b37c49c85d072de3aba5940 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Mon, 6 Apr 2020 13:22:58 +0000 Subject: [PATCH] Ratchet: Fix sorting for sessions on /debug --- .../java/src/net/i2p/router/crypto/ratchet/RatchetSKM.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/router/java/src/net/i2p/router/crypto/ratchet/RatchetSKM.java b/router/java/src/net/i2p/router/crypto/ratchet/RatchetSKM.java index 92f6658fe8..3e4347d267 100644 --- a/router/java/src/net/i2p/router/crypto/ratchet/RatchetSKM.java +++ b/router/java/src/net/i2p/router/crypto/ratchet/RatchetSKM.java @@ -737,11 +737,13 @@ public class RatchetSKM extends SessionKeyManager implements SessionTagListener int total = 0; int totalSets = 0; long now = _context.clock().now(); - Set<RatchetTagSet> sets = new TreeSet<RatchetTagSet>(new RatchetTagSetComparator()); + Comparator<RatchetTagSet> comp = new RatchetTagSetComparator(); + List<RatchetTagSet> sets = new ArrayList<RatchetTagSet>(); for (Map.Entry<PublicKey, Set<RatchetTagSet>> e : inboundSets.entrySet()) { PublicKey skey = e.getKey(); sets.clear(); sets.addAll(e.getValue()); + Collections.sort(sets, comp); totalSets += sets.size(); buf.append("<tr><td><b>Public key:</b> ").append(skey.toBase64()).append("</td>" + "<td><b>Sets:</b> ").append(sets.size()).append("</td></tr>" + @@ -779,6 +781,7 @@ public class RatchetSKM extends SessionKeyManager implements SessionTagListener for (OutboundSession sess : outbound) { sets.clear(); sets.addAll(sess.getTagSets()); + Collections.sort(sets, comp); totalSets += sets.size(); buf.append("<tr class=\"debug_outboundtarget\"><td><div class=\"debug_targetinfo\"><b>Target public key:</b> ").append(toString(sess.getTarget())).append("<br>" + "<b>Established:</b> ").append(DataHelper.formatDuration2(now - sess.getEstablishedDate())).append(" ago<br>" + @@ -828,7 +831,7 @@ public class RatchetSKM extends SessionKeyManager implements SessionTagListener */ private static class RatchetTagSetComparator implements Comparator<RatchetTagSet>, Serializable { public int compare(RatchetTagSet l, RatchetTagSet r) { - return l.getID() - r.getID(); + return l.getDebugID() - r.getDebugID(); } } -- GitLab