From c798703113cd96b8925d666f2831d420ee8176d2 Mon Sep 17 00:00:00 2001 From: brain Date: Fri, 21 Mar 2008 20:24:15 +0000 Subject: If the user hasnt sent CAP REQ sasl, do nothing if AUTHENTICATE is sent by that user git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9154 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_sasl.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/modules/m_sasl.cpp b/src/modules/m_sasl.cpp index fda574fb2..0bbe76838 100644 --- a/src/modules/m_sasl.cpp +++ b/src/modules/m_sasl.cpp @@ -30,17 +30,21 @@ class CommandAuthenticate : public Command { if (user->registered != REG_ALL) { - /* Only allow AUTHENTICATE on unregistered clients */ - std::deque params; - params.push_back("*"); - params.push_back("AUTHENTICATE"); - params.push_back(user->uuid); + /* Only act if theyve enabled CAP REQ sasl */ + if (user->GetExt("sasl")) + { + /* Only allow AUTHENTICATE on unregistered clients */ + std::deque params; + params.push_back("*"); + params.push_back("AUTHENTICATE"); + params.push_back(user->uuid); - for (int i = 0; i < pcnt; ++i) - params.push_back(parameters[i]); + for (int i = 0; i < pcnt; ++i) + params.push_back(parameters[i]); - Event e((char*)¶ms, Creator, "send_encap"); - e.Send(ServerInstance); + Event e((char*)¶ms, Creator, "send_encap"); + e.Send(ServerInstance); + } } return CMD_FAILURE; } -- cgit v1.2.3