From 57bc53387d1284eb0a749b77f3ebefb57db44a21 Mon Sep 17 00:00:00 2001 From: pk910 Date: Tue, 28 Jun 2011 22:40:31 +0200 Subject: [PATCH] only ops should be able to set/remove MODE_AUDITORIUM (+u) --- ircd/channel.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ircd/channel.c b/ircd/channel.c index 33cfb82..3f563c3 100644 --- a/ircd/channel.c +++ b/ircd/channel.c @@ -3540,6 +3540,9 @@ mode_parse_mode(struct ParseState *state, ulong64 *flag_p) /* Local users are not permitted to change registration status */ if (flag_p[0] == MODE_REGISTERED && !(state->flags & MODE_PARSE_FORCE) && MyUser(state->sptr)) return; + + if(flag_p[0] == MODE_AUDITORIUM) + audit_chan_users(state, flag_p); if (state->dir == MODE_ADD) { state->add |= flag_p[0]; @@ -3674,10 +3677,6 @@ mode_parse(struct ModeBuf *mbuf, struct Client *cptr, struct Client *sptr, case 'l': /* deal with limits */ mode_parse_limit(&state, flag_p); break; - case 'u': /* deal with not oped members */ - audit_chan_users(&state, flag_p); - mode_parse_mode(&state, flag_p); - break; case 'a': /* deal with limits */ mode_parse_access(&state, flag_p); break; -- 2.20.1