From 06396fb2b5fce540efc34b71a020dfad08c4e858 Mon Sep 17 00:00:00 2001 From: w00t Date: Mon, 24 Nov 2008 08:58:13 +0000 Subject: Don't check permission to +Q for remote users, probably fixes bug #619 reported by yell0w. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10821 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_invisible.cpp | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'src/modules') diff --git a/src/modules/m_invisible.cpp b/src/modules/m_invisible.cpp index aa69d1b85..c1b2dcc7f 100644 --- a/src/modules/m_invisible.cpp +++ b/src/modules/m_invisible.cpp @@ -59,20 +59,23 @@ class InvisibleMode : public ModeHandler { bool ok = false; - for (int j = 0; j < conf->Enumerate("type"); j++) + if (IS_LOCAL(source)) { - std::string opertype = conf->ReadValue("type","name",j); - if (opertype == source->oper) + for (int j = 0; j < conf->Enumerate("type"); j++) { - ok = conf->ReadFlag("type", "canquiet", j); - break; + std::string opertype = conf->ReadValue("type","name",j); + if (opertype == source->oper) + { + ok = conf->ReadFlag("type", "canquiet", j); + break; + } } - } - if (!ok) - { - source->WriteNumeric(481, "%s :Permission Denied - You do not have access to become invisible via user mode +Q", source->nick.c_str()); - return MODEACTION_DENY; + if (!ok) + { + source->WriteNumeric(481, "%s :Permission Denied - You do not have access to become invisible via user mode +Q", source->nick.c_str()); + return MODEACTION_DENY; + } } dest->SetMode('Q', adding); -- cgit v1.2.3