diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-06-09 22:57:56 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-06-09 22:57:56 +0000 |
commit | d3fb3fd284d0b08c9f4fa48acc0029709685e54a (patch) | |
tree | 8892cd16d4b9ab5d447511a1604458f4724c3fdf | |
parent | f15b86c6187a460b92d3677f91bc194134dec5be (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.h | 2 | ||||
-rw-r--r-- | 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 = ""; |