From 308cd65a71268d78a84a9ef1e26b60fea66d5392 Mon Sep 17 00:00:00 2001 From: brain Date: Tue, 6 Feb 2007 19:02:30 +0000 Subject: And fix the bugs that show up when we try and build it on ipv6 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6525 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_cloaking.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/modules/m_cloaking.cpp b/src/modules/m_cloaking.cpp index cbff25593..e1aec5d38 100644 --- a/src/modules/m_cloaking.cpp +++ b/src/modules/m_cloaking.cpp @@ -83,7 +83,6 @@ class CloakUser : public ModeHandler unsigned int iv[] = { key1, key2, key3, key4 }; std::string a = (n1 ? n1 : n2); std::string b; - insp_inaddr testaddr; /** Reset the Hash module, and send it our IV and hex table */ HashResetRequest(Sender, HashProvider).Send(); @@ -100,16 +99,18 @@ class CloakUser : public ModeHandler */ #ifdef IPV6 in6_addr testaddr; - if ((dest->GetProtocolFamily() == AF_INET6) && (insp_pton(AF_INET6,dest->host,&testaddr) < 1) && (hostcloak.length() <= 64)) + in_addr testaddr2; + if ((dest->GetProtocolFamily() == AF_INET6) && (inet_pton(AF_INET6,dest->host,&testaddr) < 1) && (hostcloak.length() <= 64)) /* Invalid ipv6 address, and ipv6 user (resolved host) */ b = hostcloak; - else if ((dest->GetProtocolFamily() == AF_INET6) && (inet_aton(dest->host,&testaddr) < 1) && (hostcloak.length() <= 64)) + else if ((dest->GetProtocolFamily() == AF_INET) && (inet_aton(dest->host,&testaddr2) < 1) && (hostcloak.length() <= 64)) /* Invalid ipv4 address, and ipv4 user (resolved host) */ b = hostcloak; else /* Valid ipv6 or ipv4 address (not resolved) ipv4 or ipv6 user */ b = ((b.find(':') == std::string::npos) ? Cloak4(dest->host) : Cloak6(dest->host)); #else + in_addr testaddr; if ((inet_aton(dest->host,&testaddr) < 1) && (hostcloak.length() <= 64)) /* Invalid ipv4 address, and ipv4 user (resolved host) */ b = hostcloak; -- cgit v1.2.3