From f9f64a441b2ceaf32b37c49c85d072de3aba5940 Mon Sep 17 00:00:00 2001 From: zzz 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 sets = new TreeSet(new RatchetTagSetComparator()); + Comparator comp = new RatchetTagSetComparator(); + List sets = new ArrayList(); for (Map.Entry> e : inboundSets.entrySet()) { PublicKey skey = e.getKey(); sets.clear(); sets.addAll(e.getValue()); + Collections.sort(sets, comp); totalSets += sets.size(); buf.append("Public key: ").append(skey.toBase64()).append("" + "Sets: ").append(sets.size()).append("" + @@ -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("
Target public key: ").append(toString(sess.getTarget())).append("
" + "Established: ").append(DataHelper.formatDuration2(now - sess.getEstablishedDate())).append(" ago
" + @@ -828,7 +831,7 @@ public class RatchetSKM extends SessionKeyManager implements SessionTagListener */ private static class RatchetTagSetComparator implements Comparator, Serializable { public int compare(RatchetTagSet l, RatchetTagSet r) { - return l.getID() - r.getID(); + return l.getDebugID() - r.getDebugID(); } }