X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_cloaking.cpp;h=f729943b41b067748e3ee9af88b8a040ee64f892;hb=02c6ce1ad09a7471a6b03dc00bac4b843d157489;hp=cb77177ed1a9deb726e131d2841e244f879e01bd;hpb=1b5987bebe43c0c6c396e431f5385d9b0a88b3eb;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_cloaking.cpp b/src/modules/m_cloaking.cpp index cb77177ed..f729943b4 100644 --- a/src/modules/m_cloaking.cpp +++ b/src/modules/m_cloaking.cpp @@ -11,13 +11,10 @@ * --------------------------------------------------- */ -#include "inspircd_config.h" -#include "configreader.h" #include "inspircd.h" #include "users.h" #include "channels.h" #include "modules.h" - #include "m_hash.h" /* $ModDesc: Provides masking of user hostnames */ @@ -77,8 +74,7 @@ class CloakUser : public ModeHandler ModeAction OnModeChange(userrec* source, userrec* dest, chanrec* channel, std::string ¶meter, bool adding) { - /* Only opers can change other users modes */ - if ((source != dest) && (!*source->oper)) + if (source != dest) return MODEACTION_DENY; /* For remote clients, we dont take any action, we just allow it. @@ -214,7 +210,7 @@ class CloakUser : public ModeHandler /* If we get here, yes it really is an ipv6 ip */ unsigned int iv[] = { key1, key2, key3, key4 }; std::vector hashies; - std::string item = ""; + std::string item; int rounds = 0; /* Reset the Hash module and send it our IV */ @@ -224,12 +220,12 @@ class CloakUser : public ModeHandler for (const char* input = ip; *input; input++) { item += *input; - if (item.length() > 4) + if (item.length() > 7) { /* Send the Hash module a different hex table for each octet group's Hash sum */ HashHexRequest(Sender, HashProvider, xtab[(key1+rounds) % 4]).Send(); hashies.push_back(std::string(HashSumRequest(Sender, HashProvider, item).Send()).substr(0,8)); - item = ""; + item.clear(); } rounds++; } @@ -238,7 +234,7 @@ class CloakUser : public ModeHandler /* Send the Hash module a different hex table for each octet group's Hash sum */ HashHexRequest(Sender, HashProvider, xtab[(key1+rounds) % 4]).Send(); hashies.push_back(std::string(HashSumRequest(Sender, HashProvider, item).Send()).substr(0,8)); - item = ""; + item.clear(); } /* Stick them all together */ return irc::stringjoiner(":", hashies, 0, hashies.size() - 1).GetJoined(); @@ -272,7 +268,7 @@ class ModuleCloaking : public Module public: ModuleCloaking(InspIRCd* Me) - : Module::Module(Me) + : Module(Me) { ServerInstance->UseInterface("HashRequest"); @@ -337,7 +333,7 @@ class ModuleCloakingFactory : public ModuleFactory }; -extern "C" void * init_module( void ) +extern "C" DllExport void * init_module( void ) { return new ModuleCloakingFactory; }