summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 = "";