|
|
@ -45,16 +45,14 @@ namespace llarp
|
|
|
|
GetRouter()->rcLookupHandler().CheckRC(rc);
|
|
|
|
GetRouter()->rcLookupHandler().CheckRC(rc);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// on behalf of whoasked request introset for target from dht router with
|
|
|
|
|
|
|
|
/// key askpeer
|
|
|
|
|
|
|
|
void
|
|
|
|
void
|
|
|
|
LookupIntroSetRecursive(
|
|
|
|
LookupIntroSetRelayed(
|
|
|
|
const Key_t& target, const Key_t& whoasked, uint64_t whoaskedTX,
|
|
|
|
const Key_t& target, const Key_t& whoasked, uint64_t whoaskedTX,
|
|
|
|
const Key_t& askpeer, uint64_t recursionDepth, uint64_t relayOrder,
|
|
|
|
const Key_t& askpeer, uint64_t relayOrder,
|
|
|
|
service::EncryptedIntroSetLookupHandler result = nullptr) override;
|
|
|
|
service::EncryptedIntroSetLookupHandler result = nullptr) override;
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
void
|
|
|
|
LookupIntroSetIterative(
|
|
|
|
LookupIntroSetDirect(
|
|
|
|
const Key_t& target, const Key_t& whoasked, uint64_t whoaskedTX,
|
|
|
|
const Key_t& target, const Key_t& whoasked, uint64_t whoaskedTX,
|
|
|
|
const Key_t& askpeer,
|
|
|
|
const Key_t& askpeer,
|
|
|
|
service::EncryptedIntroSetLookupHandler result = nullptr) override;
|
|
|
|
service::EncryptedIntroSetLookupHandler result = nullptr) override;
|
|
|
@ -94,7 +92,6 @@ namespace llarp
|
|
|
|
void
|
|
|
|
void
|
|
|
|
LookupIntroSetForPath(const Key_t& addr, uint64_t txid,
|
|
|
|
LookupIntroSetForPath(const Key_t& addr, uint64_t txid,
|
|
|
|
const llarp::PathID_t& path, const Key_t& askpeer,
|
|
|
|
const llarp::PathID_t& path, const Key_t& askpeer,
|
|
|
|
uint64_t recursionDepth,
|
|
|
|
|
|
|
|
uint64_t relayOrder) override;
|
|
|
|
uint64_t relayOrder) override;
|
|
|
|
|
|
|
|
|
|
|
|
/// send a dht message to peer, if keepalive is true then keep the session
|
|
|
|
/// send a dht message to peer, if keepalive is true then keep the session
|
|
|
@ -543,15 +540,14 @@ namespace llarp
|
|
|
|
Context::LookupIntroSetForPath(const Key_t& addr, uint64_t txid,
|
|
|
|
Context::LookupIntroSetForPath(const Key_t& addr, uint64_t txid,
|
|
|
|
const llarp::PathID_t& path,
|
|
|
|
const llarp::PathID_t& path,
|
|
|
|
const Key_t& askpeer,
|
|
|
|
const Key_t& askpeer,
|
|
|
|
uint64_t recursionDepth, uint64_t relayOrder)
|
|
|
|
uint64_t relayOrder)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
TXOwner asker(OurKey(), txid);
|
|
|
|
TXOwner asker(OurKey(), txid);
|
|
|
|
TXOwner peer(askpeer, ++ids);
|
|
|
|
TXOwner peer(askpeer, ++ids);
|
|
|
|
_pendingIntrosetLookups.NewTX(
|
|
|
|
_pendingIntrosetLookups.NewTX(
|
|
|
|
peer, asker, addr,
|
|
|
|
peer, asker, addr,
|
|
|
|
new LocalServiceAddressLookup(path, txid, relayOrder, addr, this,
|
|
|
|
new LocalServiceAddressLookup(path, txid, relayOrder, addr, this,
|
|
|
|
askpeer),
|
|
|
|
askpeer));
|
|
|
|
((recursionDepth + 1) * 2000));
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
void
|
|
|
@ -569,18 +565,16 @@ namespace llarp
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
void
|
|
|
|
Context::LookupIntroSetRecursive(
|
|
|
|
Context::LookupIntroSetRelayed(
|
|
|
|
const Key_t& addr, const Key_t& whoasked, uint64_t txid,
|
|
|
|
const Key_t& addr, const Key_t& whoasked, uint64_t txid,
|
|
|
|
const Key_t& askpeer, uint64_t recursionDepth, uint64_t relayOrder,
|
|
|
|
const Key_t& askpeer, uint64_t relayOrder,
|
|
|
|
service::EncryptedIntroSetLookupHandler handler)
|
|
|
|
service::EncryptedIntroSetLookupHandler handler)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
TXOwner asker(whoasked, txid);
|
|
|
|
TXOwner asker(whoasked, txid);
|
|
|
|
TXOwner peer(askpeer, ++ids);
|
|
|
|
TXOwner peer(askpeer, ++ids);
|
|
|
|
_pendingIntrosetLookups.NewTX(
|
|
|
|
_pendingIntrosetLookups.NewTX(
|
|
|
|
peer, asker, addr,
|
|
|
|
peer, asker, addr,
|
|
|
|
new ServiceAddressLookup(asker, addr, this, recursionDepth,
|
|
|
|
new ServiceAddressLookup(asker, addr, this, relayOrder, handler));
|
|
|
|
relayOrder, handler),
|
|
|
|
|
|
|
|
((recursionDepth + 1) * 2000));
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
void
|
|
|
@ -594,7 +588,7 @@ namespace llarp
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void
|
|
|
|
void
|
|
|
|
Context::LookupIntroSetIterative(
|
|
|
|
Context::LookupIntroSetDirect(
|
|
|
|
const Key_t& addr, const Key_t& whoasked, uint64_t txid,
|
|
|
|
const Key_t& addr, const Key_t& whoasked, uint64_t txid,
|
|
|
|
const Key_t& askpeer, service::EncryptedIntroSetLookupHandler handler)
|
|
|
|
const Key_t& askpeer, service::EncryptedIntroSetLookupHandler handler)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -602,7 +596,7 @@ namespace llarp
|
|
|
|
TXOwner peer(askpeer, ++ids);
|
|
|
|
TXOwner peer(askpeer, ++ids);
|
|
|
|
_pendingIntrosetLookups.NewTX(
|
|
|
|
_pendingIntrosetLookups.NewTX(
|
|
|
|
peer, asker, addr,
|
|
|
|
peer, asker, addr,
|
|
|
|
new ServiceAddressLookup(asker, addr, this, 0, 0, handler), 1000);
|
|
|
|
new ServiceAddressLookup(asker, addr, this, 0, handler), 1000);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
bool
|
|
|
|
bool
|
|
|
|