|
|
@ -920,11 +920,10 @@ namespace llarp
|
|
|
|
Endpoint::HandleDataMessage(const PathID_t& src, ProtocolMessage* msg)
|
|
|
|
Endpoint::HandleDataMessage(const PathID_t& src, ProtocolMessage* msg)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
auto path = GetPathByID(src);
|
|
|
|
auto path = GetPathByID(src);
|
|
|
|
if(path == nullptr)
|
|
|
|
if(path)
|
|
|
|
return false;
|
|
|
|
PutReplyIntroFor(msg->tag, path->intro);
|
|
|
|
msg->sender.UpdateAddr();
|
|
|
|
msg->sender.UpdateAddr();
|
|
|
|
PutIntroFor(msg->tag, msg->introReply);
|
|
|
|
PutIntroFor(msg->tag, msg->introReply);
|
|
|
|
PutReplyIntroFor(msg->tag, path->intro);
|
|
|
|
|
|
|
|
EnsureReplyPath(msg->sender);
|
|
|
|
EnsureReplyPath(msg->sender);
|
|
|
|
return ProcessDataMessage(msg);
|
|
|
|
return ProcessDataMessage(msg);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -1636,6 +1635,7 @@ namespace llarp
|
|
|
|
|
|
|
|
|
|
|
|
ex->msg.PutBuffer(payload);
|
|
|
|
ex->msg.PutBuffer(payload);
|
|
|
|
ex->msg.introReply = path->intro;
|
|
|
|
ex->msg.introReply = path->intro;
|
|
|
|
|
|
|
|
m_DataHandler->PutReplyIntroFor(currentConvoTag, path->intro);
|
|
|
|
llarp_threadpool_queue_job(m_Endpoint->Worker(),
|
|
|
|
llarp_threadpool_queue_job(m_Endpoint->Worker(),
|
|
|
|
{ex, &AsyncKeyExchange::Encrypt});
|
|
|
|
{ex, &AsyncKeyExchange::Encrypt});
|
|
|
|
}
|
|
|
|
}
|
|
|
|