X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=ircd%2Fchannel.c;h=c311e4e3f8811b8992872556502ceb423510448d;hb=8d3f0571c3983d18c55572796d86e44c1ed89ff0;hp=b264db71fb3051e0d6d2f218ead60c73f4c94d0e;hpb=dfa8f4e034376474d2881b47dc97556e8ca7e650;p=ircu2.10.12-pk.git diff --git a/ircd/channel.c b/ircd/channel.c index b264db7..c311e4e 100644 --- a/ircd/channel.c +++ b/ircd/channel.c @@ -2436,7 +2436,8 @@ mode_parse_upass(struct ParseState *state, int *flag_p) } /* If a non-service user is trying to force it, refuse. */ - if (state->flags & MODE_PARSE_FORCE && !IsChannelService(state->sptr)) { + if (state->flags & MODE_PARSE_FORCE && MyUser(state->sptr) + && !HasPriv(state->sptr, PRIV_APASS_OPMODE)) { send_reply(state->sptr, ERR_NOTMANAGER, state->chptr->chname, "Use /JOIN", state->chptr->chname, " ."); return; @@ -2543,7 +2544,8 @@ mode_parse_apass(struct ParseState *state, int *flag_p) } /* If a non-service user is trying to force it, refuse. */ - if (state->flags & MODE_PARSE_FORCE && !IsChannelService(state->sptr)) { + if (state->flags & MODE_PARSE_FORCE && MyUser(state->sptr) + && !HasPriv(state->sptr, PRIV_APASS_OPMODE)) { send_reply(state->sptr, ERR_NOTMANAGER, state->chptr->chname, "Use /JOIN", state->chptr->chname, " ."); return;