summaryrefslogtreecommitdiff
path: root/include
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 /include
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 'include')
-rw-r--r--include/dns.h7
-rw-r--r--include/users.h3
2 files changed, 7 insertions, 3 deletions
diff --git a/include/dns.h b/include/dns.h
index b00c57201..adb9fdab8 100644
--- a/include/dns.h
+++ b/include/dns.h
@@ -286,8 +286,10 @@ class CoreExport Resolver : public Extensible
* result, this is the number of seconds remaining before refresh/expiry.
* @param cached True if the result is a cached result, false if it was requested
* from the DNS server.
+ * @param resultnum Result number, for records with multiple matching results.
+ * Normally, you will only want to act on this when the result is 0.
*/
- virtual void OnLookupComplete(const std::string &result, unsigned int ttl, bool cached) = 0;
+ virtual void OnLookupComplete(const std::string &result, unsigned int ttl, bool cached, int resultnum = 0) = 0;
/**
* If an error occurs (such as NXDOMAIN, no domain name found) then this method
* will be called.
@@ -439,8 +441,9 @@ class CoreExport DNS : public EventHandler
/**
* Fetch the result string (an ip or host)
* and/or an error message to go with it.
+ * @param resultnum Result number to fetch
*/
- DNSResult GetResult();
+ DNSResult GetResult(int resultnum);
/**
* Handle a SocketEngine read event
diff --git a/include/users.h b/include/users.h
index 0443b24d2..a2d89b0a7 100644
--- a/include/users.h
+++ b/include/users.h
@@ -106,8 +106,9 @@ class CoreExport UserResolver : public Resolver
* @param result Result string
* @param ttl Time to live for result
* @param cached True if the result was found in the cache
+ * @param resultnum Result number, we are only interested in result 0
*/
- 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);
/** Called on failed lookup
* @param e Error code