summaryrefslogtreecommitdiff
path: root/src/chanserv.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/chanserv.c')
-rw-r--r--src/chanserv.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/chanserv.c b/src/chanserv.c
index e011eb077..713aaaf85 100644
--- a/src/chanserv.c
+++ b/src/chanserv.c
@@ -5752,6 +5752,11 @@ static int do_ban(User * u)
u->nick, ci->name);
continue;
}
+ if (is_protected(u)) {
+ notice_lang(s_ChanServ, u, PERMISSION_DENIED);
+ continue;
+ }
+
av[0] = sstrdup("+b");
get_idealban(ci, u, mask, sizeof(mask));
av[1] = mask;
@@ -5802,6 +5807,8 @@ static int do_ban(User * u)
*/
} else if (ircd->except && is_excepted(ci, u2)) {
notice_lang(s_ChanServ, u, CHAN_EXCEPTED, u2->nick, ci->name);
+ } else if (ircd->protectedumode && is_protected(u2)) {
+ notice_lang(s_ChanServ, u, PERMISSION_DENIED);
} else {
char *av[3];
char mask[BUFSIZE];