diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-08-19 16:00:57 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-08-19 16:00:57 +0000 |
commit | df4f0dc888a2a24e7f8b42a1c21670679e633506 (patch) | |
tree | 6fb90acdb5ad14510b53045d0f414316792466c9 /src/modules/m_spanningtree | |
parent | dfdb324f674177a4e8ed92d8a782fc51ccf4ed84 (diff) |
Allow support for multiple dns results per request. This is a significant change and should probably not be backported to stable.
This will allow for a fix to feature request bug #384
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7753 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree')
-rw-r--r-- | src/modules/m_spanningtree/resolvers.cpp | 5 | ||||
-rw-r--r-- | src/modules/m_spanningtree/resolvers.h | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/modules/m_spanningtree/resolvers.cpp b/src/modules/m_spanningtree/resolvers.cpp index 0d94da99f..ac14833a5 100644 --- a/src/modules/m_spanningtree/resolvers.cpp +++ b/src/modules/m_spanningtree/resolvers.cpp @@ -43,8 +43,11 @@ ServernameResolver::ServernameResolver(Module* me, SpanningTreeUtilities* Util, /* Nothing in here, folks */ } -void ServernameResolver::OnLookupComplete(const std::string &result, unsigned int ttl, bool cached) +void ServernameResolver::OnLookupComplete(const std::string &result, unsigned int ttl, bool cached, int resultnum) { + if (resultnum) + return; + /* Initiate the connection, now that we have an IP to use. * Passing a hostname directly to InspSocket causes it to * just bail and set its FD to -1. diff --git a/src/modules/m_spanningtree/resolvers.h b/src/modules/m_spanningtree/resolvers.h index 06fd05bad..53adaa50f 100644 --- a/src/modules/m_spanningtree/resolvers.h +++ b/src/modules/m_spanningtree/resolvers.h @@ -45,7 +45,7 @@ class SecurityIPResolver : public Resolver { } - void OnLookupComplete(const std::string &result, unsigned int ttl, bool cached) + void OnLookupComplete(const std::string &result, unsigned int ttl, bool cached, int resultnum = 0) { Utils->ValidIPs.push_back(result); } @@ -83,7 +83,7 @@ class ServernameResolver : public Resolver Module* mine; public: ServernameResolver(Module* me, SpanningTreeUtilities* Util, InspIRCd* Instance, const std::string &hostname, Link x, bool &cached, QueryType qt); - void OnLookupComplete(const std::string &result, unsigned int ttl, bool cached); + void OnLookupComplete(const std::string &result, unsigned int ttl, bool cached, int resultnum = 0); void OnError(ResolverError e, const std::string &errormessage); }; |