X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_cloaking.cpp;h=4e203d14c97a8079c06b946d5ef6196ef9a0ee37;hb=e950f568d0f571e9475aa38177486468714de4d3;hp=ccc98e557e7ca96e99ff5b26c0c4b8c6c55ca25e;hpb=d9d99cd02dadf34bfcc220734ba0c422f0acb3e6;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_cloaking.cpp b/src/modules/m_cloaking.cpp index ccc98e557..4e203d14c 100644 --- a/src/modules/m_cloaking.cpp +++ b/src/modules/m_cloaking.cpp @@ -26,8 +26,6 @@ #include "inspircd.h" #include "modules/hash.h" -/* $ModDesc: Provides masking of user hostnames */ - enum CloakMode { /** 2.0 cloak of "half" of the hostname plus the full IP hash */ @@ -65,7 +63,7 @@ class CloakUser : public ModeHandler */ if (!user) { - dest->SetMode('x',adding); + dest->SetMode(this, adding); return MODEACTION_ALLOW; } @@ -82,7 +80,7 @@ class CloakUser : public ModeHandler debounce_ts = ServerInstance->Time(); } - if (adding == user->IsModeSet('x')) + if (adding == user->IsModeSet(this)) return MODEACTION_DENY; /* don't allow this user to spam modechanges */ @@ -102,7 +100,7 @@ class CloakUser : public ModeHandler if (cloak) { user->ChangeDisplayedHost(cloak->c_str()); - user->SetMode('x',true); + user->SetMode(this, true); return MODEACTION_ALLOW; } else @@ -113,7 +111,7 @@ class CloakUser : public ModeHandler /* User is removing the mode, so restore their real host * and make it match the displayed one. */ - user->SetMode('x',false); + user->SetMode(this, false); user->ChangeDisplayedHost(user->host.c_str()); return MODEACTION_ALLOW; } @@ -155,9 +153,6 @@ class ModuleCloaking : public Module ServerInstance->Modules->AddService(cu); ServerInstance->Modules->AddService(ck); ServerInstance->Modules->AddService(cu.ext); - - Implementation eventlist[] = { I_OnRehash, I_OnCheckBan, I_OnUserConnect, I_OnChangeHost }; - ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation)); } /** This function takes a domain name string and returns just the last two domain parts, @@ -312,10 +307,10 @@ class ModuleCloaking : public Module // mode change, we will call SetMode back to true AFTER the host change is done. void OnChangeHost(User* u, const std::string& host) CXX11_OVERRIDE { - if(u->IsModeSet('x')) + if (u->IsModeSet(cu)) { - u->SetMode('x', false); - u->WriteServ("MODE %s -x", u->nick.c_str()); + u->SetMode(cu, false); + u->WriteServ("MODE %s -%c", u->nick.c_str(), cu.GetModeChar()); } }