diff options
| author | 2012-06-11 15:08:10 +0200 | |
|---|---|---|
| committer | 2012-06-11 15:08:10 +0200 | |
| commit | 70ad57e2fdae40c8641b5c5e1fd07a8f07dfeb81 (patch) | |
| tree | 9382f4364191e7a29d0b79004dfb1d7624410eb2 /src/modules/m_spanningtree/resolvers.cpp | |
| parent | m_spanningtree Move SecurityIPResolver code to resolvers.cpp from resolvers.h (diff) | |
m_spanningtree Only add a resolved server IP as valid if it still exists when the lookup completes
Diffstat (limited to 'src/modules/m_spanningtree/resolvers.cpp')
| -rw-r--r-- | src/modules/m_spanningtree/resolvers.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
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<reference<Link> >::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) |
