]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_cloaking.cpp
Fix sending DNSBL error snotices when a user isn't DNSBLed.
[user/henk/code/inspircd.git] / src / modules / m_cloaking.cpp
index ad4b958c58ac89f6ff4b9a736dcf9c4f597b9082..b9ff085c3ebdc488894e4db053b3ef64cddceb98 100644 (file)
@@ -137,7 +137,7 @@ class CommandCloak : public Command
                syntax = "<host>";
        }
 
-       CmdResult Handle(const std::vector<std::string>& parameters, User* user) CXX11_OVERRIDE;
+       CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE;
 };
 
 class ModuleCloaking : public Module
@@ -313,7 +313,13 @@ class ModuleCloaking : public Module
                if (u->IsModeSet(cu) && !cu.active)
                {
                        u->SetMode(cu, false);
-                       u->WriteCommand("MODE", "-" + ConvToStr(cu.GetModeChar()));
+
+                       if (!IS_LOCAL(u))
+                               return;
+                       Modes::ChangeList modechangelist;
+                       modechangelist.push_remove(&cu);
+                       ClientProtocol::Events::Mode modeevent(ServerInstance->FakeClient, NULL, u, modechangelist);
+                       static_cast<LocalUser*>(u)->Send(modeevent);
                }
                cu.active = false;
        }
@@ -403,7 +409,7 @@ class ModuleCloaking : public Module
        }
 };
 
-CmdResult CommandCloak::Handle(const std::vector<std::string> &parameters, User *user)
+CmdResult CommandCloak::Handle(User* user, const Params& parameters)
 {
        ModuleCloaking* mod = (ModuleCloaking*)(Module*)creator;
        irc::sockets::sockaddrs sa;