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 /include | |
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 'include')
-rw-r--r-- | include/dns.h | 7 | ||||
-rw-r--r-- | include/users.h | 3 |
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 |