summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspecial <special@e03df62e-2008-0410-955e-edbf42e46eb7>2006-12-12 20:31:27 +0000
committerspecial <special@e03df62e-2008-0410-955e-edbf42e46eb7>2006-12-12 20:31:27 +0000
commit93a5caf71ee92f2edc2ec8ca385785d61f082858 (patch)
tree376e264cfe5dceda19b3cb8c732a73a13045be7b
parentd6ac94372e37201ea2db8c53e412b095c9957fd3 (diff)
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
-rw-r--r--src/modules/m_chanprotect.cpp2
1 files changed, 1 insertions, 1 deletions
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);
}