From 05d60d70e2263e01e77169200a95be947e11bc17 Mon Sep 17 00:00:00 2001 From: zzz <zzz@i2pmail.org> Date: Sat, 17 Dec 2022 09:17:55 -0500 Subject: [PATCH] SSU2: Immediately remove establish state from EstablishmentManager on fatal error to free up space and prevent problems handling additional packets --- .../net/i2p/router/transport/udp/EstablishmentManager.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/router/java/src/net/i2p/router/transport/udp/EstablishmentManager.java b/router/java/src/net/i2p/router/transport/udp/EstablishmentManager.java index a939f706bb..6b13afc763 100644 --- a/router/java/src/net/i2p/router/transport/udp/EstablishmentManager.java +++ b/router/java/src/net/i2p/router/transport/udp/EstablishmentManager.java @@ -775,6 +775,8 @@ class EstablishmentManager { } catch (GeneralSecurityException gse) { if (_log.shouldWarn()) _log.warn("Corrupt Session/Token Request after Retry from: " + state, gse); + // state called fail() + _inboundStates.remove(state.getRemoteHostId()); return; } } @@ -881,6 +883,7 @@ class EstablishmentManager { if (_log.shouldWarn()) _log.warn("Corrupt Session Confirmed on: " + state, gse); // state called fail() + _inboundStates.remove(state.getRemoteHostId()); return; } InboundEstablishState.InboundState istate = state.getState(); @@ -933,6 +936,7 @@ class EstablishmentManager { if (_log.shouldWarn()) _log.warn("Corrupt Session Created on: " + state, gse); // state called fail() + _outboundStates.remove(state.getRemoteHostId()); return; } notifyActivity(); @@ -953,6 +957,7 @@ class EstablishmentManager { if (_log.shouldWarn()) _log.warn("Corrupt Retry from: " + state, gse); // state called fail() + _outboundStates.remove(state.getRemoteHostId()); return; } notifyActivity(); -- GitLab