]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_blockcaps.cpp
Fix IPv6 cloaking in compatability mode (was using the wrong xtab confusor)
[user/henk/code/inspircd.git] / src / modules / m_blockcaps.cpp
index 326ba998622407d3b214fa32cccf48fef49ad62e..873cf46ca2059e79d2e6379c78586fd30e6d5dbf 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ *  InspIRCd: (C) 2002-2010 InspIRCd Development Team
  * See: http://wiki.inspircd.org/Credits
  *
  * This program is free but copyrighted software; see
 /* $ModDesc: Provides support to block all-CAPS channel messages and notices */
 
 
-/** Handles the +P channel mode
+/** Handles the +B channel mode
  */
 class BlockCaps : public SimpleChannelModeHandler
 {
  public:
-       BlockCaps(Module* Creator) : SimpleChannelModeHandler(Creator, 'B') { }
+       BlockCaps(Module* Creator) : SimpleChannelModeHandler(Creator, "blockcaps", 'B') { }
 };
 
 class ModuleBlockCAPS : public Module
@@ -59,11 +59,10 @@ public:
                                return MOD_RES_PASSTHRU;
 
                        Channel* c = (Channel*)dest;
+                       ModResult res = ServerInstance->OnCheckExemption(user,c,"blockcaps");
 
-                       if (CHANOPS_EXEMPT('B') && c->GetPrefixValue(user) == OP_VALUE)
-                       {
+                       if (res == MOD_RES_ALLOW)
                                return MOD_RES_PASSTHRU;
-                       }
 
                        if (!c->GetExtBanStatus(user, 'B').check(!c->IsModeSet('B')))
                        {
@@ -128,7 +127,7 @@ public:
 
        virtual Version GetVersion()
        {
-               return Version("Provides support to block all-CAPS channel messages and notices", VF_COMMON|VF_VENDOR,API_VERSION);
+               return Version("Provides support to block all-CAPS channel messages and notices", VF_VENDOR);
        }
 };