From dceef0dae277b41209f08cd516137eb526f8b82e Mon Sep 17 00:00:00 2001 From: zzz <zzz@i2pmail.org> Date: Sun, 23 Feb 2025 07:43:26 -0500 Subject: [PATCH] Router: Ban hash of all-zero RI seen live on the net --- .../src/net/i2p/router/web/helpers/BanlistRenderer.java | 2 +- router/java/src/net/i2p/router/Banlist.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/helpers/BanlistRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/helpers/BanlistRenderer.java index 3d53d96266..7696a33a8a 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/helpers/BanlistRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/helpers/BanlistRenderer.java @@ -57,7 +57,7 @@ class BanlistRenderer { buf.append("<li>").append(_context.commSystem().renderPeerHTML(key)); buf.append(' '); String expireString = DataHelper.formatDuration2(expires); - if (key.equals(Hash.FAKE_HASH)) + if (key.equals(Hash.FAKE_HASH) || key.equals(Banlist.HASH_ZERORI)) buf.append(_t("Permanently banned")); else if (expires < 5l*24*60*60*1000) buf.append(_t("Temporary ban expiring in {0}", expireString)); diff --git a/router/java/src/net/i2p/router/Banlist.java b/router/java/src/net/i2p/router/Banlist.java index 10be23c89c..113f4a6699 100644 --- a/router/java/src/net/i2p/router/Banlist.java +++ b/router/java/src/net/i2p/router/Banlist.java @@ -18,6 +18,7 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; +import net.i2p.data.Base64; import net.i2p.data.DataHelper; import net.i2p.data.Hash; import net.i2p.router.peermanager.PeerProfile; @@ -35,6 +36,12 @@ public class Banlist { private final Log _log; private final RouterContext _context; private final Map<Hash, Entry> _entries; + + /** + * hash of 387 zeros + * @since 0.9.66 + */ + public static final Hash HASH_ZERORI = new Hash(Base64.decode("MRn86w6tHQgE25D7DIejOBCJ-dImSjdsQaOaBuUypkE=")); public static class Entry { /** when it should expire, per the i2p clock */ @@ -70,6 +77,7 @@ public class Banlist { _context.jobQueue().addJob(new Cleanup(_context)); // i2pd bug? banlistRouterForever(Hash.FAKE_HASH, "Invalid Hash"); + banlistRouterForever(HASH_ZERORI, "Invalid Hash"); } private class Cleanup extends JobImpl { -- GitLab