From 8db352b4d08af6b0a92b27edc76d69f28db0a588 Mon Sep 17 00:00:00 2001 From: orignal Date: Sun, 4 Dec 2022 16:30:45 -0500 Subject: [PATCH] recognize symmetric NAT from peer test msg 7 --- libi2pd/SSU2Session.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/libi2pd/SSU2Session.cpp b/libi2pd/SSU2Session.cpp index 315d39b6..7b92a93c 100644 --- a/libi2pd/SSU2Session.cpp +++ b/libi2pd/SSU2Session.cpp @@ -1656,13 +1656,23 @@ namespace transport { if (isV4) { - if (i2p::context.GetStatus () == eRouterStatusTesting) + if (i2p::context.GetStatus () == eRouterStatusTesting || + m_State == eSSU2SessionStatePeerTest) + { i2p::context.SetError (eRouterErrorSymmetricNAT); + i2p::context.SetStatus (eRouterStatusFirewalled); + m_Server.RescheduleIntroducersUpdateTimer (); + } } else { - if (i2p::context.GetStatusV6 () == eRouterStatusTesting) + if (i2p::context.GetStatusV6 () == eRouterStatusTesting || + m_State == eSSU2SessionStatePeerTest) + { i2p::context.SetErrorV6 (eRouterErrorSymmetricNAT); + i2p::context.SetStatusV6 (eRouterStatusFirewalled); + m_Server.RescheduleIntroducersUpdateTimerV6 (); + } } } else