summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-08-01 22:59:59 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-08-01 22:59:59 +0000
commite74bb16a4fcf67a44d1b63bc13d205717a38bb96 (patch)
tree1510c1fe6c7db19fcce0b19b631c385302986baf /include
parentcc83231b9483a0938632caf41b4d7fbf6490a5cd (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')
-rw-r--r--include/users.h20
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 &lt;connect allow&gt; and &lt;connect deny&gt; 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.