From d3fb3fd284d0b08c9f4fa48acc0029709685e54a Mon Sep 17 00:00:00 2001 From: brain Date: Mon, 9 Jun 2008 22:57:56 +0000 Subject: 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 --- include/u_listmode.h | 2 +- src/modes/cmode_b.cpp | 2 +- 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 = ""; -- cgit v1.2.3