inspircd / inspircd-contrib

Third-party InspIRCd module repository.
https://www.inspircd.org
66 stars 72 forks source link

m_blockinvite does NOT block invites to +A (allowinvite) chans #191

Closed KoraggKnightWolf closed 5 years ago

KoraggKnightWolf commented 5 years ago

Description

When a user has user mode +V set and is invited by any user to a +A channel the user mode +V does NOT block the invite.

Steps to reproduce the issue:

  1. Set a user connection to +V (/mode $nick +V)
  2. Have another non oper (or one who may not bypass the mode via users/override-blockinvite) set +A on a channel (mode $chan +A)
  3. Have the user from step 2. /INVITE the user from step 1. to the channel created and set +A in step 2.
  4. Observe on the user from step 1. that despite being invited by a regular user (or a non +V exempted oper) the invite is NOT blocked, but received as if +V were not set.

Describe the results you received:

The /INVITE was received as if umode +V were not set despite coming from a non opered user (or non umode +V exempted oper)

Describe the results you expected:

The /INVITE should have been blocked due to umode +V as it was sent by a regular non oper (or non umode +V exempted oper)

Additional information you deem important (e.g. issue happens only occasionally):

This issue requires the channel mode +A/the m_allowinvite.so module to be reproduced (shipped with InspIRCd by default).

Output of ./bin/inspircd --version:

InspIRCd-2.0.27 r0

SadieCat commented 5 years ago

This is most likely caused by the module not prioritising itself in front of m_allowinvite.

cc: @genius3000

genius3000 commented 5 years ago

Apologies on the delay with this fix. I actually had it done much earlier but with a typo, so it didn't work and I didn't have time to investigate (as I didn't see my typo). Sometimes it's the simple things that get ya. :smile: