summaryrefslogtreecommitdiff
path: root/include/users.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/users.h')
-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 <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.