summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-08-19 16:00:57 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-08-19 16:00:57 +0000
commitdf4f0dc888a2a24e7f8b42a1c21670679e633506 (patch)
tree6fb90acdb5ad14510b53045d0f414316792466c9 /src/modules/m_spanningtree
parentdfdb324f674177a4e8ed92d8a782fc51ccf4ed84 (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.cpp5
-rw-r--r--src/modules/m_spanningtree/resolvers.h4
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);
};