From: special Date: Tue, 12 Dec 2006 20:31:27 +0000 (+0000) Subject: Fixed a pretty nasty bug that allowed users to +a themselves if deprotectself was... X-Git-Tag: v2.0.23~6416 X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;h=93a5caf71ee92f2edc2ec8ca385785d61f082858;p=user%2Fhenk%2Fcode%2Finspircd.git Fixed a pretty nasty bug that allowed users to +a themselves if deprotectself was enabled (thanks webs) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5963 e03df62e-2008-0410-955e-edbf42e46eb7 --- diff --git a/src/modules/m_chanprotect.cpp b/src/modules/m_chanprotect.cpp index 23924bd0a..04c35bb5a 100644 --- a/src/modules/m_chanprotect.cpp +++ b/src/modules/m_chanprotect.cpp @@ -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); }