]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Fix 4in6 IP resolution hack now that the leading ::ffff: is stripped from the IP...
authorw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>
Tue, 28 Oct 2008 23:20:30 +0000 (23:20 +0000)
committerw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>
Tue, 28 Oct 2008 23:20:30 +0000 (23:20 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10745 e03df62e-2008-0410-955e-edbf42e46eb7

src/users.cpp

index 4f0476911ec8b3af0e6a3ba324c44441580b1a11..848f2a1eb23f1c60c78da4653b7bf8bbc6768f41 100644 (file)
@@ -101,11 +101,10 @@ void User::StartDNSLookup()
                const char* sip = this->GetIPString();
                UserResolver *res_reverse;
 
                const char* sip = this->GetIPString();
                UserResolver *res_reverse;
 
-               /* Special case for 4in6 (Have i mentioned i HATE 4in6?) */
-               if (!strncmp(sip, "0::ffff:", 8))
-                       res_reverse = new UserResolver(this->ServerInstance, this, sip + 8, DNS_QUERY_PTR4, cached);
-               else
-                       res_reverse = new UserResolver(this->ServerInstance, this, sip, this->GetProtocolFamily() == AF_INET ? DNS_QUERY_PTR4 : DNS_QUERY_PTR6, cached);
+               QueryType resolvtype = strchr(sip, ':') ? DNS_QUERY_PTR6 : DNS_QUERY_PTR4;
+               // when GetProtocolFamily() works correctly with 4in6, this can be replaced by
+               // this->GetProtocolFamily() == AF_INET ? DNS_QUERY_PTR4 : DNS_QUERY_PTR6;
+               res_reverse = new UserResolver(this->ServerInstance, this, sip, resolvtype, cached);
 
                this->ServerInstance->AddResolver(res_reverse, cached);
        }
 
                this->ServerInstance->AddResolver(res_reverse, cached);
        }