]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Fixed a pretty nasty bug that allowed users to +a themselves if deprotectself was...
authorspecial <special@e03df62e-2008-0410-955e-edbf42e46eb7>
Tue, 12 Dec 2006 20:31:27 +0000 (20:31 +0000)
committerspecial <special@e03df62e-2008-0410-955e-edbf42e46eb7>
Tue, 12 Dec 2006 20:31:27 +0000 (20:31 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5963 e03df62e-2008-0410-955e-edbf42e46eb7

src/modules/m_chanprotect.cpp

index 23924bd0ae21c2aa49095063879fe278d7878de7..04c35bb5a40776aee161fb063b795f5c8e0858fa 100644 (file)
@@ -257,7 +257,7 @@ class ChanProtect : public ModeHandler, public FounderProtectBase
                std::string founder = "cm_founder_"+std::string(channel->name);
 
                // source has +q, is a server, or ulined, we'll let them +-a the user.
-               if ((unload_kludge) || ((source == theuser) && (FounderProtectBase::remove_own_privs)) || (ServerInstance->ULine(source->nick)) || (ServerInstance->ULine(source->server)) || (!*source->server) || (source->GetExt(founder,dummyptr)) || (!IS_LOCAL(source)))
+               if ((unload_kludge) || ((source == theuser) && (!adding) && (FounderProtectBase::remove_own_privs)) || (ServerInstance->ULine(source->nick)) || (ServerInstance->ULine(source->server)) || (!*source->server) || (source->GetExt(founder,dummyptr)) || (!IS_LOCAL(source)))
                {
                        return FounderProtectBase::HandleChange(source, theuser, adding, channel, parameter);
                }