diff options
author | special <special@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-12-12 20:31:27 +0000 |
---|---|---|
committer | special <special@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-12-12 20:31:27 +0000 |
commit | 93a5caf71ee92f2edc2ec8ca385785d61f082858 (patch) | |
tree | 376e264cfe5dceda19b3cb8c732a73a13045be7b /src/modules | |
parent | d6ac94372e37201ea2db8c53e412b095c9957fd3 (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
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/m_chanprotect.cpp | 2 |
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); } |