]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/coremods/core_hostname_lookup.cpp
Use ERR_INVALIDUSERNAME rather than ERR_NEEDMOREPARAMS in USER.
[user/henk/code/inspircd.git] / src / coremods / core_hostname_lookup.cpp
index b9adc9c2e7433df71b9629a18880ba5fa3feb6fa..4320b1e574207eaf85078590929d7bcf99635172 100644 (file)
@@ -56,7 +56,7 @@ class UserResolver : public DNS::Request
         * if a previous result has already come back.
         * @param r The finished query
         */
-       void OnLookupComplete(const DNS::Query* r)
+       void OnLookupComplete(const DNS::Query* r) CXX11_OVERRIDE
        {
                LocalUser* bound_user = (LocalUser*)ServerInstance->FindUUID(uuid);
                if (!bound_user)
@@ -145,11 +145,7 @@ class UserResolver : public DNS::Request
                                                hostname->insert(0, "0");
 
                                        bound_user->WriteNotice("*** Found your hostname (" + *hostname + (r->cached ? ") -- cached" : ")"));
-                                       bound_user->host.assign(*hostname, 0, ServerInstance->Config->Limits.MaxHost);
-                                       bound_user->dhost = bound_user->host;
-
-                                       /* Invalidate cache */
-                                       bound_user->InvalidateCache();
+                                       bound_user->ChangeRealHost(hostname->substr(0, ServerInstance->Config->Limits.MaxHost), true);
                                }
                                else
                                {
@@ -168,7 +164,7 @@ class UserResolver : public DNS::Request
        /** Called on failed lookup
         * @param query The errored query
         */
-       void OnError(const DNS::Query* query)
+       void OnError(const DNS::Query* query) CXX11_OVERRIDE
        {
                LocalUser* bound_user = (LocalUser*)ServerInstance->FindUUID(uuid);
                if (bound_user)
@@ -195,7 +191,7 @@ class ModuleHostnameLookup : public Module
                ph = &ptrHosts;
        }
 
-       void OnUserInit(LocalUser *user)
+       void OnSetUserIP(LocalUser* user) CXX11_OVERRIDE
        {
                if (!DNS || !user->MyClass->resolvehostnames)
                {
@@ -222,12 +218,12 @@ class ModuleHostnameLookup : public Module
                }
        }
 
-       ModResult OnCheckReady(LocalUser* user)
+       ModResult OnCheckReady(LocalUser* user) CXX11_OVERRIDE
        {
                return this->dnsLookup.get(user) ? MOD_RES_DENY : MOD_RES_PASSTHRU;
        }
 
-       Version GetVersion()
+       Version GetVersion() CXX11_OVERRIDE
        {
                return Version("Provides support for DNS lookups on connecting clients", VF_CORE|VF_VENDOR);
        }