|
|
@ -559,7 +559,9 @@ namespace client |
|
|
|
m_ExcludedFloodfills.insert (floodfill->GetIdentHash ()); |
|
|
|
m_ExcludedFloodfills.insert (floodfill->GetIdentHash ()); |
|
|
|
LogPrint (eLogDebug, "Destination: Publish LeaseSet of ", GetIdentHash ().ToBase32 ()); |
|
|
|
LogPrint (eLogDebug, "Destination: Publish LeaseSet of ", GetIdentHash ().ToBase32 ()); |
|
|
|
RAND_bytes ((uint8_t *)&m_PublishReplyToken, 4); |
|
|
|
RAND_bytes ((uint8_t *)&m_PublishReplyToken, 4); |
|
|
|
auto msg = WrapMessage (floodfill, i2p::CreateDatabaseStoreMsg (leaseSet, m_PublishReplyToken, inbound)); |
|
|
|
auto msg = i2p::CreateDatabaseStoreMsg (leaseSet, m_PublishReplyToken, inbound); |
|
|
|
|
|
|
|
if (floodfill->GetIdentity ()->GetCryptoKeyType () == i2p::data::CRYPTO_KEY_TYPE_ELGAMAL) // TODO: remove when implemented
|
|
|
|
|
|
|
|
msg = WrapMessage (floodfill, msg); |
|
|
|
m_PublishConfirmationTimer.expires_from_now (boost::posix_time::seconds(PUBLISH_CONFIRMATION_TIMEOUT)); |
|
|
|
m_PublishConfirmationTimer.expires_from_now (boost::posix_time::seconds(PUBLISH_CONFIRMATION_TIMEOUT)); |
|
|
|
m_PublishConfirmationTimer.async_wait (std::bind (&LeaseSetDestination::HandlePublishConfirmationTimer, |
|
|
|
m_PublishConfirmationTimer.async_wait (std::bind (&LeaseSetDestination::HandlePublishConfirmationTimer, |
|
|
|
shared_from_this (), std::placeholders::_1)); |
|
|
|
shared_from_this (), std::placeholders::_1)); |
|
|
@ -754,9 +756,10 @@ namespace client |
|
|
|
else |
|
|
|
else |
|
|
|
AddSessionKey (replyKey, replyTag); |
|
|
|
AddSessionKey (replyKey, replyTag); |
|
|
|
|
|
|
|
|
|
|
|
auto msg = WrapMessage (nextFloodfill, |
|
|
|
auto msg = CreateLeaseSetDatabaseLookupMsg (dest, request->excluded, |
|
|
|
CreateLeaseSetDatabaseLookupMsg (dest, request->excluded, |
|
|
|
request->replyTunnel, replyKey, replyTag, isECIES); |
|
|
|
request->replyTunnel, replyKey, replyTag, isECIES)); |
|
|
|
if (nextFloodfill->GetIdentity ()->GetCryptoKeyType () == i2p::data::CRYPTO_KEY_TYPE_ELGAMAL) // TODO: remove when implemented
|
|
|
|
|
|
|
|
msg = WrapMessage (nextFloodfill, msg); |
|
|
|
request->outboundTunnel->SendTunnelDataMsg ( |
|
|
|
request->outboundTunnel->SendTunnelDataMsg ( |
|
|
|
{ |
|
|
|
{ |
|
|
|
i2p::tunnel::TunnelMessageBlock |
|
|
|
i2p::tunnel::TunnelMessageBlock |
|
|
|