diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/dns.cpp | 7 | ||||
-rw-r--r-- | src/inspircd.cpp | 2 | ||||
-rw-r--r-- | src/modules/extra/m_pgsql.cpp | 2 | ||||
-rw-r--r-- | src/modules/m_cgiirc.cpp | 10 | ||||
-rw-r--r-- | src/modules/m_spanningtree.cpp | 4 | ||||
-rw-r--r-- | src/modules/m_testcommand.cpp | 4 | ||||
-rw-r--r-- | src/users.cpp | 2 |
7 files changed, 14 insertions, 17 deletions
diff --git a/src/dns.cpp b/src/dns.cpp index 5e6499dc0..f7a2d62e2 100644 --- a/src/dns.cpp +++ b/src/dns.cpp @@ -43,9 +43,6 @@ using namespace std; #include "socketengine.h" #include "configreader.h" -/* We need these */ -extern InspIRCd* ServerInstance; - /* Master file descriptor */ int DNS::MasterSocket; @@ -242,7 +239,7 @@ int DNS::GetMasterSocket() } /* Initialise the DNS UDP socket so that we can send requests */ -DNS::DNS() +DNS::DNS(InspIRCd* Instance) : ServerInstance(Instance) { insp_inaddr addr; @@ -834,7 +831,7 @@ DNS::~DNS() } /* High level abstraction of dns used by application at large */ -Resolver::Resolver(const std::string &source, QueryType qt) : input(source), querytype(qt) +Resolver::Resolver(InspIRCd* Instance, const std::string &source, QueryType qt) : ServerInstance(Instance), input(source), querytype(qt) { insp_inaddr binip; diff --git a/src/inspircd.cpp b/src/inspircd.cpp index b0e6b1073..3a4952cc4 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -884,7 +884,7 @@ void InspIRCd::DoOneIteration(bool process_module_sockets) int InspIRCd::Run() { - this->Res = new DNS(); + this->Res = new DNS(this); LoadAllModules(this); diff --git a/src/modules/extra/m_pgsql.cpp b/src/modules/extra/m_pgsql.cpp index 9c27a28f7..51217bb71 100644 --- a/src/modules/extra/m_pgsql.cpp +++ b/src/modules/extra/m_pgsql.cpp @@ -96,7 +96,7 @@ class SQLresolver : public Resolver ModulePgSQL* mod; public: SQLresolver(ModulePgSQL* m, Server* srv, const SQLhost& hi) - : Resolver(hi.host, DNS_QUERY_FORWARD), host(hi), mod(m) + : Resolver(ServerInstance, hi.host, DNS_QUERY_FORWARD), host(hi), mod(m) { } diff --git a/src/modules/m_cgiirc.cpp b/src/modules/m_cgiirc.cpp index 4fcb0be13..31b5dc092 100644 --- a/src/modules/m_cgiirc.cpp +++ b/src/modules/m_cgiirc.cpp @@ -29,9 +29,7 @@ /* $ModDesc: Change user's hosts connecting from known CGI:IRC hosts */ - -/* We need this for checking our user hasnt /quit before we finish our lookup */ -extern userrec* fd_ref_table[MAX_DESCRIPTORS]; +extern InspIRCd* ServerInstance; enum CGItype { PASS, IDENT, PASSFIRST, IDENTFIRST }; @@ -57,12 +55,12 @@ class CGIResolver : public Resolver bool notify; public: CGIResolver(bool NotifyOpers, const std::string &source, bool forward, userrec* u, int userfd, const std::string &type) - : Resolver(source, forward ? DNS_QUERY_FORWARD : DNS_QUERY_REVERSE), typ(type), theirfd(userfd), them(u), notify(NotifyOpers) { } + : Resolver(ServerInstance, source, forward ? DNS_QUERY_FORWARD : DNS_QUERY_REVERSE), typ(type), theirfd(userfd), them(u), notify(NotifyOpers) { } virtual void OnLookupComplete(const std::string &result) { /* Check the user still exists */ - if ((them) && (them == fd_ref_table[theirfd])) + if ((them) && (them == ServerInstance->fd_ref_table[theirfd])) { if (notify) WriteOpers("*** Connecting user %s detected as using CGI:IRC (%s), changing real host to %s from %s", them->nick, them->host, result.c_str(), typ.c_str()); @@ -75,7 +73,7 @@ class CGIResolver : public Resolver virtual void OnError(ResolverError e, const std::string &errormessage) { - if ((them) && (them == fd_ref_table[theirfd])) + if ((them) && (them == ServerInstance->fd_ref_table[theirfd])) { if (notify) WriteOpers("*** Connecting user %s detected as using CGI:IRC (%s), but their host can't be resolved from their %s!", them->nick, them->host,typ.c_str()); diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp index 75fa76489..2eb46d420 100644 --- a/src/modules/m_spanningtree.cpp +++ b/src/modules/m_spanningtree.cpp @@ -3081,7 +3081,7 @@ class ServernameResolver : public Resolver */ Link MyLink; public: - ServernameResolver(const std::string &hostname, Link x) : Resolver(hostname, DNS_QUERY_FORWARD), MyLink(x) + ServernameResolver(const std::string &hostname, Link x) : Resolver(ServerInstance, hostname, DNS_QUERY_FORWARD), MyLink(x) { /* Nothing in here, folks */ } @@ -3122,7 +3122,7 @@ class SecurityIPResolver : public Resolver private: Link MyLink; public: - SecurityIPResolver(const std::string &hostname, Link x) : Resolver(hostname, DNS_QUERY_FORWARD), MyLink(x) + SecurityIPResolver(const std::string &hostname, Link x) : Resolver(ServerInstance, hostname, DNS_QUERY_FORWARD), MyLink(x) { } diff --git a/src/modules/m_testcommand.cpp b/src/modules/m_testcommand.cpp index 9b3509f8d..8daabe889 100644 --- a/src/modules/m_testcommand.cpp +++ b/src/modules/m_testcommand.cpp @@ -26,11 +26,13 @@ using namespace std; /* $ModDesc: Povides a proof-of-concept test /WOOT command */ +extern InspIRCd* ServerInstance; + class MyV6Resolver : public Resolver { bool fw; public: - MyV6Resolver(const std::string &source, bool forward) : Resolver(source, forward ? DNS_QUERY_AAAA : DNS_QUERY_PTR6) + MyV6Resolver(const std::string &source, bool forward) : Resolver(ServerInstance, source, forward ? DNS_QUERY_AAAA : DNS_QUERY_PTR6) { fw = forward; } diff --git a/src/users.cpp b/src/users.cpp index e35c5cab8..35aea8b0f 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -142,7 +142,7 @@ void userrec::StartDNSLookup() } UserResolver::UserResolver(InspIRCd* Instance, userrec* user, std::string to_resolve, bool forward) : - Resolver(to_resolve, forward ? DNS_QUERY_FORWARD : DNS_QUERY_REVERSE), bound_user(user), ServerInstance(Instance) + Resolver(ServerInstance, to_resolve, forward ? DNS_QUERY_FORWARD : DNS_QUERY_REVERSE), bound_user(user) { this->fwd = forward; this->bound_fd = user->fd; |