|
|
|
@ -35,6 +35,12 @@ namespace llarp
|
|
|
|
|
Key_t peer;
|
|
|
|
|
// check if we know this in our nodedb first
|
|
|
|
|
RouterContact found;
|
|
|
|
|
if(!dht.GetRouter()->ConnectionToRouterAllowed(K))
|
|
|
|
|
{
|
|
|
|
|
// explicitly disallowed by network
|
|
|
|
|
replies.emplace_back(new GotRouterMessage(k, txid, {}, false));
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
if(dht.GetRouter()->nodedb()->Get(K, found))
|
|
|
|
|
{
|
|
|
|
|
replies.emplace_back(new GotRouterMessage(k, txid, {found}, false));
|
|
|
|
@ -166,6 +172,12 @@ namespace llarp
|
|
|
|
|
Key_t k{K};
|
|
|
|
|
if(exploritory)
|
|
|
|
|
return dht.HandleExploritoryRouterLookup(From, txid, K, replies);
|
|
|
|
|
else if(!dht.GetRouter()->ConnectionToRouterAllowed(K))
|
|
|
|
|
{
|
|
|
|
|
// explicitly disallowed by network
|
|
|
|
|
replies.emplace_back(new GotRouterMessage(k, txid, {}, false));
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else if(dht.Nodes()->HasNode(k))
|
|
|
|
|
{
|
|
|
|
|
found = dht.Nodes()->nodes[k].rc;
|
|
|
|
|