diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-08-01 22:59:59 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-08-01 22:59:59 +0000 |
commit | e74bb16a4fcf67a44d1b63bc13d205717a38bb96 (patch) | |
tree | 1510c1fe6c7db19fcce0b19b631c385302986baf /include/users.h | |
parent | cc83231b9483a0938632caf41b4d7fbf6490a5cd (diff) |
Stuff to make user host resolving use class Resolver - not tested yet
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4626 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'include/users.h')
-rw-r--r-- | include/users.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/users.h b/include/users.h index c91b2635a..f1184ea24 100644 --- a/include/users.h +++ b/include/users.h @@ -29,6 +29,7 @@ #include "inspstring.h" #include "connection.h" #include "hashcomp.h" +#include "dns.h" #include "cull_list.h" enum ChanStatus { @@ -68,6 +69,18 @@ class Invited : public classbase irc::string channel; }; +class UserResolver : public Resolver +{ + private: + userrec* bound_user; + int bound_fd; + public: + UserResolver(userrec* user, std::string to_resolve, bool forward) : Resolver(to_resolve, forward), bound_user(user) { }; + + void OnLookupComplete(const std::string &result); + void OnError(ResolverError e); +}; + /** Holds information relevent to <connect allow> and <connect deny> tags in the config file. */ @@ -146,6 +159,13 @@ class userrec : public connection */ InvitedList invites; public: + /** Resolvers for looking up this users hostname + */ + UserResolver* res_forward; + UserResolver* res_reverse; + std::string stored_host; + + void StartDNSLookup(); /** The users nickname. * An invalid nickname indicates an unregistered connection prior to the NICK command. |