Fix up logic in m_allowinvite: extban A prevents /invite in all cases; channel mode A or extban exception A allow /invite in all cases. Fixes bug #819 reported by Taros.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11281 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
dz 2009-04-02 22:47:01 +00:00
parent 27c1548bca
commit 72c6686ed9

View File

@ -44,7 +44,13 @@ class ModuleAllowInvite : public Module
{
if (IS_LOCAL(user))
{
if (channel->IsModeSet('A') && channel->GetExtBanStatus(user, 'A') < 0)
if (channel->GetExtBanStatus(user, 'A') == -1)
{
// Matching extban, explicitly deny /invite
user->WriteNumeric(ERR_CHANOPRIVSNEEDED, "%s %s :You are banned from using INVITE", user->nick.c_str(), channel->name.c_str());
return 1;
}
if (channel->IsModeSet('A') || channel->GetExtBanStatus(user, 'A') == 1)
{
// Explicitly allow /invite
return -1;