summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-06-09 22:57:56 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-06-09 22:57:56 +0000
commitd3fb3fd284d0b08c9f4fa48acc0029709685e54a (patch)
tree8892cd16d4b9ab5d447511a1604458f4724c3fdf
parentf15b86c6187a460b92d3677f91bc194134dec5be (diff)
Something we can do in 1.2 that we cant really do neatly in 1.1 - allow for the channel list sizes to be enforced only locally
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9882 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--include/u_listmode.h2
-rw-r--r--src/modes/cmode_b.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/include/u_listmode.h b/include/u_listmode.h
index 852d5ac2b..cad52fc12 100644
--- a/include/u_listmode.h
+++ b/include/u_listmode.h
@@ -288,7 +288,7 @@ class ListModeBase : public ModeHandler
{
// We have a pattern matching the channel...
maxsize = el->size();
- if (maxsize < it->limit)
+ if (IS_LOCAL(source) || (maxsize < it->limit))
{
/* Ok, it *could* be allowed, now give someone subclassing us
* a chance to validate the parameter.
diff --git a/src/modes/cmode_b.cpp b/src/modes/cmode_b.cpp
index 157b3b35c..305c91ea4 100644
--- a/src/modes/cmode_b.cpp
+++ b/src/modes/cmode_b.cpp
@@ -108,7 +108,7 @@ std::string& ModeChannelBan::AddBan(User *user, std::string &dest, Channel *chan
return dest;
long maxbans = chan->GetMaxBans();
- if ((unsigned)chan->bans.size() > (unsigned)maxbans)
+ if (!IS_LOCAL(user) && ((unsigned)chan->bans.size() > (unsigned)maxbans))
{
user->WriteServ("478 %s %s :Channel ban list for %s is full (maximum entries for this channel is %ld)",user->nick.c_str(), chan->name.c_str(), chan->name.c_str(), maxbans);
dest = "";