diff --git a/Changes b/Changes index 72a15e343..6a4e1ca83 100644 --- a/Changes +++ b/Changes @@ -490,3 +490,5 @@ Bugz. - Added missing documentation for spamfilter away target (#0002205) reported by Dukat. - Fixed dcc spamfilter problem reported by TimeFX and Deadalus (#2177, #2204). +- Fixed Oper Override not giving a 'special join notice' if +z is set along with another mode + (eg: +i/+k), reported by tabrisnet (#0001487). diff --git a/src/modules/m_invite.c b/src/modules/m_invite.c index 9af0947f6..a519672b8 100644 --- a/src/modules/m_invite.c +++ b/src/modules/m_invite.c @@ -240,7 +240,22 @@ DLLFUNC CMD_FUNC(m_invite) if (over && MyConnect(acptr)) { - if (is_banned(sptr, chptr, BANCHK_JOIN)) + if ((chptr->mode.mode & MODE_ONLYSECURE) && !IsSecure(acptr)) + { + sendto_snomask(SNO_EYES, + "*** OperOverride -- %s (%s@%s) invited him/herself into %s (overriding +z).", + sptr->name, sptr->user->username, sptr->user->realhost, chptr->chname); + + /* Logging implementation added by XeRXeS */ + ircd_log(LOG_OVERRIDE,"OVERRIDE: %s (%s@%s) invited him/herself into %s (Overriding Secure Mode)", + sptr->name, sptr->user->username, sptr->user->realhost, chptr->chname); + + sendto_one(sptr, ":%s NOTICE %s :The channel is +z and you are trying to OperOverride, " + "you'll have to override explicitly after this invite with the command '/join %s override'" + " (use override as a key) this will set the channel -z and then join you", + me.name, sptr->name, chptr->chname); + } + else if (is_banned(sptr, chptr, BANCHK_JOIN)) { sendto_snomask(SNO_EYES, "*** OperOverride -- %s (%s@%s) invited him/herself into %s (overriding +b).", @@ -295,21 +310,6 @@ DLLFUNC CMD_FUNC(m_invite) sptr->name, sptr->user->username, sptr->user->realhost, chptr->chname); } - else if (chptr->mode.mode & MODE_ONLYSECURE) - { - sendto_snomask(SNO_EYES, - "*** OperOverride -- %s (%s@%s) invited him/herself into %s (overriding +z).", - sptr->name, sptr->user->username, sptr->user->realhost, chptr->chname); - - /* Logging implementation added by XeRXeS */ - ircd_log(LOG_OVERRIDE,"OVERRIDE: %s (%s@%s) invited him/herself into %s (Overriding Secure Mode)", - sptr->name, sptr->user->username, sptr->user->realhost, chptr->chname); - - sendto_one(sptr, ":%s NOTICE %s :The channel is +z and you are trying to OperOverride, " - "you'll have to override explicitly after this invite with the command '/join %s override'" - " (use override as a key) this will set the channel -z and then join you", - me.name, sptr->name, chptr->chname); - } #ifdef OPEROVERRIDE_VERIFY else if (chptr->mode.mode & MODE_SECRET || chptr->mode.mode & MODE_PRIVATE) over = -1;