diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-02-07 17:19:12 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-02-07 17:19:12 +0000 |
commit | 8785246ab68a09c7a2cdf3c876003daebc787996 (patch) | |
tree | 2fed0180da3fddb8021ad07acb434a921dfdcb7e /src | |
parent | 0b34769b9e3b9e823763cfd8bf3e2d64c2426710 (diff) |
If a user connects over 4in6 (YUCK) give them an ipv4 cloak
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6533 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r-- | src/modules/m_cloaking.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/modules/m_cloaking.cpp b/src/modules/m_cloaking.cpp index 033ac8c53..ae28075c0 100644 --- a/src/modules/m_cloaking.cpp +++ b/src/modules/m_cloaking.cpp @@ -176,6 +176,11 @@ class CloakUser : public ModeHandler std::string Cloak6(const char* ip) { + /* Theyre using 4in6 (YUCK). Translate as ipv4 cloak */ + if (!strncmp(ip, "0::ffff:", 8)) + return Cloak4(ip + 8); + + /* If we get here, yes it really is an ipv6 ip */ unsigned int iv[] = { key1, key2, key3, key4 }; std::vector<std::string> hashies; std::string item = ""; |