From 503958aa77382a85a041e195d04b7a2ec51589e3 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 29 Apr 2010 18:56:31 -0400 Subject: Prevent negaitve mode changes, kicks, bans, and autokicks from affecting users with unreal usermode +q or similar --- src/core/cs_ban.c | 4 ++-- src/core/cs_kick.c | 4 ++-- src/core/cs_modes.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'src/core') diff --git a/src/core/cs_ban.c b/src/core/cs_ban.c index bacc8dff8..95c5c6556 100644 --- a/src/core/cs_ban.c +++ b/src/core/cs_ban.c @@ -62,9 +62,9 @@ class CommandCSBan : public Command */ } else if (ModeManager::FindChannelModeByName(CMODE_EXCEPT) && is_excepted(ci, u2)) { notice_lang(Config.s_ChanServ, u, CHAN_EXCEPTED, u2->nick.c_str(), ci->name.c_str()); - } else if (is_protected(u2)) { + } else if (u2->IsProtected()) notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); - } else { + else { char mask[BUFSIZE]; get_idealban(ci, u2, mask, sizeof(mask)); diff --git a/src/core/cs_kick.c b/src/core/cs_kick.c index 9614c8cc3..42059a01b 100644 --- a/src/core/cs_kick.c +++ b/src/core/cs_kick.c @@ -56,9 +56,9 @@ class CommandCSKick : public Command } else if (!is_same && (ci->HasFlag(CI_PEACE)) && (get_access(u2, ci) >= get_access(u, ci))) { notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); - } else if (is_protected(u2)) { + } else if (u2->IsProtected()) notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); - } else if (!c->FindUser(u2)) { + else if (!c->FindUser(u2)) { notice_lang(Config.s_ChanServ, u, NICK_X_NOT_ON_CHAN, u2->nick.c_str(), c->name.c_str()); } else { if (ci->HasFlag(CI_SIGNKICK) || (ci->HasFlag(CI_SIGNKICK_LEVEL) && !check_access(u, ci, CA_SIGNKICK))) diff --git a/src/core/cs_modes.c b/src/core/cs_modes.c index 06e737eff..788c1adac 100644 --- a/src/core/cs_modes.c +++ b/src/core/cs_modes.c @@ -49,7 +49,7 @@ static CommandReturn do_util(User *u, ChannelMode *cm, const char *chan, const c notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); else if (!set && !is_same && (ci->HasFlag(CI_PEACE)) && (get_access(u2, ci) >= get_access(u, ci))) notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); - else if (!set && is_protected(u2) && !is_same) + else if (!set && u2->IsProtected() && !is_same) notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); else if (!c->FindUser(u2)) notice_lang(Config.s_ChanServ, u, NICK_X_NOT_ON_CHAN, u2->nick.c_str(), c->name.c_str()); -- cgit