diff --git a/llarp/service/outbound_context.cpp b/llarp/service/outbound_context.cpp index cccbe9838..cdc4214e6 100644 --- a/llarp/service/outbound_context.cpp +++ b/llarp/service/outbound_context.cpp @@ -62,7 +62,6 @@ namespace llarp if(intro.expiresAt > m_NextIntro.expiresAt) m_NextIntro = intro; } - currentConvoTag.Randomize(); } OutboundContext::~OutboundContext() = default; @@ -176,6 +175,8 @@ namespace llarp OutboundContext::AsyncGenIntro(const llarp_buffer_t& payload, ProtocolType t) { + if(not currentConvoTag.IsZero()) + return; if(remoteIntro.router.IsZero()) SwapIntros(); @@ -193,6 +194,7 @@ namespace llarp return; } } + currentConvoTag.Randomize(); auto frame = std::make_shared< ProtocolFrame >(); auto ex = std::make_shared< AsyncKeyExchange >( m_Endpoint->RouterLogic(), remoteIdent, m_Endpoint->GetIdentity(), diff --git a/llarp/service/sendcontext.cpp b/llarp/service/sendcontext.cpp index 1d36ec524..e47e1382a 100644 --- a/llarp/service/sendcontext.cpp +++ b/llarp/service/sendcontext.cpp @@ -108,7 +108,7 @@ namespace llarp SendContext::AsyncEncryptAndSendTo(const llarp_buffer_t& data, ProtocolType protocol) { - if(lastGoodSend) + if(lastGoodSend != 0) { EncryptAndSendTo(data, protocol); }