From bfdf75f45beec5179e240796201cbfe1c4a6389b Mon Sep 17 00:00:00 2001
From: zzz <zzz@i2pmail.org>
Date: Fri, 10 Jun 2022 09:08:08 -0400
Subject: [PATCH] SSU2: Fix test/relay response code for banned IP

---
 .../net/i2p/router/transport/udp/IntroductionManager.java   | 6 +++---
 .../src/net/i2p/router/transport/udp/PeerTestManager.java   | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/router/java/src/net/i2p/router/transport/udp/IntroductionManager.java b/router/java/src/net/i2p/router/transport/udp/IntroductionManager.java
index 960fb5ba71..0d721c486a 100644
--- a/router/java/src/net/i2p/router/transport/udp/IntroductionManager.java
+++ b/router/java/src/net/i2p/router/transport/udp/IntroductionManager.java
@@ -912,12 +912,12 @@ class IntroductionManager {
         PeerState aps = _transport.getPeerState(alice);
         if (aps != null && aps.isIPv6() == isIPv6) {
             rcode = SSU2Util.RELAY_REJECT_CHARLIE_CONNECTED;
-        } else if (_context.banlist().isBanlisted(alice)) {
+        } else if (_context.banlist().isBanlisted(alice) ||
+                   _context.blocklist().isBlocklisted(testIP)) {
             rcode = SSU2Util.RELAY_REJECT_CHARLIE_BANNED;
         } else if (!TransportUtil.isValidPort(testPort) ||
                   !_transport.isValid(testIP) ||
-                 _transport.isTooClose(testIP) ||
-                 _context.blocklist().isBlocklisted(testIP)) {
+                 _transport.isTooClose(testIP)) {
             rcode = SSU2Util.RELAY_REJECT_CHARLIE_ADDRESS;
         } else {
             // bob should have sent it to us. Don't bother to lookup
diff --git a/router/java/src/net/i2p/router/transport/udp/PeerTestManager.java b/router/java/src/net/i2p/router/transport/udp/PeerTestManager.java
index 59e487dcd5..ac7ab3620a 100644
--- a/router/java/src/net/i2p/router/transport/udp/PeerTestManager.java
+++ b/router/java/src/net/i2p/router/transport/udp/PeerTestManager.java
@@ -1074,12 +1074,12 @@ class PeerTestManager {
                 } else if (_transport.getEstablisher().getInboundState(from) != null ||
                            _transport.getEstablisher().getOutboundState(from) != null) {
                     rcode = SSU2Util.TEST_REJECT_CHARLIE_CONNECTED;
-                } else if (_context.banlist().isBanlisted(h)) {
+                } else if (_context.banlist().isBanlisted(h) ||
+                           _context.blocklist().isBlocklisted(testIP)) {
                     rcode = SSU2Util.TEST_REJECT_CHARLIE_BANNED;
                 } else if (!TransportUtil.isValidPort(testPort) ||
                           !_transport.isValid(testIP) ||
-                         _transport.isTooClose(testIP) ||
-                         _context.blocklist().isBlocklisted(testIP)) {
+                         _transport.isTooClose(testIP)) {
                     rcode = SSU2Util.TEST_REJECT_CHARLIE_ADDRESS;
                 } else {
                     // bob should have sent it to us. Don't bother to lookup
-- 
GitLab