#include "inspstring.h"
#include "connection.h"
#include "hashcomp.h"
+#include "dns.h"
#include "cull_list.h"
enum ChanStatus {
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)
+ {
+ this->bound_fd = user->fd;
+ }
+
+ void OnLookupComplete(const std::string &result);
+ void OnError(ResolverError e);
+};
+
/** Holds information relevent to <connect allow> and <connect deny> tags in the config file.
*/
*/
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.