From 70ad57e2fdae40c8641b5c5e1fd07a8f07dfeb81 Mon Sep 17 00:00:00 2001 From: attilamolnar Date: Mon, 11 Jun 2012 15:08:10 +0200 Subject: m_spanningtree Only add a resolved server IP as valid if it still exists when the lookup completes --- src/modules/m_spanningtree/resolvers.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/modules/m_spanningtree/resolvers.cpp b/src/modules/m_spanningtree/resolvers.cpp index be185a28f..b69c5c29e 100644 --- a/src/modules/m_spanningtree/resolvers.cpp +++ b/src/modules/m_spanningtree/resolvers.cpp @@ -87,7 +87,15 @@ SecurityIPResolver::SecurityIPResolver(Module* me, SpanningTreeUtilities* U, con void SecurityIPResolver::OnLookupComplete(const std::string &result, unsigned int ttl, bool cached) { - Utils->ValidIPs.push_back(result); + for (std::vector >::iterator i = Utils->LinkBlocks.begin(); i != Utils->LinkBlocks.end(); ++i) + { + Link* L = *i; + if (L->IPAddr == host) + { + Utils->ValidIPs.push_back(result); + break; + } + } } void SecurityIPResolver::OnError(ResolverError e, const std::string &errormessage) -- cgit v1.2.3