diff options
Diffstat (limited to 'src/regchannel.cpp')
| -rw-r--r-- | src/regchannel.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/regchannel.cpp b/src/regchannel.cpp index 1528a6ce5..a13e47009 100644 --- a/src/regchannel.cpp +++ b/src/regchannel.cpp @@ -215,6 +215,9 @@ bool ChannelInfo::HasPriv(User *u, ChannelAccess priv) { AccessGroup group = this->AccessFor(u); + if (u->SuperAdmin) + return true; + if (this->founder && u->Account() == this->founder) { switch (priv) @@ -257,6 +260,8 @@ AccessGroup ChannelInfo::AccessFor(User *u) if (this->access[i]->Matches(u, nc)) group.push_back(this->access[i]); + group.SuperAdmin = u->SuperAdmin; + return group; } @@ -707,7 +712,7 @@ bool ChannelInfo::CheckKick(User *user) if (!user || !this->c) return false; - if (user->isSuperAdmin) + if (user->SuperAdmin) return false; /* We don't enforce services restrictions on clients on ulined services |
