]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_cgiirc.cpp
Make various self contained methods static.
[user/henk/code/inspircd.git] / src / modules / m_cgiirc.cpp
index 9d87a01b37e66a71f824696a214ea8fda0b9c711..9e67a4f0882a662f9466976553396640c24f26fc 100644 (file)
@@ -27,8 +27,6 @@
 #include "xline.h"
 #include "modules/dns.h"
 
-/* $ModDesc: Change user's hosts connecting from known CGI:IRC hosts */
-
 enum CGItype { PASS, IDENT, PASSFIRST, IDENTFIRST, WEBIRC };
 
 
@@ -131,7 +129,7 @@ class CGIResolver : public DNS::Request
        {
        }
 
-       void OnLookupComplete(const DNS::Query *r)
+       void OnLookupComplete(const DNS::Query *r) CXX11_OVERRIDE
        {
                /* Check the user still exists */
                User* them = ServerInstance->FindUUID(theiruid);
@@ -154,7 +152,7 @@ class CGIResolver : public DNS::Request
                }
        }
 
-       void OnError(const DNS::Query *r)
+       void OnError(const DNS::Query *r) CXX11_OVERRIDE
        {
                if (!notify)
                        return;
@@ -166,7 +164,7 @@ class CGIResolver : public DNS::Request
                }
        }
 
-       virtual ~CGIResolver()
+       ~CGIResolver()
        {
                User* them = ServerInstance->FindUUID(theiruid);
                if (!them)
@@ -182,7 +180,6 @@ class ModuleCgiIRC : public Module
        CommandWebirc cmd;
        LocalIntExt waiting;
        dynamic_reference<DNS::Manager> DNS;
-       bool nouserdns;
 
        static void RecheckClass(LocalUser* user)
        {
@@ -207,8 +204,9 @@ class ModuleCgiIRC : public Module
                user->host = user->dhost = user->GetIPString();
                user->InvalidateCache();
                RecheckClass(user);
+
                // Don't create the resolver if the core couldn't put the user in a connect class or when dns is disabled
-               if (user->quitting || !DNS || nouserdns)
+               if (user->quitting || !DNS || !user->MyClass->resolvehostnames)
                        return;
 
                CGIResolver* r = new CGIResolver(*this->DNS, this, cmd.notify, newip, user, (was_pass ? "PASS" : "IDENT"), waiting);
@@ -236,19 +234,8 @@ public:
        {
        }
 
-       void init()
-       {
-               OnRehash(NULL);
-               ServiceProvider* providerlist[] = { &cmd, &cmd.realhost, &cmd.realip, &cmd.webirc_hostname, &cmd.webirc_ip, &waiting };
-               ServerInstance->Modules->AddServices(providerlist, sizeof(providerlist)/sizeof(ServiceProvider*));
-
-               Implementation eventlist[] = { I_OnRehash, I_OnUserRegister, I_OnCheckReady };
-               ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
-       }
-
-       void OnRehash(User* user)
+       void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
        {
-               nouserdns =     ServerInstance->Config->ConfValue("performance")->getBool("nouserdns");
                cmd.Hosts.clear();
 
                // Do we send an oper notice when a CGI:IRC has their host changed?
@@ -266,7 +253,7 @@ public:
                        {
                                if (type == "webirc" && password.empty())
                                {
-                                       ServerInstance->Logs->Log("CONFIG",LOG_DEFAULT, "m_cgiirc: Missing password in config: %s", hostmask.c_str());
+                                       ServerInstance->Logs->Log("CONFIG", LOG_DEFAULT, "m_cgiirc: Missing password in config: %s", hostmask.c_str());
                                }
                                else
                                {
@@ -282,7 +269,7 @@ public:
                                        else
                                        {
                                                cgitype = PASS;
-                                               ServerInstance->Logs->Log("CONFIG",LOG_DEFAULT, "m_cgiirc.so: Invalid <cgihost:type> value in config: %s, setting it to \"pass\"", type.c_str());
+                                               ServerInstance->Logs->Log("CONFIG", LOG_DEFAULT, "Invalid <cgihost:type> value in config: %s, setting it to \"pass\"", type.c_str());
                                        }
 
                                        cmd.Hosts.push_back(CGIhost(hostmask, cgitype, password));
@@ -290,13 +277,13 @@ public:
                        }
                        else
                        {
-                               ServerInstance->Logs->Log("CONFIG",LOG_DEFAULT, "m_cgiirc.so: Invalid <cgihost:mask> value in config: %s", hostmask.c_str());
+                               ServerInstance->Logs->Log("CONFIG", LOG_DEFAULT, "Invalid <cgihost:mask> value in config: %s", hostmask.c_str());
                                continue;
                        }
                }
        }
 
-       ModResult OnCheckReady(LocalUser *user)
+       ModResult OnCheckReady(LocalUser *user) CXX11_OVERRIDE
        {
                if (waiting.get(user))
                        return MOD_RES_DENY;
@@ -324,7 +311,7 @@ public:
                return MOD_RES_PASSTHRU;
        }
 
-       ModResult OnUserRegister(LocalUser* user)
+       ModResult OnUserRegister(LocalUser* user) CXX11_OVERRIDE
        {
                for(CGIHostlist::iterator iter = cmd.Hosts.begin(); iter != cmd.Hosts.end(); iter++)
                {
@@ -421,7 +408,7 @@ public:
                return true;
        }
 
-       virtual Version GetVersion()
+       Version GetVersion() CXX11_OVERRIDE
        {
                return Version("Change user's hosts connecting from known CGI:IRC hosts",VF_VENDOR);
        }