mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-02-02 19:14:01 +01:00
Merge remote-tracking branch 'purple/openssl'
This commit is contained in:
commit
32a5950aad
|
@ -527,20 +527,26 @@ namespace client
|
||||||
{
|
{
|
||||||
auto request = std::make_shared<LeaseSetRequest> (m_Service);
|
auto request = std::make_shared<LeaseSetRequest> (m_Service);
|
||||||
request->requestComplete.push_back (requestComplete);
|
request->requestComplete.push_back (requestComplete);
|
||||||
|
auto ts = i2p::util::GetSecondsSinceEpoch ();
|
||||||
auto ret = m_LeaseSetRequests.insert (std::pair<i2p::data::IdentHash, std::shared_ptr<LeaseSetRequest> >(dest,request));
|
auto ret = m_LeaseSetRequests.insert (std::pair<i2p::data::IdentHash, std::shared_ptr<LeaseSetRequest> >(dest,request));
|
||||||
if (ret.second) // inserted
|
if (ret.second) // inserted
|
||||||
{
|
{
|
||||||
|
request->requestTime = ts;
|
||||||
if (!SendLeaseSetRequest (dest, floodfill, request))
|
if (!SendLeaseSetRequest (dest, floodfill, request))
|
||||||
{
|
{
|
||||||
// request failed
|
// request failed
|
||||||
m_LeaseSetRequests.erase (dest);
|
m_LeaseSetRequests.erase (ret.first);
|
||||||
requestComplete (nullptr);
|
requestComplete (nullptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else // duplicate
|
else // duplicate
|
||||||
{
|
{
|
||||||
LogPrint (eLogInfo, "Destination: Request of LeaseSet ", dest.ToBase64 (), " is pending already");
|
LogPrint (eLogInfo, "Destination: Request of LeaseSet ", dest.ToBase64 (), " is pending already");
|
||||||
ret.first->second->requestComplete.push_back (requestComplete);
|
// TODO: implement it properly
|
||||||
|
//ret.first->second->requestComplete.push_back (requestComplete);
|
||||||
|
if (ts > ret.first->second->requestTime + MAX_LEASESET_REQUEST_TIMEOUT)
|
||||||
|
m_LeaseSetRequests.erase (ret.first);
|
||||||
|
requestComplete (nullptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -563,7 +569,6 @@ namespace client
|
||||||
if (request->replyTunnel && request->outboundTunnel)
|
if (request->replyTunnel && request->outboundTunnel)
|
||||||
{
|
{
|
||||||
request->excluded.insert (nextFloodfill->GetIdentHash ());
|
request->excluded.insert (nextFloodfill->GetIdentHash ());
|
||||||
request->requestTime = i2p::util::GetSecondsSinceEpoch ();
|
|
||||||
request->requestTimeoutTimer.cancel ();
|
request->requestTimeoutTimer.cancel ();
|
||||||
|
|
||||||
uint8_t replyKey[32], replyTag[32];
|
uint8_t replyKey[32], replyTag[32];
|
||||||
|
|
|
@ -274,7 +274,7 @@ namespace garlic
|
||||||
if (newTags) // new tags created
|
if (newTags) // new tags created
|
||||||
{
|
{
|
||||||
newTags->msgID = msgID;
|
newTags->msgID = msgID;
|
||||||
m_UnconfirmedTagsMsgs.emplace (msgID, std::unique_ptr<UnconfirmedTags>(newTags));
|
m_UnconfirmedTagsMsgs.insert (std::make_pair(msgID, std::unique_ptr<UnconfirmedTags>(newTags)));
|
||||||
newTags = nullptr; // got acquired
|
newTags = nullptr; // got acquired
|
||||||
}
|
}
|
||||||
m_Owner->DeliveryStatusSent (shared_from_this (), msgID);
|
m_Owner->DeliveryStatusSent (shared_from_this (), msgID);
|
||||||
|
|
Loading…
Reference in a new issue