From 613f90bcf75165f7f7c5704aec4c2dad2924a619 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Sat, 23 Aug 2014 14:22:06 +0000
Subject: [PATCH] SSU: Drop peer tests as Bob from unestablished Alices

---
 .../src/net/i2p/router/transport/udp/PeerTestManager.java  | 7 +++++++
 1 file changed, 7 insertions(+)

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 6b454dd5c1..48a5e08225 100644
--- a/router/java/src/net/i2p/router/transport/udp/PeerTestManager.java
+++ b/router/java/src/net/i2p/router/transport/udp/PeerTestManager.java
@@ -584,6 +584,13 @@ class PeerTestManager {
                         _log.warn("Too many active tests, droppping from Alice " + Addresses.toString(fromIP, fromPort));
                     return;
                 }
+                if (_transport.getPeerState(from) == null) {
+                    // Require an existing session to start a test,
+                    // as a way of preventing trouble
+                    if (_log.shouldLog(Log.WARN))
+                        _log.warn("No session, dropping new test from Alice " + Addresses.toString(fromIP, fromPort));
+                    return;
+                }
                 if (_log.shouldLog(Log.DEBUG))
                     _log.debug("test IP/port are blank coming from " + from + ", assuming we are Bob and they are alice");
                 receiveFromAliceAsBob(from, testInfo, nonce, null);
-- 
GitLab