From d7f715c632748393aab68e6d6588b2b50e40f29e Mon Sep 17 00:00:00 2001 From: Jeff Becker Date: Fri, 8 Feb 2019 08:21:55 -0500 Subject: [PATCH] don't send more than 1 introset in reply --- llarp/dht/localserviceaddresslookup.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/llarp/dht/localserviceaddresslookup.cpp b/llarp/dht/localserviceaddresslookup.cpp index f718e5f00..0c3dcd19c 100644 --- a/llarp/dht/localserviceaddresslookup.cpp +++ b/llarp/dht/localserviceaddresslookup.cpp @@ -31,6 +31,18 @@ namespace llarp localPath); return; } + // pick newest if we have more than 1 result + if(valuesFound.size() > 1) + { + service::IntroSet found; + for(const auto &introset : valuesFound) + { + if(found.OtherIsNewer(introset)) + found = introset; + } + valuesFound.clear(); + valuesFound.emplace_back(found); + } routing::DHTMessage msg; msg.M.emplace_back(new GotIntroMessage(valuesFound, whoasked.txid)); if(!path->SendRoutingMessage(&msg, parent->GetRouter()))