summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-11-12 22:19:42 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-11-12 22:19:42 +0000
commit2715adbcf7c6127900717bde2bbd7fe946a53800 (patch)
treeef535f89ca499e96867384c0076518c8fb5b37a1
parent786f36abc4401dc8887761ce57ddb2c9b979c9bd (diff)
Make the output table chosen be unique to the actual ip so that the octet values are non-reversible.
e.g. we cant figure out "if the first digit of my ip is 128, and the first value of my cloak is 09FAC, then all users with an 09FAC in them have a 128 in their ip" git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5726 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/modules/m_cloaking.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/modules/m_cloaking.cpp b/src/modules/m_cloaking.cpp
index bc2873842..c1236765e 100644
--- a/src/modules/m_cloaking.cpp
+++ b/src/modules/m_cloaking.cpp
@@ -356,10 +356,10 @@ class CloakUser : public ModeHandler
std::string octet3 = seps.GetToken();
std::string octet4 = seps.GetToken();
ServerInstance->Log(DEBUG,"oct1=%s, oct2=%s, oct3=%s, oct4=%s", octet1.c_str(), octet2.c_str(), octet3.c_str(), octet4.c_str());
- this->GenHash(octet1.c_str(),ra1, key1 % 4);
- this->GenHash(octet2.c_str(),ra2, key2 % 4);
- this->GenHash(octet3.c_str(),ra3, key3 % 4);
- this->GenHash(octet4.c_str(),ra4, key4 % 4);
+ this->GenHash(octet1.c_str(),ra1, (key1+atoi(octet1.c_str())) % 4);
+ this->GenHash(octet2.c_str(),ra2, (key2+atoi(octet2.c_str())) % 4);
+ this->GenHash(octet3.c_str(),ra3, (key3+atoi(octet3.c_str())) % 4);
+ this->GenHash(octet4.c_str(),ra4, (key4+atoi(octet4.c_str())) % 4);
ServerInstance->Log(DEBUG,"ra1=%s, ra2=%s, ra3=%s, ra4=%s", ra1, ra2, ra3, ra4);
/* This is safe as we know the length generated by our genhash is always 16 */
ra1[8] = ra2[8] = ra3[8] = ra4[8] = 0;