|
|
@ -415,7 +415,10 @@ namespace client |
|
|
|
auto it2 = m_LeaseSetRequests.find (key); |
|
|
|
auto it2 = m_LeaseSetRequests.find (key); |
|
|
|
if (it2 != m_LeaseSetRequests.end () && it2->second->requestedBlindedKey) |
|
|
|
if (it2 != m_LeaseSetRequests.end () && it2->second->requestedBlindedKey) |
|
|
|
{ |
|
|
|
{ |
|
|
|
auto ls2 = std::make_shared<i2p::data::LeaseSet2> (buf + offset, len - offset, it2->second->requestedBlindedKey, m_LeaseSetPrivKey ? *m_LeaseSetPrivKey : nullptr, GetPreferredCryptoType ()); |
|
|
|
const uint8_t * secret = nullptr; |
|
|
|
|
|
|
|
if (m_LeaseSetPrivKey) secret = *m_LeaseSetPrivKey; // m_LeaseSetPrivKey ? *m_LeaseSetPrivKey: nullptr invokes copy contructor
|
|
|
|
|
|
|
|
auto ls2 = std::make_shared<i2p::data::LeaseSet2> (buf + offset, len - offset, |
|
|
|
|
|
|
|
it2->second->requestedBlindedKey, secret, GetPreferredCryptoType ()); |
|
|
|
if (ls2->IsValid ()) |
|
|
|
if (ls2->IsValid ()) |
|
|
|
{ |
|
|
|
{ |
|
|
|
m_RemoteLeaseSets[ls2->GetIdentHash ()] = ls2; // ident is not key
|
|
|
|
m_RemoteLeaseSets[ls2->GetIdentHash ()] = ls2; // ident is not key
|
|
|
|